zz 常用的 vim 的功能
时间:2007-03-04 来源:ivywjhua
发信人: ann77 (ann), 信区: VIM
标 题: 我常用的 vim 的功能
发信站: BBS 水木清华站 (Fri May 28 13:39:08 2004), 站内
光说我马上能够想起来的。
1.
fx
x 表示任何一个字符。
这是最快的在一行种移动的方法了。然后用
; (分号)
继续移动。
反向移动好像是 t ,但是我记性不好,
总是记不住,于是
0fx
用 0 先回到行首,在 f
2.
任何一个操作命令在加一个移动命令。实现对某个范围的操作。
例如
dfx
表示删除到下一个出现 x 的地方, x 可以使任意字符。
操作命令有 d (cut), y(copy) , p(paste), v (select)
移动命令有 hjkl, f, /, gg, G
3.
任何命令组合都可以先按一些 数字健 表示重复操作。
如:
d123j
删除下面123行。
4. 宏纪录的功能
例如,把文件中所有奇数行和偶数行合并。按如下序列
gg
qq
J
q
100000000@q
5. C-p
在 insert mode 下
写程序的时候,任何超长的变量名字都不成问题。
如果有一个this_is_very_long_variable_name
可以
this<C-P>
90%的可能性自动就把名字补全了。
于是,我写程序的时候,变量的名字其的越来越长,输入越来越快。:)
6. C-x C-p
在写程序 abc.h 的时候
写道 #include "abc.h" 的时候
其实可以
#include "a<C-x><C-p>"
90% 的情况,可以自动补全文件名称。
6.从外部命令输入
:r !ls
可以读取当前目录的文件列表。
如果你对 bash 很熟悉的话,这个功能非常好用
例如
输入
case 1
case 2
....
case 1000:
的方法是
:r !for ((i=0;i<100;i++));do echo "case $i" ; done
7. 利用外部命令处理文字。
我在 ~/.vimrc 中写了一行。
map = ggVG:!indent -nut -st -kr 2>/dev/null<CR>G
我按一个 = ,就可以利用外部命令 indent 美化 我的 c 程序。
我认为,
还可以用外部命令排序
例如
用 v 选定要排序的区域
然后按一个叹号。
:'<,'>!sort
8
我在 ~/.vimrc 中写了
map <Left> :bp<CR>
map <Right> :bn<CR>
map <F4> :bd<CR>
就可以用 左右方向健来切换 buffer
F4 关闭 buffer 了。
9
我在 ~/.vimrc 中写了
runtime ftplugin/man.vim
就可以在把光标停在一个函数上,然后用
\k
查看在线帮助了。
用
:Man getuid
查看 getuid 函数的手册了。
10.
:make
可以用外部命令 make 编译工程。
:cw
查看出错信息,
:cn
:cp
在出错信息之间跳转。
11.
]] , [[ , [] , ][ 命令可以在函数之间移动。
※ 修改:·ann77 於 May 28 13:43:12 2004 修改本文·[FROM: 210.12.42.*]
※ 来源:·BBS 水木清华站 http://smth.org·[FROM: 210.12.42.*]
标 题: 我常用的 vim 的功能
发信站: BBS 水木清华站 (Fri May 28 13:39:08 2004), 站内
光说我马上能够想起来的。
1.
fx
x 表示任何一个字符。
这是最快的在一行种移动的方法了。然后用
; (分号)
继续移动。
反向移动好像是 t ,但是我记性不好,
总是记不住,于是
0fx
用 0 先回到行首,在 f
2.
任何一个操作命令在加一个移动命令。实现对某个范围的操作。
例如
dfx
表示删除到下一个出现 x 的地方, x 可以使任意字符。
操作命令有 d (cut), y(copy) , p(paste), v (select)
移动命令有 hjkl, f, /, gg, G
3.
任何命令组合都可以先按一些 数字健 表示重复操作。
如:
d123j
删除下面123行。
4. 宏纪录的功能
例如,把文件中所有奇数行和偶数行合并。按如下序列
gg
J
q
100000000@q
5. C-p
在 insert mode 下
写程序的时候,任何超长的变量名字都不成问题。
如果有一个this_is_very_long_variable_name
可以
this<C-P>
90%的可能性自动就把名字补全了。
于是,我写程序的时候,变量的名字其的越来越长,输入越来越快。:)
6. C-x C-p
在写程序 abc.h 的时候
写道 #include "abc.h" 的时候
其实可以
#include "a<C-x><C-p>"
90% 的情况,可以自动补全文件名称。
6.从外部命令输入
:r !ls
可以读取当前目录的文件列表。
如果你对 bash 很熟悉的话,这个功能非常好用
例如
输入
case 1
case 2
....
case 1000:
的方法是
:r !for ((i=0;i<100;i++));do echo "case $i" ; done
7. 利用外部命令处理文字。
我在 ~/.vimrc 中写了一行。
map = ggVG:!indent -nut -st -kr 2>/dev/null<CR>G
我按一个 = ,就可以利用外部命令 indent 美化 我的 c 程序。
我认为,
还可以用外部命令排序
例如
用 v 选定要排序的区域
然后按一个叹号。
:'<,'>!sort
8
我在 ~/.vimrc 中写了
map <Left> :bp<CR>
map <Right> :bn<CR>
map <F4> :bd<CR>
就可以用 左右方向健来切换 buffer
F4 关闭 buffer 了。
9
我在 ~/.vimrc 中写了
runtime ftplugin/man.vim
就可以在把光标停在一个函数上,然后用
\k
查看在线帮助了。
用
:Man getuid
查看 getuid 函数的手册了。
10.
:make
可以用外部命令 make 编译工程。
:cw
查看出错信息,
:cn
:cp
在出错信息之间跳转。
11.
]] , [[ , [] , ][ 命令可以在函数之间移动。
※ 修改:·ann77 於 May 28 13:43:12 2004 修改本文·[FROM: 210.12.42.*]
※ 来源:·BBS 水木清华站 http://smth.org·[FROM: 210.12.42.*]
相关阅读 更多 +
排行榜 更多 +