有三种不同的viusal mode,分别是:按v键进入character visual mode,按V键进入line visual mode,按CTRL-V进入visual block mode,这三种mode之间可以互相切换,要退出viusal mode就按<ESC>
在visual mode下,按>可以将选中的行进行缩进,按<可以反方向缩进,按=则会根据程序信息自动缩进
按下K则会用man命令查找所选文本
在visual block mode中,某些命令的执行有些不同
按下I后会在所选矩形的左边开始插入文本,插入完毕后按<ESC>,这样所选的每一行都会插入相同的内容
对于c,C,R,A等也有同样的效果
按下r后再按一个字符则会把所有选定的字符都替换掉
vim能够在C或C++程序里定位到函数的定义部分,函数定义的位置存储在一个名为tags的文件中的一张表中,这个文件是由一个叫ctags的程序产生的,要生成tags文件就在命令行中执行ctags *.c
:tag function 可以跳转到某个函数的定义处
:stag function 将屏幕分割,另一半用于显示指定函数的定义
CTRL-] 跳转到光标所在函数的定义处
CTRL-W] 将屏幕分割,另一半用于显示光标所在函数的定义
:tags 列出你所跳转到的一系列tag
CTRL-T 回到上一个tag处
:tag 去往下一个tag处
:tselect 后面接一个名字,或者要以/开头的正则表达式,用来搜索有关的tag,得到一个搜索结果的列表
g] 对当前光标所在的标识符执行:tselect
:tnext 去往下一个tag
:tprevious或:tNext 去往上一个tag
:tfirst 去往第一个tag
:tlast 去往最后一个tag
:set list 使vim显示文件中的特殊字符,例如tab会显示^I,每行最后会显示$