Linux系统VIM编辑器管理

2022-12-28 14:03:10 浏览数 (1)

在 Linux 的世界中,绝大部分的配置文件都是以 ASCII 的纯文本形态存在,因此利用简单的文字编辑软件就能够修改设定了,与微软的 Windows 系统不同的是,如果你用惯了 Microsoft Word 或 Corel Wordperfect 的话,那么除了 X window 里面的图形接口编辑程序,用起来尚可应付外,在 Linux 的文本模式下,会觉得文书编辑程序都没有窗口接口来的直观与方便.

♥ 文章声明 ♥ 该系列文章部分文字描述,整理于以下文献,化繁为简. 《鸟哥的Linux私房菜 (基础学习篇 第三版)》 - 作者:鸟哥 《Linux就该这么学》 - 作者:刘遄

VIM 有哪些特点呢 ? 1.所有的 Unix Like 系统都会内建 VIM 文本编辑器,其他的文书编辑器则不一定会存在. 2.很多个别软件的编辑接口都会主动呼叫 VIM (例如未来会谈到的 crontab, visudo, edquota 等指令) 3.VIM 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计. 4.因为VIM程序简单,并可自定义按键,从而编辑速度相当快速,在程序设计领域大有作为.

那么什么是 VIM 呢 ?

其实你可以将VIM视作VI的升级版,VIM可以用颜色或底线等方式来显示一些特殊的信息,简单的来说VI是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方.VIM则可以说是程序开发者的一项很好用的工具,就连VIM的官方网站自己也说VIM是一个『程序开发工具』而不是文字处理软件,因为VIM里面加入了很多额外的功能,例如支持正规表示法的搜寻架构、多档案编辑、区块复制等等.这对于我们在 Linux 上面进行一些配置文件的编辑时,是很好的一项功能.

那 VIM 的工作模式有哪些呢 ?

基本上VI/VIM共分为三种模式,分别是命令模式,输入模式,末行模式. 命令模式: 以 VI/VIM 打开一个文件就直接进入命令模式(这是默认的模式),在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理文件内容,也可以使用『复制、贴上』来处理你的文件数据.

编辑模式: 在输入模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的,要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式,注意,通常在 Linux 中,按下这些按键时,在画面的左下方会出现『 INSERT 或 REPLACE 』的字样,此时才可以进行编辑.而如果要回到一般模式时,则必须要按下『Esc』这个按键即可退出编辑模式.

末行模式: 在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将光标移动到最底下那一行,在这个模式当中,可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 VI/VIM、显示行号等等的动作则是在此模式中达成的.

VI/VIM模式按键

◆命令模式◆

以 VI/VIM 打开一个文件就直接进入命令模式(这是默认的模式),在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理文件内容,也可以使用『复制、贴上』来处理你的文件数据.

操作类型

操作键(命令)

功能(作用)

光标方向移动

↑ ↓ ← →

上、下、左、右

字母移动

H j k l

上、下、左、右

翻页

Page Down或Ctrl F(大)

向下翻动一整页内容

Page Up或Ctrl B(大)

向上翻动一整页内容

行内快速跳转

Home键或“^”、数字“00”

跳转至行首

End键或“$”键

跳转到行尾

行间快速跳转

1G或者gg

跳转到文件的首行

G

跳转到文件的末尾行

#G

跳转到文件中的第#行

删除

x或Del

删除光标处的单个字符

dd

删除当前光标所在行

#dd

删除从光标处开始的#行内容

d^ (d shift 6)

删除当前光标之前到行首的所有字符(不包含光标)

d$

删除当前光标处到行尾的所有字符(包含光标)

复制

yy

复制当前行整行的内容到剪贴板

#yy

复制从光标处开始的#行内容

粘贴

p

将缓冲区中的内容粘贴到光标位置处之后(下一行)

P(大)

粘贴到光标位置处之前(上一行)

替换

r

替换光标所在字符

R

从光标出开始替换,按ESC键结束

/word

/word

从上而下在文件中查找字符串“word”

?word

?word

从下而上在文件中查找字符串“word”

n

n

定位下一个匹配的被查找字符串

N

N

定位上一个匹配的被查找字符串

u

u

按一次取消最近的一次操作,多次重复按u键,恢复已进行的多步操作

U

U

用于取消对当前行所做的所有编辑

Shift zz或者ZZ

Shift zz(小)或者ZZ

保存当前的文件内容并退出vi编辑器

◆编辑模式◆

在输入模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的,要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式,注意,通常在 Linux 中,按下这些按键时,在画面的左下方会出现『 INSERT 或 REPLACE 』的字样,此时才可以进行编辑.而如果要回到一般模式时,则必须要按下『Esc』这个按键即可退出编辑模式.

操作类型

操作键(命令)

功能(作用)

光标后插入

a

在光标所在字符后插入

光标行尾插入

A

在光标所在行尾插入

光标前插入

i

在光标所在字符前插入

光标后插入

I

在光标所在行行首插入

光标下插入

o

在光标下插入新行

光标上插入

O

在光标上插入新行

◆末行模式◆

在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将光标移动到最底下那一行,在这个模式当中,可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 VI/VIM、显示行号等等的动作则是在此模式中达成的.

功能

命令

备注

保存文件

:w

保存所做操作

:w /root/newfile

另存为其它文件

退出vi

:q

未修改退出

:q!

放弃对文件内容的修改,并退出vi

:wq

保存文件退出

删除多行文件

:n,nd

删除从n-n的行

:e ~/install.log

打开新的文件进行编辑

:r /etc/filesystems

在当前文件中读入其他文件内容

:!命令

直接执行命令打印到屏幕上

:r!命令

导入命令结果到光标所在处

行号显示

set nu

在编辑器中显示行号

:set nonu

取消编辑器中的行号显示

颜色开关

:syntax off

关闭颜色显示

:syntax on

开启颜色显示

正则替换

0 人点赞