模式化 强大的VIM 编辑器
vim [options] [/path/to/somefile]
3种模式{1,编辑模式(命令行模式)2,输入模式 3,末行模式}
模式间切换
编辑模式转为输入模式
1, iinstert:在当前光标所在处前面插入
2, aappend:z在当前光标所在行后面插入
3, o,在当前光标所在行的的下方新建一个空白行,并且转为输入模式
4, I 光标跳转至光标所在行首并改为输入模式
5,A 光标跳转至光标所在的行尾处并改为输入模式
6, O光标跳转至光标所在行的上一行,并改为输入模式
输入模式转为编辑模式
按ESC键即可
编辑模式转为末行模式
键入:
末行模式转为编辑模式
按两次ESC键
光标跳转 字符间的跳转 H左 L右 J下 K上
句子间跳转
) : 下一句
( : 前一句
段落间跳转
{ 上一段
} 下一段
行间跳转
gg 或者 1G 跳转至行首
G,跳转至行尾
#G,跳转至第#行的行首
行内跳转
^ :行首的第一个非空白字符
$ :绝对行尾
0 :绝对行首
关闭文件 在末行模式下:
:q 退出
:w 保存
:!强制
:wq 保存并退出
:q!强制退出
:x 等价于wq 保存并退出
在编辑模式下
ZZ 保存并退出
qall 退出全部
打开文件
vim –[options][file]
-o 打开多个文件时,上下屏显示
-O 打开多个文件时,左右屏幕显示
同时打开多个文件时,需要文本间跳转,在末行模式下,输入命令
:next 下一个
:last 最后一个
:first 头一个
:prev 前一个
编辑命令
x :删除单个字符
#x:删除#个字
dw :删除光标所在处的单词
db: 删除光标所在处的前一个单词
de : 删除光标所在处及下个单词
d^ : 从行首删除到当前光标所在处
dd :删除所在行
d$ :当前位置删除到光标所在行尾
在末行模式下使用d命令可以更加灵活
起始地址,结束地址
$:最后一行
.当前光标所在行
%,全文
1,8d ,第一行到第八行全部删除
%d 删除全文
1,$d 从第一行到最后一行全部删除
1,+5d 从第一行,到1+5行全部删除
1, $-3d 从第一行到当前光标所在行数-3所在的行删除
.,+4d从当前行到以后+4行所有的行全部删除
撤销操作
U, vim会保存最近50次的操作,U命令可逐一撤销此前编辑
粘贴
p在光标所在处的后方粘贴
P在光标所在出的前方粘贴
复制
yy :复制当前行
#yy :复制当前行所在的向下3行,
y$ :复制光标所在处至行尾
y^ :复制当前行到行首(光标自动跳转到行首)
yw :复制当前单词
Vim支持文本搜索
/keyword:从当前光标所在处向文件尾部查找
?keyword:从当前光标所在处向文件首部查找
n:下一个,跟命令查找方向相同
N:前一个,跟命令查找方向相反;
例子
1、删除/etc/passwd文件中行首的空白字符
%s@^[[:space:]]\{1,\}@@
2、替换/etc/passwd文件中”id:2:initdefault:”一行中的数字为6;
%s@id:2:@id:6:@g
3、删除某文件中开头的#号及后面的空白字符,但要求#号后面必须有空白字符;
%s@^#[[:space:]]\{1,\}@@
相关阅读:
在CentOS 6.2上搭建Vim开发环境 http://www.linuxidc.com/Linux/2013-07/87363.htm
Vim 7.4a 发布,全新更快的正则表达式引擎 http://www.linuxidc.com/Linux/2013-07/87035.htm
CentOS 5.4 安装高亮Vim编辑工具 http://www.linuxidc.com/Linux/2013-06/86508.htm
Vim技巧分享:C语言设置 http://www.linuxidc.com/Linux/2012-12/77124.htm
Ubuntu中设置Vim的行号 http://www.linuxidc.com/Linux/2012-12/75485.htm