常用的VI/VIM命令

 

删除单个字符: x

删除整行: dd

合并成一行:J

撤消:  u

重做:crtr + r

插入:  i , a(光标后),o(下方开始新行) ,O(上方开始新行)

 

移动


w:向前移动一个单词开始

b:向后移动一个单词开始

e:向前移动到一个单词的末尾

ge:向后移动到一个单词的末尾

W,B,E,gE是以空格(' ')区分单词,小写的话是以非字母区分

$:移到行尾

^:移动一行第一个非空格光标

0:移动一行第一字光标处

f<c>:在当前行向前查找为c的字符

F<c>:在当前行向后查找为c的字符

[fF]<c>这两个命令执行后,按 ; 和 , 可以重复执行命令

%:定位到对称的符号光标处,如[ ],{ }

<n>G:光标定位在指定的行

gg:定位到第一行

G:定位到最后一行

H:移动到当前可见视图的第一行

M:移动到当前可见视图的中间行

L:移动到当前可见视图的最后一行

CRTL + G : 显示当前位置

:set number 显示行号

:set nonumber 关闭显示行号

CRTL + E : 向下滚动一行

CRTL + Y : 向上滚动一行

CRTL + U : 向上滚动半屏

CRTL + D : 向下滚动半屏

CRTL + B : 向上滚动一屏

CRTL + F : 向下滚动一屏

zz:把当前光标所在的行移动屏中间行

zt: 把当前光标所在的行移动屏上端

zb:把当前光标所在的行移动屏下端

m[az]:把当前光标所在的位置设置一个标记,用a~z之间的一个字符表示,如果在别的地方要马上回到此标记的位置,按 '<m>,如:'s,则回到标记为s的地方  ''   跳回到上次光标位置

使用标记可以快速移动。到达标记后,可以用Ctrl+o返回原来的位置。 Ctrl+o和Ctrl+i 很像浏览器上的 后退 和 前进 。

  • m{a-z}: 标记光标所在位置,局部标记,只用于当前文件。
  • m{A-Z}: 标记光标所在位置,全局标记。标记之后,退出Vim, 重新启动,标记仍然有效。
  • `{a-z}: 移动到标记位置。
  • '{a-z}: 移动到标记行的行首。
  • `{0-9}:回到上[2-10]次关闭vim时最后离开的位置。
  • ``: 移动到上次编辑的位置。''也可以,不过``精确到列,而''精确到行 。如果想跳转到更老的位置,可以按C-o,跳转到更新的位置用C-i。
  • `": 移动到上次离开的地方。
  • `.: 移动到最后改动的地方。
  • :marks 显示所有标记。
  • :delmarks a b -- 删除标记a和b。
  • :delmarks a-c -- 删除标记a、b和c。
  • :delmarks a c-f -- 删除标记a、c、d、e、f。
  • :delmarks! -- 删除当前缓冲区的所有标记。
  • :help mark-motions 查看更多关于mark的知识。

 

查找


 

/<find_sequence> : 查找<find_sequence>字符串,注意.*[]^%/\?~$是特殊字符,要用\转义

按enter执行命令后,可以输入n或N进行正向,或者反向查询下一个

如果执行查找时一个单词太长不容易拼写,则可以在光标定位到该单词时执行: * 命令,则可以执行查找,# 命令是反向查找

:set ignorecase可以设置查询是否对大小写敏感

:set hlsearch 高亮显示所有匹配的行

:set incsearch 在输入的时候就显示匹配点

:set wrapscan 找n或N查找的时候到达末尾时,是徇环查找

 

编辑文本


 

 d + <移动命令>:操作从当前光标所处的位置到移动后的光标位置的所有内容,例于:de,删除当前光标到下一个单词结尾的所有内容

c + <移动命令>:和上面一样,不过会进入插入模式

一些快捷键:

x = dl : 删除当前光标内容

X = dh : 删除光标左边的字符

D = d$ : 删除到行尾

C = c$ : 删除到行尾并进入插入模式

s = cl : 修改一个字符

S = cc : 修改整行

 

r[az]:替换光标定位位置的字符,如rb则把当前光标位置的字符换成b,这比 c 命令的好处在于不用进入插入模式,省下ESC操作

 

. : 重复执行上次的操作

 

v,V,crtl + v,可分别进入可视模式,行可视模式,块可视模式,选择后按d可以删除选择的内容。在可视模式下,如果想换可变换的光标点,则可以按o和O来进行切换

y + <移动命令>:复制

 

daw:删除一个单词  

yaw:拷贝一个单词 

yiw:拷贝一个单词,与前的区别是这个拷贝不包括单词后面的空格字符串

~:改变单词大小写

A:移动在行尾并启动插入模式

I:移动到行首第一个非空字符并启动插入模式

 

R:进入替换模式

 


 

NERDTree

crtl + ww : 返回到NERDTree操作界面

:! touch 新增文件

--——
 
posted @ 2013-01-06 11:10  海鸟  阅读(564)  评论(0编辑  收藏  举报