vi

功能强大的纯文本编辑器

字义

view

说明

是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。

vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用“A”、“a”、“O”、“o”、“I”、“i”键。

用法

vi [参数] 对象

对象

文件列表:指定要编辑的文件列表。多个文件之间使用空格分隔开。

参数

+<行号> #从指定行号的行开始先是文本内容
-b #以二进制模式打开文件,用于编辑二进制文件和可执行文件
-c<指令> #在完成对第一个文件编辑任务后,执行给出的指令
-d #以diff模式打开文件,当多个文件编辑时,显示文件差异部分
-l #使用lisp模式,打开“lisp”和“showmatch”
-m #取消写文件功能,重设“write”选项
-M #关闭修改功能
-n #不实用缓存功能
-o<文件数目> #指定同时打开指定数目的文件
-R #以只读方式打开文件
-s #安静模式,不现实指令的任何错误信息

扩展

vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入。常用内置命令如下:

Ctrl+u #向文件首翻半屏
Ctrl+d #向文件尾翻半屏
Ctrl+f #向文件尾翻一屏
Ctrl+b #向文件首翻一屏
Esc #从编辑模式切换到命令模式
ZZ #命令模式下保存当前文件所做的修改后退出vi
:行号 #光标跳转到指定行的行首
:$ #光标跳转到最后一行的行首
x或X #删除一个字符,x删除光标后的,而X删除光标前的
D #删除从当前光标到光标所在行尾的全部字符
dd #删除光标行正行内容
ndd #删除当前行及其后n-1行
nyy #将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
p #粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方
P #粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方
/字符串 #文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示
?name #文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示
a,bs/F/T #替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作
a #在当前字符后添加文本
A #在行末添加文本
i #在当前字符前插入文本
I #在行首插入文本
o #在当前行后面插入一空行
O #在当前行前面插入一空行
:wq #在命令模式下,执行存盘退出操作
:w #在命令模式下,执行存盘操作
:w! #在命令模式下,执行强制存盘操作
:q #在命令模式下,执行退出vi操作
:q! #在命令模式下,执行强制退出vi操作
:e文件名 #在命令模式下,打开并编辑指定名称的文件
:n #在命令模式下,如果同时打开多个文件,则继续编辑下一个文件
:f #在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例
:set number #在命令模式下,用于在最左端显示行号
:set nonumber #在命令模式下,用于在最左端不显示行号

相关命令

软件包

vi 命令详解和基本用法,vi 命令语法及参数解读, vi 命令使用方法及实例演示。

实例

  1. 编辑 /root/install.log 文件

    vi /root/install.log

     

  2. 从第2行开始编辑 /root/install.log 文件

    vi +2 /root/install.log

     

  3. 以只读模式打开 /root/install.log 文件

    vi -R /root/install.log