zzxworld

Linux vi 命令选项的简单介绍

Linux 系统默认都会提供一些文本编辑工具,这其中一定少不了 vi。而且在一些 Linux 发行版中,vi 也是默认的文本编辑器,所以想要玩转 Linux,熟悉 vi 的用法是必不可少的。vi 的使用涉及到命令和编辑操作,本文先来介绍一下它作为命令时的一些选项和参数。

有必要说明一下,vi 其实就是 vim 命令的映射。关于这一点,可以通过下面的命令来证明:

[zzxworld@server ~]$ which vi
alias vi='vim'
        /usr/bin/vim

所以用 vi 时,换成 vim 用也是一样的。只不过 vi 敲起来更加快捷。

在使用 vi 之前,建议先创建配置文件。配置方法可以参考下面这篇文章:

如果实在服务器环境下使用,可以不用整太复杂,就简单的设置下行号和缩进符号什么的,就能极大的提升使用时的编辑体验。

vi 命令提供了一些选项可以以不同的模式来启动,比如只读模式:

vi -R filename

使用这种方式打开的文件,默认会无法保存。这可以用来防止一些以外操作。

另外还有一种对刚接触 Vim 的新手比较友好的「简单模式」,它使用 -y 选项来运行:

vi -y filename

使用这种方式启动的 Vim 用起来就和普通文本编辑器没有什么区别了,没有各种编辑模式的切换,输入什么显示的就是什么。在需要保存或退出的时候,按 Ctrl+l 快捷键,然后输入 :w 来保存,或是 :q 来退出。

另外一个比较实用的模式是比较模式,它可以同时打开两个文件,并对比其中内容间的差异:

vi -d filename-a filename-b

除了上面这些比较使用的编辑模式选项,vi 命令还有一些比较有意思的辅助编辑选项。比如打开文件后编辑文件的光标通常是位于第一行,通过下面的命令可以把光标定位到第 5 行:

vi +5 filename

不指定 + 后的数字可以让光标定位到最后一行。

而在碰到编辑时因为一些以外导致还没保存内容时,可以通过 -r 选项尝试找回之前正在编辑的内容:

vi -r filename

不过这个需要启用 swap 缓存文件功能。

vi 命令还有更多选项,根据所使用的版本,支持的选项和参数也不尽相同。使用 -h 选项可以一探究竟:

vi -h