聚星亭

吾笨笨且懒散兮 急须改之而奋进
posts - 74, comments - 166, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

   以下移动光标操作如非特殊说明均为正常模式下的按键而非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支持简易的查找功能:

/[关键字回车  :  可以实现从当前位置向后查找匹配的字符

?[关键字回车  :  可以实现向前查找匹配的字符

上面的查找命令执行完毕后,可以通过

键来定位到下一个符合条件的位置。

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插件窗口

回车

开启/关闭 宏组高亮

四、 在头文件和源文件中切换

:A 

在头文件和源文件之间切换


五、 更多的快速移动光标的方法

快速的移动光标到指定的位置的方法还有很多,比如通过代码折叠、通过Tagscscope提供的非常强大的检索,来实现快速的跳转,这些都等到专门的地方再讲述。这里就不细说了。

Feedback

# re: ExVim 试用手记 —— 编写代码之 移动光标  回复  更多评论   

2010-06-01 07:34 by xinghang
多谢楼主,有一小建议

“Shift – n 键 来定位到上一个符合条件的位置。”

可否改成:

N 键 来定位到上一个符合条件的位置。

# re: ExVim 试用手记 —— 编写代码之 移动光标  回复  更多评论   

2010-06-01 21:17 by besterChen
@xinghang
恩,我刚才试了一下,可以的,以后我就这样写了,嘿嘿
谢谢指教~

# re: ExVim 试用手记 —— 编写代码之 移动光标  回复  更多评论   

2010-07-30 06:15 by hoodlum1980
我主要就在IDE里编辑啦。。有时候用UltraEdit,还真没想过用这样的文本编辑器。试用了下,有点怪怪的感觉。。。

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理