移动
h:光标左移1格。
l:光标右移1格。
j:光标下移1行。
k:光标上移1行。
滚屏
ctrl+F:窗口向下滚动一屏。
ctrl+B:窗口向上滚动一屏。
ctrl+D:窗口向下滚动半屏。
ctrl+U:窗口向上滚动半屏。
编辑
i:在光标之前插入文本。(esc退出)
a:在光标之后插入文本。
o:在当前行的下面插入一行。
O:在当前行的上面插入一行。
删除
dd:删除当前行。
d$或D:删除从当前位置直到行尾的内容。
dG:删除光标以下的所有行。
dgg:删除光标以上的所有行。
修改
~:修改当前字符的大小写。(u撤销)
u:恢复上一次的操作。
ctrl+R:撤销对恢复的操作。
J:将下一行的内容接到前一行的尾部。
复制粘贴
yy:复制光标所在的一行。
p和P:p将复制的内容粘贴到光标下一行,P将已复制的内容粘贴到光标的上一行。
y¥:复制光标所在的字符到该行行尾的所有数据,分别用p和P粘贴到光标的后面和前面。
查找
/word:查找word
按键n:重复前一个搜寻动作,继续向下搜寻。
按键N:向上搜寻。
把光标放在某个单词上,然后摁*,可查找该单词。
把光标放到某个单词上,然后按#,可反向查找这个单词。
/^the:使匹配在行首出现的字符串。
/the$:匹配行尾出现的字符串。
精确查找某个单词:
a)\<:匹配单词的开头
b)\>:匹配单词的结尾
c)如果要匹配一个完整的单词the,需要输入/\<the>如果只输入/the,可能会找到there等
/CK?:匹配字符串CK?。前面要加一个转义特殊字符\,如:/CK\?
替换
:s/old/new:将当前行中遇到的第一个old替换为new。
:s/old/new/g:当前行中的所有old替换为new。
:%s/old/new:将当前行中遇到的第一个old替换为new。
:%s/old/new:将所有行中遇到的第一个old替换为new。
:%s/old/new/g:将所有行中遇到的old替换为new
:%s/^/ /g:将所有行的行首插入一个空白字符。
:%s/^/aaa/g:将所有行的行首插入aaa。
:g/^\s*$/d:删除所有空行。
:%!sed G:每行后增加一行空行。
历史记录
在命令行模式下输入斜杠/,然后再按上下键就可以重复使用上次关于以斜杠/输入的命令。
在命令行模式下输入冒号:,然后再按上下键就可以重复使用上次关于以冒号:输入的命令。
环境变更
:set nu:显示行号。
:set nonu:取消显示行号。
:syntax on(off):语法高亮
保存和退出
:W:将编辑和数据写入硬盘文档
:q:退出vi
!:在vi中表示强制
:wq:保存后离开
:wq!:强制保存后离开
配置文件vimrc
可以修改home文件夹下~/.vimrc文件的内容,如:
syntax on
set number
保存后退出,再次进入vim可见已经实现语法的高亮和行号显示