一般编辑
输入或取代
i
:从目前光标所在处输入I
:在目前所在行的第一个非空格符处开始输入a
:为光标所在的下一个字符处开始插入A
:行尾插入o
:在目前光标所在的下一行处输入新的一行O
:在目前光标所在处的上一行输入新的一行>
:缩进>n
:缩进n行
<
:反缩进Esc
:退出编辑模式,回到一般模式中
取代或删除输入
r
:只会取代光标所在的那一个字符一次R
:会一直取代光标所在的文字,直到按下ESC
为止s
:删字符插入S
:删行插入c
:和d一样,但是进入编辑模式
其他
crtl+a
:光标所在处数字+1~
:转换光标所在字符的大小写J
:将光标所在行与下一行的数据结合成一行
光标移动
行内移动
h
或←
:向左移动一个字符2←
:向左移动2个字符
l
或→
:向右移动一个字符0
或Home
或|
或^
:行首$
或End
:行尾
词间移动
w
:下一个符号分隔的单词词首- 结合其他指令处理下一个词,比如
dw
,可以删除单词,yw
可以复制单词
- 结合其他指令处理下一个词,比如
e
:下一个符号分隔的单词词尾b
:上一个符号分隔的单词词首W
:下一个空格分隔的单词词首E
:下一个空格分隔的单词词尾B
:上一个空格分隔的单词词首
行间移动
space
:向右移动一个字符n+space
,移动n个字符,不限于行内
k
或↑
:向上移动一个字符j
或↓
:向下移动一个字符30↓
或30j
:向下移动30行
-
:上一行行首enter
或+
:向下移动至行首30enter
或30+
,向下移动30行行首
H
:光标移动到该页首行行首M
:光标移动到该页中间行行首L
:光标移动到该页末行行首G
:移动到文件最后一行(常用)20G
,移动到文件的第20行gg
,移动到第一行=1G
段间移动
(
:上一段首)
:下一段首{
:上一段首空行}
:下一段首空行
翻页
ctrl+f
或pagedown
:屏幕向下移动一页ctrl+b
或pageup
:屏幕向上移动一页ctrk+d
:屏幕向下移动半页ctrl+u
:屏幕向上移动半页
搜索替换
/word
:向下寻找word?word
:向上寻找n
:重复查找N
:反向查找:n1,n2s/word1/word2/g
:在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2- n2用
$
代表结尾,则:1,$s/word1/word2/g
代表全文中替换,也可以用:1,%s/word1/word2/g
g
用gc
时可以确认是否取代
- n2用
同时查找多个关键词
1
2
3
4
5?\<Ce\>\|\<C.f1\>\|\<Sc\>
/string1 \| string2
查找同一行包含两个关键词的内容
1
/keyword1.*keyword2
删除d
x
或者delete
:向后删除2x
:向后删除2个字符
X
或backspace
:向前删除d
:dd
:删除一行。20dd
:删除20行d$
:删除至行尾=D
d0
:删除至行首d1G
: 删除光标所在到第一行的所有数据dG
:删除光标所在到最后一行的所有数据: 1,10d
:删除第一行到第十行dfc
:删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容daw
:删除光标所在的一个单词
可视化
v
:可视V
:行可视ctrl+v
:块可视
复制粘贴
复制y
yy
或Y
:复制游标所在的那一行(常用)20yy
:向下复制20行
y$
:复制光标所在的那个字符到该行行尾的所有数据y0
:复制光标所在的那个字符到该行行首的所有数据y1G
:复制游标所在行到第一行的所有数据yG
:复制游标所在行到最后一行的所有数据
粘贴p
p
:将已复制的数据贴在光标下一行P
:贴在游标上一行
其他动作
u
:撤销命令U
:撤销行内命令ctrl+r
重做上一个动作。【与撤销相反】.
:重复前一个动作的意思。 比如重复删除、重复贴上等等动作
退出Vim
:w
:保存:w!
:强制保存:q
:退出:q!
:强制退出:wq
储存后离开:wq!
为强制储存后离开ZQ
:不保存退出ZZ
:保存退出:w [filename]
:另存为:r [filename]
:读取另一个文档的内容,内容追加到光标所在行之后:n1,n2 w [filename]
:将 n1 到 n2 的内容储存成 filename 这个档案:! command
:暂时离开 vi 到指令行模式下执行 command 的显示结果
vim 环境的变更境的变更
:set nu
:显示行号,设定之后,会在每一行的前缀显示该行的行号:set nonu
:与 set nu 相反,为取消行号
可以直接vim ~/.vimrc
,然后添加set nu
,默认是有行号的
管理命令
:vs 路径/文件名
:同时再打开另外的一个文件,通过ctrl ww
使得光标在两个文件间切换;两个文件是左右并排显示的。:sp 路径/文件名
:同时再打开另外的一个文件,通过ctrl ww
使得光标在两个文件间切换;两个文件是上下并排显示的。