8个有趣的“Vi / Vim”编辑器提示和技巧为每个Linux管理员 - 第2部分

了解如何有效地使用vim文本编辑器在Linux中的提示和技巧对系统管理员或工程师来说是必不可少的功能,是必需的

在本系列的前一篇文章中,我们回顾7提示和技巧添加到您的设置VI /平方米技能 。 除了前面给出的原因,学习如何有效使用Linux中的文本编辑器为系统管理员或工程师的基本能力,是一个必需的能力传递任何主要的Linux认证计划(如LFCS联邦经济竞争法RHCSARHCE ) 。
在Linux中学习Vi / Vim编辑器

8有趣的“Vi / Vim”编辑提示和技巧 - 第2部分

也就是说,让我们开始吧。

提示#8:创建水平或垂直窗口

这个技巧是Yoander,我们的读者之一,在共享的第1部分可以启动VI /米,多的水平或垂直划分编辑同一个主窗口内单独的文件: 与两个水平窗口发射六/米,在顶部TEST1TEST2在底部
# vim -o test1 test2 
在水平窗口中启动Vim编辑器

在水平窗口中启动Vim编辑器

与两个垂直的窗口,与在左侧和TEST4右侧TEST3发射六/米:
# vim -O test3 test4 
在垂直窗口中启动Vim Editor

在垂直窗口中启动Vim Editor

您可以从一个窗口切换光标移动到另一与通常的VI / M移动程序(H:,L:,J:底部,K:上图):
  1. 按Ctrl + WK -顶部
  2. 按Ctrl + WJ -底部
  3. 按Ctrl + WL -左
  4. 按Ctrl + WH -右

提示#9:将字母,字或整行更改为UPPERCASE或小写

请注意,此提示仅适用于vim。在接下来的实施例中,X是整数。
  1. 要改变一系列的字母为大写,第一个字母将光标定位,然后在Ex模式键入gUX,最后按下键盘上的右箭头。
  2. 要改变x的单词数,将光标在单词的开头,并在Ex模式键入gUXw。
  3. 要改变整个线路为大写,任何地方就行光标和ex模式键入GUU。
例如,将整个小写线为大写转换,您应该随时随地将光标放在行和类型GUU:
在Vim编辑器中将字符串更改为大写

在Vim编辑器中将字符串更改为大写

例如,要转换成2大写单词为小写 ,你应该将光标放在第一个字的开头并键入gu2w:
在Vim编辑器中将字符串转换为小写

在Vim编辑器中将字符串转换为小写

提示#10:在INSERT模式下删除字符,字或行的开头

虽然你可以在Ex模式下一次删除字符或几个单词(即DW删除一个字),你也可以在插入模式下做到这一点,如下所示:
  1. 按Ctrl + H:删除前一个字符到光标当前所在的位置。
  2. Ctrl + W:删除前一个单词到光标当前所在的位置。为了使其正常工作,光标必须放在需要删除的单词之后的空白空间中。
  3. 按Ctrl + U:删除在字符立即开始光标所在的地方左侧的当前行。

提示#11:将现有行移动或复制到文档的另一行

虽然确实可以使用众所周知的dd,yy和p命令在ex模式下分别删除,yank(复制)和粘贴行,只有当光标放置在您要执行那些操作的位置。好消息是,随着复制移动命令,你可以做同样的无论在哪里光标当前放置。 在接下来的例子中,我们将用一首短诗特里妮可Tharrington名为“ 永远 ”。 首先,我们将有VIM显示行号(:在命令模式设置NU -认为这是一个额外的提示)。 我们将使用:3copy5(也是在命令模式)来复制下面的5号线3号线:
在Vim中移动复制现有行

在Vim中移动复制现有行

现在,撤销上次更改(ESC + U -另一奖金提示!),然后输入:1move7与1号线,以取代7号线请注意如何行2到7上移和前1号线现在占据7行:
在Vim编辑器中移动线

在Vim编辑器中移动线

提示#12:通过模式搜索产生的计数匹配,并从一个事例移动到另一个事件

这个技巧(在本系列的第1部分提示#7)的基础上替换命令,唯一的例外,由于替代行为是由n选项覆盖它并不会删除任何东西,所以在指定的模式中出现的次数: 确保不要忽略任何正斜杠!
:%s/pattern//gn 
例如,
:%s/libero//gn
通过Vim中的搜索模式计数匹配

通过Vim中的搜索模式计数匹配

为了摆脱一体的格局出现在Ex模式,按N(小写N)下。 要移动到以前的实例,按N键。

提示#13:在指定行中直接打开vi / m

默认情况下,当您启动vi / m时,光标最初位于编辑的最后一行。如果要打开程序并将光标直接放在指定的行上,可以使用以下技巧:
# vim filename +line_number
例如,打开forever.txt和将光标放在6号线:
# vim forever.txt +6
让我们稍微调整一下这个例子。假设我们要在第三次出现模式的行上打开文件:
# vim filename +$(grep -in pattern filename | sed -n 3p | cut -d: -f1)
让我们仔细看看上面的命令:
  1. 从那里图案时,在每个输出行的开头的行号的文件名显示的行- 用grep -in图案文件名
  2. SED -n 3P -显示从前面的管道输出3号线。
最后,
  1. 切-d:-f1返回前流水线的第一场用冒号(:)是字段分隔符。
# grep -in forever forever.txt
# grep -in forever forever.txt | sed -n 3p
# grep -in forever forever.txt | sed -n 3p | cut -d: -f1
在指定行中打开Vim编辑器

在指定行中打开Vim编辑器

然后将上一个命令的结果传递给vi / m,以在指定的行打开程序。

提示#14:自定义vi / m环境

如果您使用vi / m至编辑配置文件或编写代码,你会希望能够显示的行号当你第一次打开该程序,并设置自动缩进,这样当你按下回车键,光标会自动放置在正确的位置。此外,您可能想要自定义标签占据的空格数量。 虽然你可以做,你推出VI /米每一次,它更容易设置这些选项~/.vimrc ,这样他们将被自动应用:
set number
set autoindent
set shiftwidth=4
set softtabstop=4
set expandtab
有关更多选项来定制您的VI /米的环境中,你可以参考一下网上Vim文档

提示#15:获取常规Vim帮助/选项与vimtutor

如果在任何时候你需要刷了您的一般VI /米的技能,你可以启动命令行vimtutor这将显示一个完整的VI /平方米帮助,你可以参考一下经常如你所愿,而无需启动一个web浏览器来搜索如何在vi / m中完成某个任务。
# vimtutor
Vim Editor帮助和选项

Vim Editor帮助和选项

请注意,您可以导航或搜索vimtutor的内容,就像在vi / m中导航常规文件一样。

概要

在这篇2篇文章系列中,我共享了几个vi / m提示和技巧,应该可以帮助您在使用命令行工具编辑文本时更有效。我相信你必须有其他的 - 所以随时与社区的其他人分享他们使用下面的表格。和往常一样,欢迎提出问题和意见。