日期:2014-05-16  浏览次数:20763 次

VI/VIM高级技巧征集中,欢迎大家来交流,谢绝灌水!
本帖最后由 mymtom 于 2010-12-13 09:24:50 编辑
偶然看到2003年有这样的帖子。翻出来重贴!准备好好整理一下!
http://topic.csdn.net/t/20030429/18/1723102_2.html

:r !command

将command的输出插入到当前位置。
------解决方案--------------------
我常用的是gg=G,呵呵,整理代码格式
------解决方案--------------------
set foldmethod=indent
zR
zM
------解决方案--------------------
好贴 先占个座


------解决方案--------------------
楼上的折叠我也经常用
set foldmethod=indent  "折叠方式设置
map <F2> zO<CR>

另外我不喜欢鼠标闪烁
set gcr=a:block-blinkon0  ""取消鼠标闪烁

另外还有同时看两个文件 :vsp
------解决方案--------------------
sp   hello.c
------解决方案--------------------
查找的时候
set hls
然后*在要查找的字符上
------解决方案--------------------
复制n行
nyy

删除n行
ndd

找对应的{}
光标放在一个{}上,按'%',找到相对应的另一个{},

找单词
光标所在的单词上按'*' 可将此文件中光标所在的单词显示高亮,按N,n进行查找.

gg--->首行

G--->尾行




------解决方案--------------------
好多哀~
45G 跳到45行
G跳到最后一行
$行尾

......不知道自己说的高级不,我很菜
好像有本vim 101 hacks不错
------解决方案--------------------
ctrl+b   屏幕后翻动一页
ctrl+u   屏幕后翻动半页
ctrl+f   屏幕前翻动一页
ctrl+d   民间幕前翻动半页
------解决方案--------------------
n<enter>     光标下移n行
:e!          重新加载文件
:w [filename] 另存一个名为filename的文件
------解决方案--------------------
按 V 选中一些行,然后按 ‘=’ 这些代码就自动对齐了。
------解决方案--------------------
:g/a/s//b/g
把a替换为b
------解决方案--------------------
vim -d file1 file2 直接打开两个文件对比
CU这个帖子也是讨论这个的 已经10页了!
http://bbs.chinaunix.net/viewthread.php?tid=15797
------解决方案--------------------
引用:
楼上的折叠我也经常用
set foldmethod=indent  "折叠方式设置
map <F2> zO<CR>

另外我不喜欢鼠标闪烁
set gcr=a:block-blinkon0  ""取消鼠标闪烁

另外还有同时看两个文件 :vsp
vsp咋用啊?
------解决方案--------------------
:copen 
:make
双击错误跳转到错误出现地方
------解决方案--------------------
整理这个还是有难度的。各种技巧太多了,如果不经常用很快就会忘了。看到哪个好用的,必须强化的多用几次才记得住。
不知道怎么算高级,随便贴一点吧:

w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾

屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏