Vim编辑器的基本用法
一般模式切换到插入模式的命令
一般模式切换到插入模式的命令:iao|IAO
- i 进入编辑模式(默认在选定字符前插入)
- a 在选定字符后插入字符
- o 在当前行下添加新行
- I 在当前行首进入编辑模式
- A 在当前行末进入编辑模式
- O 在当前行上添加新行
关于一般模式和末行模式的切换:
- ESC 退出编辑模式
- : 末行模式
末行模式下的退出命令
末行模式下的退出命令:
- :wq 保存并退出
- :q! 不保存退出,在修改过文件的情况下使用该命令不会保存
- :q 在没有动过文件情况下退出
在一般模式下输入ZZ
(大写)保存并退出编辑器
移动光标
h左 j下 k上 l右
5j向下移动5行,5K 向上移动5行
gg:光标移动到文档开头
G :光标移动到文件末尾
3G:光标移动到第三行
56G:光标移动到第56行
End光标移到行尾
Home键光标行首
翻页
ctrl-f 向下翻页 forward
ctrl-b 向上翻页 backward
删除内容
dd 删除整行
D 删除光标所在位置到行尾
dG 删除光标到文件的最后一行
3dd 删除光标所在行至后面的2行,共删除3行
x 删除光标位置字符
3x 删除光标开始3个字符
复制粘贴
yy 复制1行
yw 复制单词
nyy 复制n行,n是数字 复制从光标所在行开始的N行,一般在5行以内非常直观的数字时使用的比较多
p 粘贴 paste
小写p 粘贴到光标所在行的下一行
大写P 粘贴到光标所在行的上一行
撤销
u:撤销 undo
ctrl+r:重做 操作结束后使用u退回到上次操作,则ctrl+r重做,抵消一次u的撤销
设置
set:设置
:set nu number 显示行号
:set nonu nunumber 取消行号的显示
:set readonly 设置只读
查找替换
:/after 搜索
n向下搜索,N 向上搜索
在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找
例如,/foo\c
将会查找所有的"foo"、“FOO”、"Foo"等字符串。
:s
(substitute)**命令用来查找和替换字符串。**语法如下:
:{作用范围}s/{目标}/{替换}/{替换标志}
- 替换当前行第一个 vivian为sky:
:s/vivian/sky/
- 替换当前行所有 vivian为sky :
:s/vivian/sky/g
- 当前行.与接下来两行+2:
:.,+2s/vivian/sky/g
- 替换第 n 行开始到最后一行中,每一行的第一个vivian为sky:
:n,$s/vivian/sky/
- 替换第 n 行开始到最后一行中,每一行所有vivian为sky,这里n为数字,若n为
.
,表示从当前行开始到最后一行::n,$s``/vivian/sky/g
- 替换每一行的第一个vivian为sky:
:%s/vivian/sky/
- 替换每一行中所有 vivian为sky:
:%s/vivian/sky/g
- 替换每一行中所有 vivian为sky,且忽略大小写:
:%s/vivian/sky/gi
g:一行内全部替换
i:忽略大小写
通用符号
n
:行号
.
:当前光标行
+n
:偏移n行
$
:末尾行,-3
%
:全文
比如,d代表删除,那么:
:%d
删除全文 ,或:.,$d
也是删除全文:.,$-1d
从当前行删除到倒数第二行:.,$0d
从当前行删除到文章末尾:.,+3d
从当前行再往下数三行删除:.,13d
从当前行到第13行删除
比如,y代表复制,那么:
:.,$-1y
赋值从当前行到倒数第二行:.,$0y
赋值从当前行到文章末尾:.,+3y
复制从当前行再往下数三行
其它
:!ls /etc/…
可以在vim下执行Shell命令,可以执行任何命令。