我的日常Vim使用--凌波微步


1)一般移动
  hjkl 分别表示上下左右,这个无需多说,如果不知到的话跟着tutor走一遭吧。这里可以将这样的位移命令和位移幅度相组合,比如 5l 则光标向右移动5个位置。
  w 可以向右边移动一个单词,一般以空格作单词界限 。并且移动是包括界限的,就是移动到右边一个单词的首字符。
  e 也是向右边移动一个单词距离,在本单词内时(非首和尾)会跳到本单词的尾字符,否则跳到右边一个单词的尾部。
  b 可以向左移动一个单词,是e的反向操作。在本单词内时(非首和尾)会跳到本单词的首字符,否则跳到左边一个单词的首部。
  ge 可以向右移动一个单词,为w的反操作。会到左边单词的尾部。
  说明:vim manual上面说e ge是反操作,但我觉得w,ge会使光标来回移动,更像反操作。
  以上命令都可以用一个数字组合成位移命令,如2w则会向右移动2个单词到下下一个单词的首位置。

2)特殊位置

$ 可以将光标定位到该行的行尾位置。
^ 可以将光标定位到该行的行首位置。
f<x> 可以向右移动到第一个<x>字符处,如fx可以将光标移动到右边第一个x上面。
F<x> 可以向左移动到第一个<x>字符处,是f命令的反命令。
t<x> 可以向右移动到第一个<x>字符之后的一个字符上。
T<x> 可以向左移动到第一个<x>字符之前的一个字符上。
同样上述命令可以和位移组合得到 3fx 命令会将光标移动到第3个x上。
当光标在(),{},[]等配对括号上时,使用 % 可以跳至其匹配的括号上。
gg 可以将光标带到文章首。
G 可以将光标带到文章尾行首。
23G可以将光标带到文章23行首。数字23可以替换为其他数值。
H 可以将光标带到文章首。
M 可以将光标带到文章中央行首。
L 可以将光标带到文章尾行首。
Ctrl+G 可以显示光标位置。Ctrl+U ,Ctrl+d可以实现滚屏,可以自己感受一下。
zz 可以将但前行放到屏幕中间显示,效果很好。
zt 可以将但前行放到屏幕顶显示。
zb 可以将但前行放到屏幕底显示。

3)借助工具

1)tags:什么是tags?大家自己google,怎么用也google。我这里用了 ctags *.c *.h 然后在vim里面:set tags=./tags

:tag tagname 可以跳转到tagname的位置无论是否在本文件内。
在tagname上使用 Ctal+] 可以跳到该tagname所在位置。
:stag tagname 则可以在一个新的窗口中打开tagname所在位置。用来找函数定义非常方便。
最好的查看函数定义方式是:ptag fun_name 这样会在预览窗口中打开函数所在文件并定位该函数定义处。
如果想修改头文件,则可以:pedit xxx.h在上面的基础上修改。
:pclose 则可以关闭预览窗口。
在变量上面按下 [I 可以查看该变量的声明。

2)折行:这个vim自带有该功能

  3zF 可以从但前位置开始折叠3行。数字3可以根据需要改变。

zf 可以从但前位置开始折叠2行
zf% 可以折叠{}一个语句块.要求光标在{或者}处,同样适用于(),[]。
zo 可以打开一个折叠
zc 可以将打开的折叠重新这回,只要光标在原来折叠的内部即可。

posted @ 2012-02-24 13:28  G背包  阅读(137)  评论(0编辑  收藏  举报