Posted on 2010-06-01 03:22
besterChen 阅读(6145)
评论(3) 编辑 收藏 引用 所属分类:
Vi/Vim/GVim
以下移动光标操作如非特殊说明均为正常模式下的按键而非insert等模式。
一、 基本的移动操作
我相信,你在看我这个笔记之前,一定用vimtutor学习过VIM的基本使用,如果没有那我建议你去学习一下,会省好多的麻烦。当然,如果你想我一样,完全是0基础开始用VIM的,那我也建议你想我一样,每天操作一遍vimtutor,知道不假思索的就能使用里面的功能为止。
按键
|
功能
|
按键
|
功能
|
h
|
向左移动光标
|
l
|
向右移动光标
|
k
|
向上移动光标
|
j
|
向下移动光标
|
gg
|
移动到文件开头
|
G
|
移动到文件最后一行
|
^
|
移动到行首
|
$
|
移动到行尾
|
CTRL-B
|
等同于PageUp
|
CTRL-F
|
等同于PageDown
|
f[word]
|
移动到本行光标右边的指定字符上
|
F[word]
|
f的反向版本
|
t[word]
|
移动到本行光标右边的指定字符之前
|
T[word]
|
t的反向版本
|
;
|
重复上面的ftFT命令
|
,
|
反方向重复上面的ftFT命令
|
w
|
移动光标到下一个单词的词首
|
W
|
移动光标到下一个字串的词首
|
b
|
移动光标到上一个单词的词首
|
B
|
移动光标到上一个字串的词首
|
e
|
移动光标到下一个单词的结尾
|
E
|
移动光标到下一个字串的结尾
|
ge
|
移动光标到上一个单词的词尾
|
gE
|
移动光标到上一个字串的词尾
|
zt
|
把光标所在行移动窗口的顶端
|
‘’(两个单引号)
|
返回到最后跳转的位置
|
zz
|
把光标所在行移动窗口的中间
|
‘ (一个单引号)
|
调转到指定的书签
|
Zb
|
把光标所在行移动窗口的底部
|
%
|
在各种括弧之间切换
|
当然,VIM的快捷键还有很多,肯定不适合死记硬背下来,希望大家能在使用的过程中,有意的多用这些快捷键即可。
二、 使用查找功能移动光标
VIM支持简易的查找功能:
/[关键字] 回车 : 可以实现从当前位置向后查找匹配的字符
?[关键字] 回车 : 可以实现向前查找匹配的字符
上面的查找命令执行完毕后,可以通过
n 键来定位到下一个符合条件的位置。
Shift – n 键 来定位到上一个符合条件的位置。
更多查找功能请参考 < ExVim 试用手记 ——编写代码之查找替换>
三、 使用书签功能
Vim本身支持书签功能,而且提供了一些命令来操作书签,但是由于它本身提供的功能不是很直观,所以,exVim中提供了ShowMark插件和exMarksBrowser插件。
ShowMark插件利用vim的书签功能以及高亮功能显示出书签的具体位置。这样,我们设定了一个书签之后,就会在vim窗口的行号中显示出标记的名字,并高亮这一行。如下图:
OK,效果看到了,下面介绍下它的快捷键:
m{a~z|A~Z}
|
设置/删除一个书签,名给它命名: {a~z|A~Z}
|
‘ {a~z|A~Z}
|
跳转到指定的标签位置
|
当我们记不住书签的名字时,exMarksBrowser插件就派上用场了,它可以显示出当前缓冲区中的书签位置。效果图如下:
它相关的快捷键或命令如下:
\ms
|
打开/关闭exMarksBrowser插件窗口
|
回车
|
开启/关闭 宏/ 组高亮
|
四、 在头文件和源文件中切换
五、 更多的快速移动光标的方法
快速的移动光标到指定的位置的方法还有很多,比如通过代码折叠、通过Tags和cscope提供的非常强大的检索,来实现快速的跳转,这些都等到专门的地方再讲述。这里就不细说了。