1 win7 如何把VIM 添加到右键
+在运行里面输入 redegit ,回车,这是打开windows的注册表。 +依次打开HKEY_CLASSES_ROOT/*/shell,有点点击shell,新建项,输入项的名字,这是要在右键里显示的,建议输入Edit with Gvim. +右键点击刚建的 Edit With Gvim 项,再新建项,名字为 command , 修改其值为 D:\Program Files\Vim\vim72\gvim.exe "%1"
2 非常有用的命令
2.1 代码自动排版:
gg=G
2.2 窗口相关:
Ctrl-W o | 最大化窗口 |
CTRL-W j | 跳转到下方窗口 |
CTRL-W k | 跳转到上方窗口 |
CTRL-W CTRL-W | 移动光标至下方窗口 (折转) (Wrap) |
CTRL-W W | 移动光标至上方窗口 (折转) (wrap) |
CTRL-W t | 跳转到顶端窗口 (top) |
CTRL-W b | 跳转到底端窗口 (bottom) |
CTRL-W p | 跳转到上一次激活的窗口 (previous) |
CTRL-W r | 向下旋转窗口 (rotate) |
CTRL-W R | 向上旋转窗口 (Rotate) |
CTRL-W x | 将当前窗口与下一个窗口对调 (eXchange) |
CTRL-W = | 使所有窗口等高 |
CTRL-W - | 减少当前窗口高度 |
CTRL-W + | 增加当前窗口高度 |
CTRL-W _ | 设置当前窗口高度 (缺省: 很高) |
2.3 关于撤销树:
u 撤销上一次操作
Ctrl+r 恢复上一次操作
Ctrl+y 恢复上一次操作
2.4 输入不了中文怎么办
要把vi的encoding设置成同系统的编码一样的,通常将其设置成utf8 ,
set encoding=utf8
2.5 忽略大小写查找
vim的查找功能是在命令行下输入 :/待查的字符串,默认vim的查找是区分大小写的, 其实大多数情况下都是想进行忽略大小写的查找, 可以使用如下命令: 这样vim在查找时就会忽略大小写了, 可以将其加入.vimrc ,就不用每次都输入了。
set ignorecase 或者是 :set ic
我现在更喜欢的是smartcase, 它会自动判断你所想要的是大写还是小写
set smartcase
2.6 在函数间跳转
] ], 跳到下一个函数
[ [, 路到上一个函数
2.7 其它一些删除操作
'cib' change inside parenthesis
'cw' change a word
'ci(' change inside ()
'ci{' change inside {}
'cab' change around parenthesis
'dab' delete around parenthesis
d<number>d would delete <number> lines
2.9 替换当前光标下的单词
在vimrc中加入以下command:
" Quickly replace current word
nmap <A-s> :%s/\<<C-r><C-w>\>//g<Left><Left>
当按下Alt-S时,会自动出现:%s/current word under cursor//g
2.10 关闭Diff 模式
: diffoff
2.11 NERDTree访问其它盘符
: NERDTree c:\
: NERDTree d:\Test
2.12 代码间跳转
Ctrl + o: 跳转到上一次改动
Ctrl + i: 跳转到下一次改动
2.13 保留带关键字的行
:v/keyword/d2.14 删除带关键字的行
:g/keyword/d2.15 关闭其它分屏窗口
:only
2.16 打开/关闭Quick Fix窗口
:copen/cclose
2.17 显示所有buffer的编号
:ls
2.18 批量替换所有.c和.h文件中的关键字(包含子目录)
:args ./**/*.c ./**/*.h
:argdo %s/STR1/STR2/ge | update
以上两行命令可以将当前目录及子目录中的所有.c和.h文件中的STR1替换成STR2.
2.19 防止鼠标提示让Vim崩溃
set balloondelay=1000000
setlocal balloonexpr=
2.20 反转指定范围的文本行
反转步骤:
- 光标移动到第一行(目标行的上一行)
- 输入命令
mt
,将第一行标记为 t - 光标移动到第n行
- 输入命令
:'t+1,.g/^/m 't