i : 插入,esc退出编辑 同o,a。
q : 退出,q!强制退出w : 保存
wq : 保存并退出
e!: 放弃所有修改并打开源文件
dd : 删除一行
x : 删除一个字符
v : 进入可视化
d : 剪切
y : 复制,yy复制当前行
p : 粘贴
u : 撤销
ctrl+r : 撤销撤销操作
e : 跳到单词末尾
b : 跳到单词首部
g : 跳到文件首部
shift + g 跳到文件尾部
替换命令:
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g 功能同上
查找命令:
/word word就是要查找的单词,这是正序找的。
?word 倒叙查找
折叠命令:
zf-创建折叠
zf20G--创建折叠,从当前行折叠到第20行
zfgg--创建折叠,从当前位置折叠到文件头,非常适合编程的时候隐藏文件顶部的头文件包含,源文件注释
取消折叠: z + shift+r(全文中的)
z + o (取消一个函数)
将光标移动到要检索的词组上,按住shift+3,就会高亮并检索该词组,按n查找下一个。
多行注释:
ctrl + v
选中后
shift + i
shift + #
ESC
vimdiff test1 test2
比较两个文件哪里不一样。红色部分显示。
vsplit 左右分屏
split 上下分屏
ctrl+w w上下跳屏
--不如tmux好用,这个主要是用ctrl+w w切换代码与异常界面用
text 查找text,按n健查找下一个,按N健查找前一个。?text 查找text,反向查找,按n健查找下一个,按N健查找前一个。
vim中有一些特殊字符在查找时需要转义 .*[]^%/?~$
:set ignorecase 忽略大小写的查找
:set noignorecase 不忽略大小写的查找
查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相 当于/搜索。而#命令相当于?搜索。
:set hlsearch 高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。
:set nohlsearch 关闭高亮搜索显示
:nohlsearch 关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。
:set incsearch 逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。
:set wrapscan 重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。
还有就是经常是用vim打开了某个/etc下的文件,使用 :w 保存的时候提示 'E45: 'readonly' option isset (add ! to override)',而 :w! 则提示 'E212: Can't open file forwriting'。