三种模式:
移动
移动到一行的行首:+
移动到上一行的行首:-
移动到下一行的行首:Enter
移动到一行的行尾:$.
ctrl+d:往下移动半页
ctrl+b:往上移动半页。
vim中,移动光标到下一个单词的词首,使用命令”w“,移动光标到上一个单词的词首,使用命令”b“;移动光标到下一个单词的结尾,用命令”e“,移动光标到上一个单词的结尾,使用命令”ge“。
另存为文件:
i/a:
o/O:
多文件:
读入另一个文件的内容:
wqa
同时打开多个文件: vim -p *
vim还没有启动的时候:
- .在终端里输入
vim file1 file2 … filen 便可以打开所有想要打开的文件 - .vim已经启动
输入
:e filename
可以再打开一个文件,并且此时vim里会显示出file文件的内容。
shift+k,打开man
:w 后面加上文件名字,就能把当前的编辑内容另存到其他文件中去
vim多行缩进或缩出方法二
按v进入visual状态,选定多行,用>缩进,用<缩出
补全

https://www.cnblogs.com/geaozhang/p/6734061.html
vim配置文件:
/etc/vimrc,针对所有用户使用
复制一份至自己的家目录,命名为.vimrc,修改里面的配置,只针对自己使用
对齐
自动对齐:(gg=G)
在命令模式下(即非“插入”等编辑模式),先输入gg,这时候光标会移动到第一行第一个字符,然后按 “=” 号之后切换成大写,再按一下G,这时候光标会移到最后一行的第一个字符,这时候就可以看到代码被排得整整齐齐了!
“gg”将光标移动到代码首部,”=”表示对齐指令,”G”表示代码尾部,所以执行”gg=G”后,该文件的所有代码都将对其
如果只需要将一部分代码对齐,可以先用”v”选中要对齐的代码块,然后按”=”进行对齐.
man跳转
命令模式下,shift+k,直接跳到man手册上,按qq返回原来位置。如果重名,即有命令,又有库函数,则无法很好跳转。
撤销重做
u:恢复前一个操作
ctrl+r:重做上一个操作
括号匹配
括号匹配:用%可以让光标从它当前所在的括号跳转到与它相匹配的括号上云,对花括号和圆括号,方括号都有效,常用于手工检查括号是否匹配。
文字段落:有时候一段一段的移动游标会比较方便,我们可以用{,},(,)来达到这些功能。
{(左大括号):跳到上一段的开头。
}(右大括号):跳到下一段的开头
((左小括号):移到这个句子的开头。
)(右小括号):移到下一外句子的开头。
[[跳往上一个函式
]]跳往下一个函式
vim跳转到函数定义处
跳转到函数定义处,首先需要有tag文件,生成tag文件的方式为:
在要包含所有代码的目录(其实可以直接在根目录)执行:
ctags -R
然后用vim打开代码,在任意一个调用函数的行,把光标放在被调用的函数名上,摁下组合键:
Ctrl + ]
即可跳转到该函数的定义处。
如果要调回刚才看的地方,只要再摁下组合键:
Ctrl + o
就可以了!