http://blog.csdn.net/macrocrazier/article/details/6372409
1: 左右动作
h或者<-:左移 如果要左边移几列比如11列就11hl或者->: 右移 如果要右边移几列比如11列就11l
0:移动到本行行首
$: 移动到本行行尾
2: 上下动作
j:上移 如果要上移几列比如11列就11j
k: 下移 如果要下移几列比如11列就11k
0:移动到本行行首
$: 移动到本行行尾
gg:上移动到文件第一行
G:下移动到文件最后一行
ggn:移动到哪一行 比如要移动到11行就g11
n%:至全文件行数百分之 n 处 比如30%这样就移动到全文30%的地方了
3:查找
/然后n:向下查找
?然后n:向上查找
4:位置标记和相关动作
m:用标记 {a-zA-Z} 记录当前位置 比如ma就标志这个位置为a 标志的范围为小写a-z大写A-Z
':跳转到你标志的地方比如要条状到a就'a
:marks:列出活动的标记
:delmarks m:删除标志 比如删除a标志则:delmarks a *Q_in* 插入文本
5:插入文本
a:在光标后添加文本
A:在行末添加文本
i:在光标前插入文本
I:在当前行的第一个非空白字符前插入文本
o:在当前行下方开始新行,添加文本
O:在当前行上方开始新行,添加文本
6:删除文本
xn:删除光标之下及之后的 N 个字符比如要删除19个就19x
Xn: 删除光标之前的 N 个字符比如要删除19个就19x
ddn:删除行 比如要删除11行就11dd
7:屏幕滚动
CTRL+E:窗口下滚
CTRL+Y:窗口上滚
8:选项
|:set| :se[t] 显示所有被改动的选项
|:set| :se[t] all 显示所有非 termcap 选项
|:set| :se[t] termcap 显示所有 termcap 选项
|:set| :se[t] {option} 置位布尔选项 (开启)
显示字符串或数值选项
|:set| :se[t] no{option} 复位布尔选项 (关闭)
|:set| :se[t] inv{option} 逆转布尔选项的值
|:set| :se[t] {option}={value} 设置字符串/数值选项的值为 {value}
|:set| :se[t] {option}+={value} 将 {value} 附加到字符串选项里,将
{value} 加到数值选项上
|:set| :se[t] {option}-={value} 从 {value} 从字符串选项里删除,从
数值选项里减去 {value}
|:set| :se[t] {option}? 显示 {option} 的值
|:set| :se[t] {option}& 重置 {option} 为其缺省值
|:setlocal| :setl[ocal] 同 ":set",但对局部选项只设定局部值
|:setglobal| :setg[lobal] 同 ":set",但对局部选项设定其全局值
|:fix| :fix[del] 根据 't_kb' 的值设置 't_kD'
|:options| :opt[ions] 打开一个新窗口,用来参看并设置选项,
9:撤销/重做
u:撤销最近的 改动
U:恢复最近被改动的行
10:补全命令
'wildchar' (缺省: <Tab>)
根据光标前的命令行补全;如果有多个匹配,响铃并
显示第一个;继续 'wildchar' 将显示下一个匹配
CTRL-D:列出匹配光标前的模式的可能的匹配
CTRL-A :插入匹配光标前的模式的所有的匹配
CTRL-L :插入所有匹配当前模式的名字的最长的共同部分
CTRL-N:在 'wildchar' 之后存在多个匹配时:至下一匹配
CTRL-P:在 'wildchar' 之后存在多个匹配时:至上一匹配
11:最有用的VIM参数
-g 启动 GUI (同时允许其他选项)
-v Vi 模式,以普通模式启动 ex
-e Ex 模式,以 Ex 模式启动 vim
-R 只读模式,隐含 -n
-m 禁止修改 (复位 'write' 选项)
-d diff 模式 |diff|
-b 二进制模式
-l lisp 模式
-A 阿拉伯模式 (置位 'arabic')
-F 波斯模式 (置位 'fkmap' 和 'rightleft')
-H 希伯来模式 (置位 'hkmap' 和 'rightleft')
-V 详细,给出更多信息
-C 兼容,置位 'compatible' 选项
-N 不兼容,复位 'compatible' 选项
-r 给出交换文件列表
-r {file} .. 恢复中断的编辑
-n 不创建交换文件
-o [num] 打开 [num] 个窗口 (缺省: 每个文件一个窗口)
-f GUI: 前台进程,不调用 fork
Amiga: 不打开新窗口启动 Vim (比如,用于 mail)
-s {scriptin} 先从文件 {scriptin} 读入命令
-w {scriptout} 把键入的字符写进文件 {scriptout} (添加)
-W {scriptout} 把键入的字符写进文件 {scriptout} (覆盖)
-T {terminal} 设置终端名
-d {device} Amiga: 打开 {device} 作为控制台使用
-u {vimrc} 从文件 {vimrc} 而非其它文件读入初始化命令
-U {gvimrc} 同上,但用于启动 GUI 时
-i {viminfo} 从文件 {viminfo} 而不是其它文件读入信息
-- 结束选项,其余的参数都将是文件名
--help 显示参数列表并退出
12:多窗口命令
CTRL-W s 或 :split 将窗口分割成两部分 (split)
:split {file} 分隔窗口并在其中一个编辑 {file}
:vsplit {file} 同上,但垂直分割
:vertical {cmd} 使命令 {cmd} 垂直分割
:sf[ind] {file} 分割窗口,从 {path} 中找到文件
{file} 并编辑之
CTRL-W ] 分割窗口并跳转到光标下的标签
CTRL-W f 分割窗口并编辑光标下的文件名 (file)
CTRL-W ^ 分割窗口并编辑轮换文件
CTRL-W n 或 :new 创建新空白窗口 (new)
CTRL-W q 或 :q[uit] 退出编辑并关闭窗口 (quit)
CTRL-W c 或 :cl[ose] 隐藏当前缓冲区并关闭窗口 (close)
CTRL-W o 或 :on[ly] 使当前窗口成为唯一窗口 (only)
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 _ 设置当前窗口高度 (缺省: 很高)
13:语法高亮
:syntax on 开始使用语法高亮
:syntax off 停止使用语法高亮
:syntax keyword {group-name} {keyword} ..
添加语法关键字项目
:syntax match {group-name} {pattern} ...
加入语法匹配项目
:syntax region {group-name} {pattern} ...
添加语法区域项目
:syntax sync [ccomment | lines {N} | ...]
设置语法高亮的同步方式
:syntax [list] 列出当前语法项目
:syntax clear 清除所有语法信息
:highlight clear 清除所有高亮信息
:highlight {group-name} {key}={arg} ..
为语法组 {group-name} 设置高亮
:filetype on 开启文件类型检测,不启用语法高亮
|:filetype| :filetype plugin indent on
开启文件类型检测,包括自动缩进及设置
14:不折叠
|'foldmethod'| set foldmethod=manual 手动折叠
set foldmethod=indent 按照缩进折叠
set foldmethod=expr 按照表达式 'foldexpr' 折叠
set foldmethod=syntax 按照语法区域折叠
set foldmethod=marker 按照标志 'foldmarkers' 折叠
zf{motion} 操作符: 手动定义一个折叠 (fold)
:{range}fold 将范围 {range} 包括的行定义为一个折叠
zd 删除光标下的一个折叠 (delete)
zD 删除光标下的所有折叠 (Delete)
zo 打开光标下的折叠 (open)
zO 打开光标下的所有折叠 (Open)
zc 关闭光标下的一个折叠 (close)
zC 关闭光标下的所有折叠 (Close)
zm 折起更多: 减少 'foldlevel' (more)
zM 关闭所有折叠: 置 'foldlevel' 为 0
zr 减少折叠: 增加 'foldlevel' (reduce)
zR 打开所有折叠: 置 'foldlevel' 为最大
zn 不折叠: 复位 'foldenable' (none)
zN 正常折叠: 置位 'foldenable' (Normal)
zi 反转 'foldenable' (invert)
15:其他
CTRL+G:显示当前文件名
:sp file :加入一个文件