首页 > 代码库 > vim常用命令

vim常用命令

一、进入编辑器

行:edit,e,ex

屏幕:vi,v,view

vi -r filename(继续意外中断的文件编辑)

vi file1 file2 file3(编辑完前一个文件,用:w保存后,用:n开始下一个文件编辑)

vi -x filename(对encrypt加密文件编辑)

vi 中执行Unix命令([[加数字代表独到第几行]加r代表把结果读进vi中]!ls)

vi 命令行编辑功能($set -o vi)

 

二、行编辑器命令

edit(或e,ex)命令

屏编转换:v(转屏编),vi(转屏编),:(转行便)

:wq(存盘退出),:q(退出),:q!(强行退出),:w(保存),:w file(另存为)

:n(移动到n行),:np(显示并移动到n行),:m,np(显示m行到n行内容,移动到n行),

:d(显示当前行),:nd(删除第n行内容,移动到n下一行),:m,nd(删除第m到第n行,移动到n行),

:a(在当前行的下移行开始输入文本,直到ESC),1,$(第一行到最后行),:.,$(当前行到最后行)

 

举例:

:s/stirng1/string2/(把第一个字符替换为第二个字符)

:m,ns/string1/string2/g(g代表所有,mn替换范围限制在m行到n行中)

:%s/string1/string2/g(%代表全文替换)

三、vi基础控制命令

:wq(存盘退出),:q(退出),:q!(强行退出),:w(保存),:w file(另存为)

:r filename(把文件加到当前行后)

光标移动:上下左右方向键,或hjkl,^(行首),$(行尾),

+(下移一行),-(上移一行),空格(左移),退格(右移)

进入编辑态:(光标前),I(行首),a(光标后),A(行尾),o(下面加行),O(上面加行),ESC(返回命令模式)

 

四、vi基础编辑命令(从编辑状态ESC退出后操作)

删除文本:x(字符),dw(单词),D(当前位置到行尾),dd(当前行)

替换文本:r(单个字符),cw(单词)

搜索文本:/(当前向尾),?(当前向头),n(找下一个),N(找前一个)

其它命令:u(撤销),.(重复),J(连接下移行),P(粘贴删除内容)

 

命令举例:2dd/p(删除两行粘贴),2yy/p(复制两行粘贴)

 

五、vi设置命令

加行序号:set number,set nonumber

 

六、vi集合命令

在一段文字前,垂直插入字符串

ctrl+v  //垂直作块选中段落首列

shirt+i //在文本前插入

输入字符串

Esc      //命令结束

}

 

七、vi编程技巧

跟踪头文件:gf

查看函数定义:[+I

跳转到函数定义:[+tab

ctags命令

定义跟踪:ctrl+[

ctrl+o:跟踪返回

可用ctrl+z将vi转入后台,fg可返回vi

make调试窗口:

在执行过:make后,执行cw,窗口出现

关闭调试窗口cclose或ctrl+w  c

 

.重复上次的命令

 

八、vim折叠命令

前言准备:

(1)首先保证自己安装的是完整版vim,ubuntu 8.04自带的不是完整版。

(2)懒得看长文章,列举最实用的折叠语句。

(3)在foldmethod=manual 状态下执行,你可以用:set foldmethod=manual命令切换到这个状态。

(4)neonlight@live.cn发表,转载请注明出处。

 

建立折叠:

(1)zf:用v做块选定要折叠的语句,折叠用zf(z很像折叠的形状,f是fold缩写)。

(2)zf[x]j:向下折叠x行,例如zf9j。

(3)可以用一般的定位的方法来告诉VIM你要折叠那些地方:也可以用marker, 还可以用行号:20,50, 就可以把20行到五十行折叠起来 。

(4)方便的折起函数:移动到一个花括号{上(或者函数体内也行), 用zfa}, 就可以将下面的匹配的花括号之间的内容折起来。 其他的折叠方法还有zf/string, 可以折叠到下一个匹配的string。

 

使用折叠:

(1)移动的时候在前面加一个z就可以在折叠的地方移动, 比如zj,就会跳到下一个折叠, zk就是上一个。

(2)要打开的话可以zo,o是open的意思, zO打开所有的折叠。

(3)关上用zc, c是close。 在zO之后用zc会关上所有打开的折叠。

(4)折叠可以嵌套, zr可以打开第一层的折叠,zR可以打开所有层的折叠, 与之对应的是zm和zM, 是按层关上折叠。 比如说按zm, 会从最里层的层叠关起, 连续zm就会一直关到最上层的折叠。

 

查找到了折叠里面会将折叠打开, 处理完了之后要自己将折叠关上。

 

折叠选项:

可以让VIM根据语法, 缩进,标记自动折叠。 用set foldmethod=foldoption 来设定。 可以查看一下foldmethod 。

 

保留折叠:

(1)要下一次打开的时候还保留折叠可以在离开的时候:mkview,再进来的时候:loadview就可以了。

(2)当然也可以将这两句加到vimrc里面让其自动完成。

au BufWinLeave * mkview

au BufWinEnter * silent loadview

这样每次就可以看到上次的折叠了。

 

其它技巧:

:set foldmethod=manual后,zc按缩进关闭所有折叠

 

九、vim标签命令

 

:tabnew 打开新标签

 

gt 标签间转换

 

十、vim选块命令

 

选定块后

 

shift+<向左移,shift+>向右移

 

 

man 帮助命令

q退出

.开头的文件是隐藏文件

 

ls -s

所有者 所有组

chmod 修改文件权限

cat file

mount

ctrl shift t

alt 1 

vim常用命令