文本编辑器VIM
#vim [option] FILE1…
输入模式:
i:在当前光标所在处进行插入 I:在行首进行插入
a:在当前光标所在处后插入 A:在行尾进行插入
o:在当前光标所在行下方打开一个新行 O:在光标所在行的上方打开一个新行
编辑模式:
保存退出 :wq 或者 ZZ ,:wqall (保存多个文件) , :w!强行保存
不保存退出: :q :q! :qwall!
光标的移动:
h 左移
j 下移
l 右移
k 上移
w 调至下一个单词词首
e < - - >b 词首 —— 词尾
() 跳一个句子
{} 跳一个段落
^ 当前行行首 ; 0 绝对行首
$ 跳至行尾
行间跳转:
G 跳至最后行 ; #G 跳至第#行 ; gg 跳至首行
Ctrl + f -- ctrl + b 翻整屏
Ctrl + d -- ctrl + u 翻半屏
拷贝、删除、粘贴:
在 vim 中 y 表示拷贝, d 表示删除, p 表示粘贴. 其中拷贝与删除是与光标移动命令
结合的
yw 表示拷贝从当前光标到光标所在单词结尾的内容.
dw 表示删除从当前光标到光标所在单词结尾的内容.
y0 表示拷贝从当前光标到光标所在行首的内容.
d0 表示删除从当前光标到光标所在行首的内容.
y$ 表示拷贝从当前光标到光标所在行尾的内容.
d$ 表示删除从当前光标到光标所在行尾的内容.
yfa 表示拷贝从当前光标到光标后面的第一个a字符之间的内容.
dfa 表示删除从当前光标到光标后面的第一个a字符之间的内容.
yy 表示拷贝光标所在行.
dd 表示删除光标所在行.
D 表示删除从当前光标到光标所在行尾的内容.
5w(e) 移动光标到下五个单词.
5yy 表示拷贝光标以下 5 行.
5dd 表示删除光标以下 5 行.
y2fa 表示拷贝从当前光标到光标后面的第二个a字符之间的内容.
:12,24y 表示拷贝第12行到第24行之间的内容.
:12,y 表示拷贝第12行到光标所在行之间的内容.
:,24y 表示拷贝光标所在行到第24行之间的内容. 删除类似.
r 表示转换替换字符
R 表示进入到替换模式
crtrl + r 表示撤销刚才的撤销操作
u 表示撤销操作
. 表示重做上一步命令
p 表示粘贴到光标所在行的下一行
替换:
:s/aa/bb/g 将光标所在行出现的所有包含 aa 的字符串中的 aa 替换为 bb
:s/\<aa\>/bb/g 将光标所在行出现的所有 aa 替换为 bb, 仅替换 aa 这个单词
:%s/aa/bb/g 将文档中出现的所有包含 aa 的字符串中的 aa 替换为 bb
:12,23s/aa/bb/g 将从12行到23行中出现的所有包含 aa 的字符串中的 aa 替换为 bb
:12,23s/^/#/ 将从12行到23行的行首加入 # 字符
:%s= *$== 将所有行尾多余的空格删除
:g/^\s*$/d 将所有不包含字符(空格也不包含)的空行删除.
/word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可
:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 ! eg:在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则 :100,200s/vbird/VBIRD/g