
基于图形界面的文本或源代码编辑器,供给了一些诸如文本选择的功能。我是想说,可能大年夜多半人不认为这是一个功能。不过像 Vim 这种基于敕令行的编辑器就不是如许。当你仅应用键盘操作 Vim 的时刻,就须要进修特定的敕令来选择你想要的文本。在这个教程中,我们将具体评论辩论文本选择这一功能以及 Vim 中的标记功能。
在此之前须要解释的是,本教程中所提到的例子、敕令和指令都是在 Ubuntu 16.04 的情况下测试的。Vim 的版本是 7.4。
Vim 的文本选择功能
我们假设你已经具备了 Vim 编辑器的根本常识(如不雅没有,可以先浏览这篇文┞仿)。你应当知道,d 敕令可以或许剪切/删除一行内容。如不雅你想要剪切 3 行的话,可以反复敕令 3 次。不过,如不雅须要剪切 15 行呢?反复 d 敕令 15 次是个实用的解决办法吗?
显然不是。这种情况下的最佳办法是,选中你想要剪切/删除的行,再运行 d 敕令。举个例子:
Text edited in VIM
那么我的做法是:将光标放在第一行的开端,(确保退出了 Insert 模式)按下 V(即 Shift+v)敕令。这时 Vim 会开启视图模式,并选中第一行。

Select a line with VIM
如今,我可以应用偏向键“下”,来选中全部段落。
Select multiple lines with Vim
这就是我们想要的,对吧!如今只需按 d 键,就可以剪切/删除选中的段落了。当然,除了剪切/删除,你可以对选中的文本做任何操作。
这给我们带来了另一个重要的问题:当我们不须要删除整行的时刻,该怎么做呢?也就是说,我们刚才评论辩论的解决办法,仅实用于想要半数行做操作的情况。那么如不雅我们只想删除段落的前三句话呢?
其实也有响应的敕令 - 只需用小写 v 来代替大年夜写 V 即可。鄙人面的例子中,我应用 v 来选中段落的前三句话:

- d'[标记名]
Select the first three sentences in Vim
有时刻,你须要处理的数据由零丁的列构成,你的需求可能是选择特定的一列。推敲下面的截图:


在 Vim 中,我们应用 m 敕令紧跟一个字母来标记一行(字母表示标记名,可用小写的 a - z)。例如 ma。然后你可以应用敕令 'a (包含左侧的单引号)回到标记为 a 的行。
Columns in Vom

假设我们只需选择文本的第二列,即国度的名字。这种情况下,你可以将光标放在这一列的第一个字母上,按 Ctrl+v 一次。然后,按偏向键“下”,选中每个国度名字的第一个字母:
Select the first char of a column
然后按偏向键“右”,选中这一列。

Select a whole column in Vim
小桥绫桥:如不雅你之前选中了某个文本块,如今想从新选中那个文本块,只需在敕令模式下按 gv 即可。
应用标记
有时刻,你在处理一个很大年夜的文件(例如源代码文件或者一个 shell 脚本),可能想要切换到一个特定的地位,然后再回到刚才地点的行。如不雅这两行的地位不远,或者你并不常做这类操作,那么这不是什愦问题。
然则,如不雅你须要频繁地在当前地位和一些较远的行之间切换,那么最好的办法就是应用标记。你只需标记当前的地位,然后就可以或许经由过程标记名,大年夜文件的随便率性地位回到当前的地位。
小桥绫桥:你可以应用“单引号” ' 来跳转到标记行的第一个字符,或应用“反引号” ` 来跳转到标记行的特定列。
Vim 的标记功能还有很多其他的用法。例如,你可以先标记一行,然后将光标移到其他行,运行下面的敕令:
推荐阅读
【51CTO.com原创稿件】近日,青云推出了AppCenter 2.0这一面向企业级用户、应用供给商及开辟者供给的一整套高效完全的应用交授予运营治理平台。今朝,在AppCenter中已经有50俭朴业入驻,供>>>详细阅读
本文标题:Ubuntu 16.04 下如何在Vim中进行文本选择操作和使用标志
地址:http://www.17bianji.com/lsqh/34630.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示