需要学习如何在Linux中使用文本编辑器是无可争议的。 系统管理员和工程师处理配置(纯文本)文件每天的基础上,大多数时候这纯粹是通过在命令行界面的一个或多个工具(如纳米 ,VIM,或Emacs)来完成。
学习Linux Vi和Vim技巧和提示 - 第1部分
虽然纳米或许更适合新用户,VIM或Emacs对于有经验的用户的首选工具,由于其先进的功能。
但还有另一个原因,为什么学习如何使用这些文本编辑器应该是您的首要任务:您可能碰到一个仅CLI服务器或遇到与基于GUI的Linux服务器中的桌面管理器有关的问题或桌面和唯一的资源来检查它和编辑配置文件是命令行。
本条和2系列文章的下一个期间,我们将回顾15提示和技巧提高你的vim的技能。 假设您已经熟悉此文本编辑器。 如果没有,请你帮个忙,并成为进一步处理之前用vim熟悉:你可能要参考如何使用vi / vim的作为一个完整的文本编辑器进行了非常详细的指导与VIM开始。
第2部分 : 8有趣'VI / Vim的“编辑技巧和窍门
提示#1:使用在线帮助
当您启动vim的,请按F1或使用:在EX模式h进入在线帮助。 您可以通过放置在其上的光标,然后按跳到特定的部分或主题Ctrl+]
(Ctrl键 ,然后右方括号)。
大功告成后,按Ctrl+t
返回到上一画面。 或者,你可以查找具有特定主题或命令:h <topic or command>
。
例如,
:h x
将显示为X的帮助(删除)命令:
Vi Editor在线帮助
和
:h substitute
将弹出有关替换命令的帮助(我们最终的尖在这篇文章中)。
提示#2:使用标记来回跳转
如果你发现自己编辑一个文件是大于一个屏幕,你会欣赏标记提供的功能。 你可以将vim中的标记想象为书签 - 一旦你把它放在某个地方,你可以快速,轻松地回到它。 假设你在编辑一个300字的配置文件,因为某些原因需要反复线30和150之间。例如切换。
首先,请输入到线#30:30 前的模式,然后返回到命令模式,打马 (m,则A)创建一个名为管线30中的“A”标志。
然后去排队250(附:250 EX模式),并打`a
(反引号, 然后 )返回在30行标记 。 您可以使用小写和大写字母来识别VIM标记(现在重复这个过程创建一个符合#250命名的标记)。
您可以使用查看您的标记
:marks aA
在Vim编辑器中标记用法
如您所见,每个标记由文件上的特定行/列位置引用,而不仅仅是由行引用。
提示#3:重复上一个命令
假设你正在编辑一个shell脚本,并意识到以前的开发者是相当糟糕的,当谈到缩进。 让我们看看如何使用几个vim命令来修复它。
首先,通过将光标置于块的开始,然后按CTRL + V选择可视块(Ctrl键 ,然后V)。
- 要indentate到左:按
<j
- 要indentate向右:按
<j
然后按.
( 点 )命令重复任何缩进。 所选块将向右或向左移动,只需一次击键。
使用点命令的另一个典型的例子是,当你需要删除单词串联:将光标放在要删除的第一个字,然后按DW。 要继续删除接下来的话,只需按.
(不是重复DW几次短且容易)。
提示#4:插入特殊的Unicode字符
如果您的键盘布局不允许在文件中轻松插入特殊的Unicode字符,或者如果您发现自己位于服务器的前面,并且语言设置不同于您以前使用的语言设置,这个技巧将会派上用场。
要做到这一点,在插入模式按Ctrl + V后跟字母u和你想插入字符的十六进制数字代码。 您可以检查的Unicode图表为特殊字符及其对应的数字代码列表。
例如,
Ctrl + v后跟 | 返回 |
u0040 | @ @ |
u00B5 | μ |
u20AC | € |
提示#5:从vim中调用外部二进制文件
有时您需要将外部命令的输出直接插入到正在使用vim编辑的文件中。 例如,我经常创建一个在我的脚本名为DIR的绝对路径保存到脚本所在,以便在脚本中用到它的目录变量。 为了做到这一点,我使用:
:r! pwd
Ex模式。 因此,插入当前工作目录。
另一个例子:如果你需要在脚本中的某个地方使用默认网关,你可以很容易地将其插入当前文件而不退出vim,如下所示:
:!r ip route show | grep default | cut -f 3 -d " "
提示#6:插入现有文件
如果需要将单独文件的内容附加到当前正在编辑的文件中,则语法与上一提示类似。 只要省略惊叹号,你就可以走了。
例如,复制/ etc / passwd文件中的内容:
:r /etc/passwd
当你需要修改配置文件,但要在原有的回滚保持“ 出厂设置 ”可以这么说,你可能会发现这个提示非常有用。
提示#7:搜索并替换(替换)
真实的故事 。 一次在考试期间,我被要求打开一个包含随机数据的大文本文件。 分配的任务包括更换与地球字环球 (是的,我还记得原话)的每一次出现的。 对于那些熟悉SED,这将敲响了警钟- Ex模式,输入:
:%s/old/new/g
其中, 老是要搜索的图案和新的是,将取代它的字符串。
在上述情况下,我使用:
:%s/Globe/Earth/g
以完成工作。
那么,你想在提交替换之前提示什么? 简单。 而就在上述命令的末尾添加一个C,如下所示:
:%s/old/new/gc
将突出显示模式的出现,并询问您是否要将其替换为新字符串:
:%s/gacanepa/me/gc
在Vim中搜索和替换字符串
哪里
- Y:是
- N:无
- 答:所有的替代品
- 问:退出
- L:替代这次发生并退出
- ^ E(Ctrl + E键):向上滚动一屏
- ^ Y(按Ctrl + Y):向下滚动一屏
概要
在这篇文章中,我们已经开始审查VIM的一些技巧和窍门添加到您的文字编辑能力。 你可能会想到其他几个,所以请使用下面的形式分享,我会考虑覆盖它们在本vim系列的下一篇和最后一篇文章。 我期待着您的回音。