天天看点

GVIM常用命令(持续更新中) 

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/d

2.14 删除带关键字的行

:g/keyword/d

2.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 反转指定范围的文本行

反转步骤:

  1. 光标移动到第一行(目标行的上一行)
  2. 输入命令 

    mt

    ,将第一行标记为 t
  3. 光标移动到第n行
  4. 输入命令 

    :'t+1,.g/^/m 't