1,*:该命令可以查找光标所在位置的单词;
2,%: 命令可以从一个打开的括号跳转到与它成对匹配的另一个括号处,还可以从一个预处理指令"#if"跳转到与之匹对的"#endif"
3,[{:使光标从区间中的任意位置移到区间的头部。如在{}区间中执行命令“[{“可使光标移到“{”处。
4,gd:在某个被使用的变量处输入“gd”命令可使光标移到该变量的声明处。
5,局部替换:用*命令找到想要替换的单词,cw命令替换这个单词。用n找到下一个单词并用.就可以替重复上面的替换动作了。不光对替换,这些命令对删除、插入也适用。
6,如果我们反复用到了glTranslatef()这个函数,当第二次输入glT时再敲Ctrl-N就可以自动补全到glTranslatef了,如果出来的是glLoadIdentity,而不是我们想要的glTranslatef,这时再敲命令Ctrl-N,直到补全的是我们想要的glTranslatef。
7,宏:vim可以自行记录一个宏。你键入"qa"开始把一段宏记录入寄存器变量‘a’中。接下来像平常一样键入要的操作, 只是这些操作都会被Vim记录进它命名为‘a’的宏中, 再次再下"q"键, 就结束了‘a’的录制。当你要重复执行你刚才记录的那些操作时只要使用"@a"命令。共有26个可用的寄存器供你记录宏。不只是插入,其他的操作也可以使用宏。
8,如果我们在输入include时总是将它输成inclued,可用下面的方法解决。
:abbr inclued include 以后凡是输入inclued的时候系统会自动将其改为include.
如果我们反复用到一些字符,可将它编为缩写。
:abbr inc #include() 以后凡是输入inc时系统会自动输入#include“”
:abbr MS Mandrake Software 用MS代替后面的Mandrake Software
9,标签:
介绍本节内容之前我们先介绍一下什么是标签(tags)。tag是一个位置,记录了关于一个标识符在哪里被定义的信息。如C程序中一个函数的定义。这种tag聚集在一起被放入一个tags文件。这个文件可以让vim从任何位置跳到tag所指定的位置(标识符定义的位置)。
下面的命令可以为当前目录下的所有C程序文件生成对应的tags文件:
ctags *.c
现在用如下的命令就可以在vim中跳到一个函数的定义处:
:tag realize 或 Ctrl-]
这样光标就跳到了函数realize的定义处,哪怕它是在另一个文件中。
现在用下面的命令就可以跳回到上一个标签处:
Ctrl-T
10,头文件
[I:在头文件处使用“[I“命令可以定位头文件的位置,如在“#include处使用“[I”命令可以显示该头文件的位置。
:checkpath:显示所有用到的头文件及他们的路径。
11,简易快捷操作:
- G:将光标移动到文件尾部
- gg:移动到文件首部
- M:移动到屏幕中间
- L:移动到屏幕底部
- H:移动到屏幕首部
- *:读取光标处的字符串,并移动到它再次出现的位置
- #:与上面的相反,移动到它上次出现的位置
- ma:在当前位置标记一个书签,书签只能是小写字母。你看不见它的存在,但它已经存在到那里了。
- `a:移动到标签 a 处。
- `.:移动到上一次编辑文件的地方。这个功能很有用,而且不需要标记它。
12,高效的输入:
- a:在当前字符的右边输入
- i:在当前字符的左边输入
- o:在当前行的下一行输入
- O:在当前行的上一行输入
- 10dd :将会删除下面的十行。
13,用 VIM 写代码:
- >:缩进所选择的内容
- <:和上面的命令一样,只是反缩进
阅读(1032) | 评论(0) | 转发(0) |