几个月前,Linux基金会发起的LFCS(Linux基金会认证的系统管理员 )的认证,以帮助来自世界各地的人来验证他们有能力做基础到中间系统管理任务上的Linux系统:系统支持,第一 - 手动故障排除和维护,以及智能决策,知道什么时候向上层支持团队提出问题。
在Linux中学习VI编辑器
请查看以下介绍Linux基础认证计划的视频。
这篇文章是一个10系列教程第2部分 ,在这里这部分,我们将讨论在vi / M编辑基本的文件编辑操作和理解方式,所需的LFCS认证考试。
使用vi / m执行基本文件编辑操作
六是为Unix写的第一个全屏幕文本编辑器。 虽然它打算以小而简单,它可以是一个有点挑战性的专门用于GUI文本编辑器如记事本++或gedit的人,仅举几例。
使用vi,首先要了解在这个强大的程序操作,以便开始后关于其强大的文本编辑程序学习3种模式。
请注意,最现代的Linux发行版附带称为VIM 第六变体(“六提高”),它支持更多的功能比原来的VI一样。 因此,在本教程中,我们将交替使用vi和vim。
如果您的分发版没有安装vim,您可以如下安装。
- Ubuntu和衍生物 :性向更新&&安装资质的VIM
- 红基于Red Hat的发行版 :Yum更新&&Yum安装VIM
- openSUSE的 :zypper的更新&& zypper的安装VIM
我为什么要学习vi?
至少有两个好的理由来学习vi。
1, 六是始终可用(无论你使用什么样的分布),因为它是由POSIX要求。
2. 六不消耗大量的系统资源,使我们无需从键盘抬起我们的手指执行任何可以想象的任务。
此外,vi有非常丰富的内置手动,这可以使用启动:在程序启动之后help命令。 这个内置手册包含的信息比vi / m的手册页更多。
vi手册页
发射vi
要启动vi,请在命令提示符处键入vi。
启动vi编辑器
然后按i键进入插入模式,你可以开始输入。 另一种启动vi / m的方法是。
# vi filename
这将打开一个新的缓冲区(更多的缓冲区后)命名文件名,你可以以后保存到磁盘。
了解Vi模式
在命令模式下,vi允许用户在文件周围导航并输入vi命令,这些命令是一个或多个字母的大小写敏感的组合。 几乎所有的都可以前缀一个数字来重复命令的次数。
例如,YY(或Y)拷贝整个当前行,而3yy(或3Y)复印件与两个下一行(3行共)沿整个当前行。 我们可以随时按Esc键进入命令行模式(不管我们工作的方式)。 事实上,在命令模式下,键盘键被解释为命令而不是文本,这往往使初学者感到困惑。
2.在Ex模式,我们可以操纵文件(包括保存当前的文件并运行外部程序)。 要进入该模式,我们必须键入一个冒号:从命令模式,直接跟着一个需要使用的前-mode命令的名称()。 之后,vi自动返回命令模式。
3.在插入模式下,我们简单地输入文本( 我常用来进入该模式字母)。 大多数击键导致文本出现在屏幕上(一个重要的例外是Esc键,这将退出插入模式并返回到命令模式)。
vi插入模式
Vi命令
下表显示常用的vi命令列表。 可以通过将惊叹号附加到命令来强制执行文件编辑命令(例如,<b.:q!强制退出而不保存)。
键命令 | 描述 |
h或左箭头 | 向左移一个字符 |
j或向下箭头 | 向下走一条线 |
k或向上箭头 | 上去一行 |
l(小写L)或右箭头 | 向右移一个字符 |
H | 转到屏幕顶部 |
L | 转到屏幕底部 |
G | 转到文件的结尾 |
w | 向右移动一个字 |
b | 向左移动一个字 |
0(零) | 转到当前行的开头 |
^ | 转到当前行上的第一个非空白字符 |
$ | 转到当前行的结尾 |
Ctrl-B | 返回一个屏幕 |
Ctrl-F | 前进一个屏幕 |
一世 | 在当前光标位置插入 |
I(大写i) | 在当前行的开头插入 |
J(大写j) | 加入当前行与下一行(移动下一行) |
一个 | 追加在当前光标位置之后 |
o(小写O) | 在当前行之后创建一个空行 |
O(大写o) | 在当前行之前创建一个空行 |
r | 替换当前光标位置处的字符 |
R | 在当前光标位置覆盖 |
X | 删除当前光标位置处的字符 |
X | 删除当前光标位置之前(向左)的字符 |
dd | 剪切(以后粘贴)整个当前行 |
D | 从当前光标位置切换到行尾(此命令相当于d $) |
yX | 给出移动命令X,从当前光标位置复制(yank)适当数量的字符,字或行 |
yy或Y | Yank(复制)整个当前行 |
p | 粘贴当前光标位置(下一行) |
P | 粘贴之前(上一行)当前光标位置 |
。 (期) | 重复最后一个命令 |
u | 撤消上一个命令 |
U | 撤消最后一行中的最后一个命令。 这将工作,只要光标仍然在行上。 |
n | 在搜索中查找下一个匹配项 |
N | 在搜索中查找上一场比赛 |
:n | 下一个文件; 当指定多个文件进行编辑时,此命令加载下一个文件。 |
:e file | 加载文件代替当前文件。 |
:r文件 | 在当前光标位置之后(下一行)插入文件的内容 |
:q | 退出而不保存更改。 |
:w文件 | 将当前缓冲区写入文件。 要附加到现有文件,请使用:w >> file。 |
:wq | 写入当前文件的内容并退出。 相当于x! 和ZZ |
:r! 命令 | 执行命令并在当前光标位置(下一行)之后插入输出。 |
Vi选项
下列选项可以派上用场Vim运行(我们需要增加他们在我们的〜/ .vimrc文件)。
# echo set number >> ~/.vimrc # echo syntax on >> ~/.vimrc # echo set tabstop=4 >> ~/.vimrc # echo set autoindent >> ~/.vimrc
vi编辑器选项
- 集数字显示行数时,VI打开现有的或新的文件。
- 为了对语法高亮(对于多个文件扩展名)打开语法使代码和配置文件更具可读性。
- 设置制表位= 4套标签大小为4个空格(默认值为8)。
- 一套自动缩进进行比上年缩进到下一行。
搜索和替换
vi具有基于搜索将光标移动到特定位置(在单行或整个文件上)的能力。 它也可以执行文本替换有或没有用户的确认。
一个)。 行内搜索:F指令搜索了一条线,光标移动到当前行的指定字符的下一次出现。
例如,该命令FH将光标移动到字母h的下一个实例当前行内。 需要注意的是,无论是字母f,也没有你正在寻找随时随地会出现在屏幕上的字符,但字符将被高亮显示您按下回车键 。
例如,这是我在命令模式下按下F4键后得到的。
在Vi中搜索字符串
b)。 搜索整个文件:使用/命令,后面的单词或短语进行搜索。 一个搜索可以使用与n命令,或下一个(使用N命令)上一搜索字符串重复。 这是打字/简在命令模式下的结果。
Vi在文件中搜索字符串
C)。 vi使用命令(类似于sed的)来对一定范围的行或整个文件执行替换操作。 若要更改文字“ 老 ”到“ 年轻 ”整个文件,我们必须输入以下命令。
:%s/old/young/g
注意 :在命令开头的冒号。
Vi搜索和替换
冒号(:))开始前的命令,S在这种情况下(替换),%是一个快捷键从第一行到最后一行的意思(范围也可以指定为N,M意思是“来自行n至线M“), 老的是搜索模式,而年轻就是替换文本和g表示替换应在文件中搜索字符串的每次出现进行。
可替代地,一个C可以被添加到命令的末尾执行任何替换之前请求确认。
:%s/old/young/gc
在使用新文本替换原文之前,vi / m将向我们提供以下消息。
替换Vi中的字符串
- Y:执行替换(是)
- N:跳过此事件并转到下一个(无)
- 答 :执行本的替代和模式的所有后续实例。
- Q或Esc键 :退出替代。
- l( 小写 的 L):执行这个替换和退出(最后一个)。
- CTRL-E,CTRL-Y:向下滚动起来,分别查看提议替代的情况下。
一次编辑多个文件
让我们在我们的命令提示符下键入VIM文件1文件2文件3。
# vim file1 file2 file3
首先,Vim会打开文件1。 要切换到下一个文件( 文件2),我们需要使用:n命令。 当我们想回到以前的文件,:N将做的工作。
为了从文件1切换到file3的 。
一个)。 本:缓冲区命令将显示当前正在编辑的文件列表。
:buffers
编辑多个文件
b)。 命令:缓冲区3(不带S在结束)将打开文件3进行编辑。
在上图中,英镑符号(#)表示该文件是当前打开,但在后台,而%A标志着当前正在编辑的文件。 另一方面,文件编号(在上述示例中为3)之后的空白空间表示文件尚未被打开。
临时vi缓冲区
复制一对连续行(假设4,例如)到名为一个临时缓冲器(未与文件相关联),并放置这些行中以后在当前六部分的文件的另一部分,我们需要...
1.按ESC键,以确保我们在vi命令模式。
2.将光标置于我们要复制的文本的第一行。
3.键入“a4yy”复制当前行,用3后续行以来,到一个名为缓冲区。 我们可以继续编辑我们的文件 - 我们不需要立即插入复制的行。
4.当我们到达复制的线的位置, 一个在P之前用“或P命令插入复制到缓冲区中的行命名为 :
- 键入“AP插入复制到缓冲区上的光标搁在当前行之后的行。
- 键入“AP插入当前行之前复制到缓冲区中的行。
如果我们希望,我们可以重复上面的步骤,将缓冲区a的内容插入到文件中的多个位置。 在当前窗口关闭时,布置如本节中的临时缓冲区。
概要
正如我们已经看到,VI / m是为CLI一个强大和灵活的文本编辑器。 随意分享您自己的技巧和评论如下。
参考链接
更新 :如果你想扩展您的VI编辑技能,那么我建议你阅读下面的两个指南,将指导您一些有用的VI编辑技巧和提示。
第1部分 : 学到有用的“VI / Vim的'编辑提示和技巧,以提高您的技能
第2部分 : 8有趣'VI / Vim的“编辑技巧和窍门