您的位置:首页 > 其它

VIM基础 之总揽最常用的命令

2014-02-24 19:09 239 查看
http://blog.csdn.net/macrocrazier/article/details/6372409

1: 左右动作 

h或者<-:左移 如果要左边移几列比如11列就11h
l或者->: 右移 如果要右边移几列比如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 :加入一个文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: