以下是个人总结的一些常用操作方法、命令和指令。
常用的命令:
d0 表示删除从当前光标到光标所在行首的内容
y$ 表示拷贝从当前光标到光标所在行尾的内容
d$ 表示删除从当前光标到光标所在行尾的内容
yfa 表示拷贝从当前光标到光标后面的第一个a字符之间的内容
dfa 表示删除从当前光标到光标后面的第一个a字符之间的内容
yy 表示拷贝光标所在行
dd 表示删除光标所在行
D 表示删除从当前光标到光标所在行尾的内容
gg 表示光标到第一行
G 表示光标到结尾
h 表示向左
j 表示向下
k 表示向上
l 表示向右
H 表示跳到屏幕的顶上
M 表示跳到屏幕的中间
L 表示跳到屏幕的下方
^ 表示到行首
$ 表示到行尾
:s /search/replace/g 表示把当前光标所处的行中的search替换成replace,并把所有search高亮显示;
:s /search/replace/gc 表示把当前光标所处的行中的search替换成replace,并把所有search高亮显示,c表示提示;
:s //replace 表示替换之前查找过的内容为replace
:%s /search/replace 表示把文档中所有search替换成replace;
:#,# s /search/replace/g 表示#号表示数字,表示从多少行到多少行,把search替换成replace;
:s /^/#/g 表示在当前行之前加上#,如果是转义字符,使用\,比如\/
:%s /\s\+$// 表示删除每行后面多余的空格
:ls 表示查看缓冲区
:only 表示关闭除自己以外的其它窗口
:tabnew 表示新建一个空白的标签页
:tabe(dit) 表示在新的标签页中编辑一个文件
:ball 表示打开所有缓冲区的文件
:bn 表示切换到上一个缓冲区文件
:bp 表示切换到下一个缓冲区文件
:bd(elete) 表示将当前文件冲缓冲区中删除
:b1 表示打开缓冲区第一个文件,依此类推
:e#1 表示编辑缓冲区第一个文件,依此类推
:retab 表示将制表符转换为空格
:gD 表示跳转到局部变量的定义处
viw 表示选择光标所在的单词
yiw 表示复制光标所在的单词
Ctr + o Ctrl + o 表示打开上次编辑的文件
关闭窗口 Ctrl + W + C,命令方式是:close
打开折叠 打开当前折叠:zo,打开所有折叠:zR
关闭折叠 关闭当前折叠:zc,关闭所有折叠:zM
窗口跳转 Ctrl + W + W,Ctrl + W + h|j|k|l表示分别切换到左下上右
关闭窗口 Ctrl + W + C
文件切换 Ctrl + ^
代码提示 Ctrl + X->Ctrl + O
括号匹配 %
行选模式 Shift + V
块选模式 v->Shift
块选模式 V->Shift,包括所在光标的整行
单行缩进 Shift + ,,和Shift + ..
多行缩进 选中行之后,输入2,再按Shift+.,表示向右缩进2次
区块缩进 Shift + , + %和Shift + . + %
复制内容 在要复制的区域开头按v,然后按Shift不放,按光标移动键到复制区域的末尾,按y,GVim模式下直接使用Ctrl + C
粘贴内容 按p,粘贴到当前光标之后;按P,粘贴到当前光标之前
查找内容 /word,word为被查找的内容
向下查找 n
向上查找 N
单词大写 gUw或者gUe
单词小写 guw或者gue
跳转到行 10gg或10G,跳到第10行
列选模式 在列头按Ctrl + Q,然后用J移动到列尾,如按d表示剪切,如果按y表示复制
自动缩进 按v选定后按=就是自动格式化代码,自动缩进,内部的递归的缩进都做到了
设置书签 :mx x只能是a-z的26个字母
跳转书签 ~x 跳转到书签处
定义跳转 先用ctags刷新tag,然后按Ctrl + ]跳转到函数定义的地方,Ctrl + T返回跳转的地方
快速查找 #快查向上查找当前光标所在的单词,*快速向下查找当前光标所在的单词
删除整行 dd
复制整行 yy
安装插件 Windows为:helptags $VIM/vimfiles/doc,Linux为:helptags ~/.vim/doc)
刷新配置 Windows为:so $VIM/_vimrc,Linux为:so ~/.vimrc
折叠符号 VIM专用折叠起始符号{{{,结束折腾符号}}}
改变编码 :set fileencoding=utf-8或者:set fileencoding=gbk
改变格式 :set fileformat=dos或者:set fileformat=unix