【Linux】vim的使用
Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。vim编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。
本文将在Centos6.5中介绍vim的使用:
CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。每个版本的 CentOS都会获得十年的支持(通过安全更新方式)。CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。
下面介绍Vim的一些基础用法:
1、从命令行到插入模式
i : 光标前插入
a :光标后插入
I :行首插入
A :行末插入
o:光标下一行行首
O:光标上一行行首
cw:替换从光标所在位置后到一个单词结尾的字符
i ---Insert 模式,按 ESC 回到 Normal 模式.
2、末行模式:
w 保存
q 退出
x 保存并退出
[esc] + [:]+ [wq]:保存并退出
:q! 直接退出不保存
:wq! (在可以转换权限的情况下)强制保存并退出
:w filename 另存为filename
:set nu 显示行号
:set nonu 不显示行号
:! command 暂时离开vim,并执行command,执行完后再进入vim
:r filename 将filename文件的数据读入当前文件
:set all 显示当前vim的环境配置
3、替换命令:
将abc替换为ABC
末行模式下,将光标所在行的abc替换为ABC: % s/abc/ABC/g
末行模式下,将1-10行的abc替换为ABC: 1,10s/abc/ABC/g
4、删除命令:
x:删除光标后的一个字符Del
X:删除光标前的一个字符Backspace
dd:删除光标所在行,剪切,可以配合p粘贴使用
n dd :删除指定的行数
d0:删除光标前本行所有内容,不包含光标所在字符
dw:删除光标开始位置的字,包含光标所在字符
D:删除光标后本行所在所有内容,包括光标所在字符
5、拷贝和粘贴
nyy 拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。
p 在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。
shift+p 在当前行前粘贴
:1 10 co 20 将1-10行插入到第20行之后。
:1 $ co $ 将整个文件复制一份并添加到文件尾部。
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制
ddp交换当前行和其下一行
xp交换当前字符和其后一个字符
6、剪切命令
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切
ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴
:1 10d 将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。
:1 10 m 20 将第1-10行移动到第20行之后。
3,5 s/^/#/g 注释第3-5行
3,5 s/^#//g 解除3-5行的注释
:%s/^/#/g 注释整个文档,此法更快。
8、查找命令
?text 查找text,反向查找,按n健查找下一个,按N健查找前一个。
vim中有一些特殊字符在查找时需要转义 .*[]^%/?~$
:set ignorecase 忽略大小写的查找
:set noignorecase 不忽略大小写的查找
:set hlsearch 高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。
:set nohlsearch 关闭高亮搜索显示
:nohlsearch 关闭当前的高亮显示,如果再次搜索或者按下n或N键,则会再次高亮。
:set incsearch 逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。
:set wrapscan 重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。
以上是vim的一些基础的使用方法介绍。Vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。所以熟悉Vim的一些基本操作会让初学Linux的程序员更快入门,锦上添花。由于本人的水平有限,有不足的地方欢迎大家批评指正!