详解Unix/Linux系统中vi编辑器

运维 系统运维
自从计算机的风靡,导致很多人开始学习开始学习这方面的知识,今天讲讲Unix/Linux系统中vi编辑器的知识。vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器。看了不少关于vi的资料,终于得到这个总结。

自从计算机的风靡,导致很多人开始学习开始学习这方面的知识,今天讲讲Unix/Linux系统中vi编辑器的知识。vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器。看了不少关于vi的资料,终于得到这个总结。不敢独享,和你们共享。

首先,记住vi编辑器的两个模式:1、命令模式 2、编辑模式。

在一个UNIX/Linux的shell命令或者一个以斜杠(/)、问号(?)或冒号(:)开始的vi命令后面用户需要键入回车键,而要切换到vi命令模式需要按Esc键。注意,以冒号(:)或者斜杠(/) 开始的vi命令会显示在屏幕底部,但其他命令都不会显示在屏幕上。

打开、写入和关闭文件(使用Enter键)

vi file 打开文件名为file的文件(UNIX shell命令)
:w将工作缓冲区的变化写入默认文件中
:w file 将工作缓冲区的变化写入名为file的文件中
:q 退出vi编辑器
:wq将工作缓冲区的变化写入文件并退出
:q!不将工作缓冲区的变化写入文件并退出vi编辑器

插入文本(vi命令模式下使用)

a在当前光标位置的右边添加文本
i在当前光标的左边插入文本
A在当前行的末尾添加文本
I在当前行的开始出添加文本
O在当前行的上面新建一行
o在当前行的下面新建一行
R替换(覆盖)当前光标位置以及以后的若干文本
J 连接光标所在行以及下一行,成为一行

移动光标

上下左右方向键 向箭头所示方向移动光标一个位置
h向左
j向下
k向上
l向右
空格键向右
Backspace向左
Enter向下移动到下一行的行首
-(连字符键)向上移动到上一行的行首

纠正错误(vi命令模式下使用)

x删除一个字符
dd删除当前行
ndd 上除当前行在内的n行
u撤销上一次操作(最后一步)
U撤销对当前行的所有操作

拼写检查(UNIX shell命令)

spell file 显示问及那file中找到的拼写错误
ispell file 显示问及那file中找到的拼写错误

搜索(vi命令模式下使用)

/word向前搜索第一个出现的word
/ 继续向前搜索下一个word
?word向后搜索第一个出现的word
?继续向后搜索下一个word

跳跃到指定行(vi命令模式使用)

n+向前(向下)跳跃n行
n-向后(向上)跳跃n行
nG跳跃到行号为n的行,G为Go
G跳跃到文件的底部

设置行号(vi命令模式下使用)

:set nu在屏幕上显示行号
:set nonu 取消行号

复制和粘贴(vi命令模式下使用)

"knyy复制n行到缓冲区"k
"kp 将缓冲区"k的内容粘贴到当前行的下面

全局替换文本(vi命令模式下使用)

:%s/old/new/g用new替换文件中的所有old。s为substitution,替换的意思。g为global。

 编辑另一个文件(vi命令模式下使用)

:e otherfile编辑文件名为otherfile的文件

为命令行编辑制定一个编辑器(UNIX shell命令)

bindkey -v指定vi编辑器(用于 tcsh)
VISUAL=vi指定vi编辑器(用于 ksh)
set -o vi  指定vi编辑器(用于 bash)

缓冲区:

前面讲过,vi编辑器设计上是对工作缓冲区的文件副本进行编辑。在使用vi编辑器的时候,用户还可以访问其他缓冲区。总共有36个缓冲区。
◆ 未命名缓冲区
◆ 已命名缓冲区 "a、"b、"c、……、 "z
◆  已编号缓冲区 "1、"2、"3、……、 "9
未命名缓冲区有时也叫做一般缓冲区。在修改文本时,旧文本并没有被立刻删除。vi将旧文本放在未命名缓冲区直到用户删除修改更多的文本。这样就可以实现撤销,具体命令为 u。因为vi只有一个未命名缓冲区,所以只能撤销一次。

命令模式和编辑模式的切换:

如果不清楚当前所在的模式,可以连续按2次Esc键盘,主机会发出警报声,这样就肯定进入了命令模式。在命令模式下面,输入a A i I O o R都会进入编辑模式。所输入的这单个字符不会显示,也不会插入到文件中。

希望本文对你了解Unix/Linux系统中vi编辑器有所帮助。

【编辑推荐】

  1. 阐述Linux操作系统安装无线网卡驱动
  2. Wine成功运行Bitcomet于Linux操作系统中
  3. 浅析Linux操作系统中开源Cisco路由虚拟机
  4. Linux操作系统基本知识
  5. 学习手册:Linux操作系统下的poll和select
责任编辑:小霞 来源: IT168
相关推荐

2009-07-31 17:38:47

linux vi命令详linux vi命令屏幕文本编辑器

2010-04-16 18:02:30

Unix操作系统

2009-10-27 16:47:58

linux vi编辑器

2024-02-28 16:26:14

Linuxvi编辑器

2009-12-25 13:00:47

Linux编辑器Vi

2009-10-27 12:43:41

linux vi编辑器

2010-03-24 09:20:07

CentOS vi编辑

2020-12-23 22:25:11

Vi文本编辑器Unix

2009-07-08 09:21:09

Linux安装JDK

2009-11-26 17:37:37

Linux编辑器

2018-02-09 09:58:41

Linux编辑器Vi

2018-01-25 18:30:05

编辑器ViVim

2018-04-19 14:30:25

LinuxVi编辑器

2009-10-26 10:47:57

linux vi编辑器

2010-04-16 18:15:11

Unix操作系统

2009-02-26 08:54:50

FCKeditorHTML编辑器

2013-09-10 16:02:59

Elipse编辑器

2011-09-07 09:30:46

Lua编辑器Scite

2010-04-06 14:45:46

vi编辑器

2010-11-16 13:21:08

Oracle命令行
点赞
收藏

51CTO技术栈公众号