首页 > 代码库 > Linux下vim(文本编译器)的使用

Linux下vim(文本编译器)的使用

vim (文本编译器):

Vim是从 vi 发展出来的一个文本编辑器。

技术分享

 

vim的一些命令操作:

插入命令:

a在光标所在字符后插入
A在光标所在行尾插入
i在光标所在字符前插入
I在光标所在行首插入
o在光标下插入新行
O在光标上插入新行

 

 

 

 

 

定位命令:

:set nu(number)设置行号
:set nonu取消行号
gg跳到第一行
G跳到最后一行
nG跳到第n行
:n跳到第n行
$移至行尾
0移至行首

 

 

 

 

 

 

删除命令:

x删除光标所在处字符
nx删除光标所在处后n个字符
dd删除光标所在行
ndd删除n行
dG删除光标所在行到文件末尾的内容
D删除光标所在行到行尾内容
:n1,n2d删除指定范围的行

 

 

 

 

 

复制和剪切命令:

yy复制当前行
nyy复制当前行以下n行
dd剪切当前行
ndd剪切当前行以下n行

p or P

粘贴在当前光标所在行 下面 or 上面

 

 

 

 

 

替换取消和搜索命令:

r取代光标所在处字符
R从光标所在处开始替换,摁esc结束
u取消上一步操作
/string搜索指定字符串(:set ic)忽略大小写
n搜索指定字符串的下一个出现位置
:%s/old/new/g全文替换指定字符串(/g可替换为/c)替换前询问
:n1,n2s/old/new/g在一定范围内替换指定字符串

 

 

 

 

 

 

保存和退出命令:

:w保存修改
:w new filename 另存为指定文件
:wq保存修改并退出
ZZ快捷键,保存修改并退出
q!不保存修改退出
wq!强制保存修改并退出(文件所有者或root)可使用

 

 

 

 

 

移动光标(编辑模式)

1、逐字符移动:

    h: 左

    l: 右

    j: 下

    k: 上

    #h: 移动#个字符

2、以单词为单位移动

    w: 移至下一个单词的词首

    e: 跳至当前或下一个单词的词尾

    b: 跳至当前或前一个单词的词首

    #w: 移动#个单词

3、行内跳转:

    0: 绝对行首

    ^: 行首的第一个非空白字符

    $: 绝对行尾

4、行间跳转

    #G:跳转至第#行

    gg: 第一行

    G:最后一行

5、末行模式

    .: 表示当前行

    $: 最后一行

    #:第#行

    +#: 向下的#行

 

vim的一些使用技巧:

导入命令执行结果:  

:r !命令
例如:
:r 文件名
:r /etc/issue    将/etc/issue中的内容导入到光标所在位置。
:!which 命令   查看命令路径
:r !date      将当前时间导入光标所在位置


定义快捷键:

map 快捷键 触发命令
例如:
 定义快捷键 注释一行内容
:map ^p(ctrl + v + p) I#<ESC>
删除注释
:map ^B 0x


连续行注释:
:set nu
:n1,n2s/^/#/g (^表示行首)
删除注释
:n1,n2s/#//g  (删除所有以#开始的行删除  包括行内的#)
:n1,n2s/^#//g (只删除行首的#)

特殊:增加两个//字符
:n1,n2s/^/\/\//g  行首加//字符


替换:
ab a b   输入a之后将a替换为b
例如:
ab mymail jhajdf@163.com  输入mymail之后将mymail替换为后面的邮箱


所有的快捷键都可以提前写入配置文件内方便使用:(有可能不存在)
root : /root/.vimrc
普通用户: /home/username/.vimrc

 

 

Linux下vim(文本编译器)的使用