编辑:
撤消和重做: u和 CTRL-R(重做)来反转撤消的动作
退出:ZZ。该命令保存当前文件并退出Vim
放弃编辑::e! 命令放弃所有修改并重新载入该文件的原始内容
用";"来重复命令。以","也是重复同样的命令,但是方向与原命令的方向相反
"d4w"命令是删除4个word.如果光标位于一个单词的中间而你要删除这个单词,通常你需要把光标移到该单词的开头然后用"dw"命令.类似的使用"y"就是yank命令
"d$"命令就是删除自当前光标到行尾的内容
"."命令会重复上一次做出的改动。
yy命令复制光标所在行。"y2w"命令复制两个word,注意"yw"复制的内容中包括了word之后的空白字符。如果你不想要它们,那就用"ye"
p命令粘贴,也可以粘贴用dd删除的行
移动:
"w"命令可以将光标向前移动一个word
"b"命令则将光标向后移动到前一个word的首字符上
以匹配一个括号为目的的移动:% 它跳转到与当前光标下的括号相匹配的那一个括号上去。这对方括号[]和花括号{}同样适用
gD用于跳转到变量的定义处
gg"命令是跳转到第一行的快捷的方法。"1G"效果也是一样
``命令可以在两点之间来回跳转
CTRL-O命令是跳转到你更早些时间停置光标的位置
CTRL-I则是跳回到后来停置光标的更新的位置
另一个移动到某行的方法是在命令"%"之前指定一个命令计数. 比如"50%"将会把光标定位在文件的中间
"H"意为Home, "M"为Middle, "L"为Last.
CTRL-U命令将窗口向上移动半屏
CTRL-D命令将窗口向下移动半屏
信息显示:
要知道你当前在文件中的位置,共有三种方法:1. 使用CTRL-G命令2.:set number 3.:set ruler
zz命令会把当前行置为屏幕正中央
zt命令会把当前行置于屏幕顶端1
zb则把当前行置于屏幕底端
搜索:
一个最有用的移动命令是单字符搜索命令。命令"fx"在当前行上查找下一个字符x。提示:"f"意为"find"。该命令可以带一个命令计数;命令"3fl"会把光标定位于"foul"的"l"上
"F"命令向左方向搜索
"tx"命令形同"fx"命令,只不过它不是把光标停留在被搜索字符上,而是
在它之前的一个字符上。提示:"t"意为"To"。该命令的反方向版是"Tx"
"/string"命令可用于搜索一个字符串。备注: 字符.*[]^%/?~$ 有特殊意义,如果你要找的东西包括这些内容,要在这些字符前面放置一个反斜杠
要查找上次查找的字符串的下一个位置。使用"n"命令
"?"命令与"/"的工作相同,只是搜索方向相反
把 光 标 定 位 于 这 个word上 , 然 后 按下"*"键。Vim将会取当前光标所在的word并将它作用目标字符串进行搜索
查找整个WORD:查找作为一个word的"the"就可以用//<the/>
标记:
具名标记:命令"ma"将当前光标下的位置名之为标记"a"。要跳转到一个你定义过的标记,使用命令`{mark}, {mark}就是你定义的标记的名字。
查看关于标记的列表。:marks
tags实现函数和变量的跳转:
去你的编译工程的源码目录, 如果你的源码是多层的目录, 就去最上层的目录, 在该目录下运行命令: ctags -R
例如:我的工程放在/home/project/test/里的,则在里面
$ ctags -R
此时在该目录下会生成一个 tags 文件, 现在用vim打开 你的工程的main.cpp,再在vim中运行命令::set tags=/home/project/test/tags,该命令将tags文件加入到vim中来, 你也可以将这句话放到~/.vimrc中去
然后就OK了,对函数或者变量或者宏之类的,直接把光标移到上边去,按ctrl+],就跳转到定义处了。按ctrl+t就可以跳回