插入命令
i 光标前一个字符插入
I 当前行最前面插入
a 光标后一个字符插入
A 当前行末尾处插入
o 光标下一行插入
O 光标上一行插入
定位命令
hjkl 对应的为 ←↓↑→ 即 h← j↓ k↑ l→
H 光标移动到当前页的顶端
M 光标移动到当前页的中间
L 光标移动到当前页的底端
0 光标移到行首
$ 光标移到行尾
0$和AI的区别 0和$将光标移动到行首或行尾后 还是处于命令模式
A和I将光标移动到行首或行尾后 已经进入和插入模式
:set nu(:set number的缩写) 设置行号
:set nonu 取消行号
gg 到第一行
G 到最后一行
nG 到第n行 用:n可以实现同样的效果 推荐用:n 如到54行 :54
删除命令
x 删除光标所在处字符
nx 删除光标所在处后n个字符
dd 删除光标所在行 ndd删除n行
dG 删除光标所在处到整个文件的末尾处的内容
D 删除从光标所在处到行尾
:n1,n2d 删除指定范围的行
复制和剪切命令
yy或者Y 复制当前行
nyy或者nY 复制当前行以下N行
dd 剪切当前行
ndd 剪切当前行以下N行
p 粘贴在当前行下一行
P 粘贴在当前行上一行
替换和取消命令
r 取代光标所在处字符
R 从光标处开始替换字符 按Esc取消
u 取消上一步操作
搜索和替换命令
/string 搜索某个字符 按n向后查找 N向前查找 :set ic 忽略大小写
:%s/old/new/g 替换字符命令
替换最后一个参数 g 不用询问确认 c 需要询问确认
:n1,n2s/old/new/g 在一定范围内替换字符串
保存和退出命令
:w 保存
:w new_filename 另存为
:wq 保存并退出
ZZ 保存并退出
:q! 不保存修改退出
:wq! 保存修改并退出(文件所有者可以忽略文件只读的属性)
vim编辑器的使用技巧
:r 文件名 将文件中的内容输入到文本中
:! 命令 直接在打开文本的情况下执行命令
:r和:!可以联合使用
:r !命令 可将命令执行的结果输入到文本中
如 :r !date 将时间输入到文本中
定义快捷键(~为ctrl+v)
:map ~p I#
:map ~c 0x 清除当前行第一个字符 一般用于删除注释
连续注释
:n1,n2s/^/#/g 在n1到n2行的最前面加上#
:n1,n2s/^#//g 取消n1到n2行最前面的#
:n1,n2s/^/\/\// 在n1到n2行前面加上// 注意转译符
替换
:ab myname niubi 输入myname的时候输出niubi
每次在命令模式下设置的:set nu 或者快捷键等在文件重新打开会失效,想要永久的生效需要在~/.vimrc中写入
~代表家目录 root的家目录为/root 一般用户的家目录为/home/username