当前位置: 首页 > 科技观察

Ubuntu16.04下如何在Vim中选择文本和使用

时间:2023-03-12 01:12:59 科技观察

标志一个基于图形界面的文本或源代码编辑器,提供了一些文本选择等功能。我的意思是,可能大多数人并不认为这是一项功能。对于像Vim这样的基于命令行的编辑器,情况并非如此。当你只使用键盘操作Vim时,你需要学习特定的命令来选择你想要的文本。在本教程中,我们将详细讨论Vim中的文本选择功能和标志功能。在此之前需要说明的是,本教程中提到的示例、命令和说明都是在Ubuntu16.04环境下测试的。Vim的版本是7.4。Vim的文本选择功能我们假设你已经具备了Vim编辑器的基本知识(如果没有,可以先阅读本文)。您应该知道,d命令可以剪切/删除一行。如果要剪切3行,请重复该命令3次。但是如果需要剪掉15行呢?重复d命令15次是否是一个实用的解决方案?很明显不是。在这种情况下,最好的方法是选择要剪切/删除的行并运行d命令。例如:如果我想剪切/删除下面截图中INTRODUCTION部分的第一段:TexteditedinVIM那么我的做法是:将光标放在第一行的开头,(确保退出插入模式)按V(即Shift+v)命令。此时Vim将打开视图模式并选择第一行。使用VIM选择一行现在,我可以使用“向下”箭头键来选择整个段落。用Vim选择多行这就是我们想要的,对吧!现在只需按d键,您就可以剪切/删除选定的段落。当然,除了剪切/删除之外,您可以对选定的文本执行任何操作。这给我们带来了另一个重要的问题:当我们不需要删除整行时,我们应该怎么做?也就是说,我们刚才讨论的解决方案只有在我们要对整行进行操作时才适用。那么如果我们只想删除一段的前三句怎么办?也有一个命令-只需将大写V替换为小写v。在下面的示例中,我使用v来选择段落的前三个句子:SelectthefirstthreesentencesinVimSometimes,thedatayouneedtotoprocess由单独的列组成,您可能需要选择特定的列。考虑下面的屏幕截图:Vom中的列假设我们只需要选择文本的第二列,即国家名称。在这种情况下,您可以将光标放在列的第一个字母上,然后按一次Ctrl+v。然后,按方向键“向下”选择每个国家名称的第一个字母:选择列的第一个字符,然后按方向键“向右”选择该列。在Vim中选择整列提示:如果您之前选择了一个文本块并想重新选择该文本块,只需在命令模式下按gv。使用标志有时,当您处理一个大文件(如源代码文件或shell脚本)时,您可能想要切换到特定位置,然后返回到您刚刚所在的行。如果两条线相距不远,或者你不是经常做这种操作,那么这不是问题。但是,如果您需要频繁地在当前位置和某个远距离线之间切换,那么最好的方法是使用标志。你只需要标记当前位置,然后你就可以通过标记名从文件中的任意位置返回到当前位置。在Vim中,我们使用m命令后跟一个字母来标记一行(字母代表标志名,可以是小写的a-z)。例如马。然后你可以使用命令'a(包括左边的单引号)返回到标记为a的行。提示:您可以使用“单引号”'跳转到标志行的第一个字符,或使用“反引号”`跳转到标志行的特定列。Vim的标志功能还有许多其他用途。例如,可以先标记一行,然后将光标移动到其他行,执行以下命令:d'[标记名称],删除当前位置和标记行之间的所有内容。在Vim官方文档中,有一个重要的内容:每个文件都有一些用小写字母(a-z)定义的标志。此外,存在一些由大写字母(A-Z)定义的全局标志,用于定义特定文件中的特定位置。例如,你可能同时编辑十个文件,每个文件都可以有标志a,但只有一个文件可以有标志A。我们已经讨论了使用小写字母作为Vim标志的基本用法,以及它们有多方便是。下面的摘录就足够清楚了:由于各种限制,大写字母标记乍一看可能不如小写字母标记好,但它可以用作快速文档书签。例如,打开.vimrc文件,按mV,然后退出。下次你想编辑你的.vimrc文件时,按'V打开它。最后,我们使用delmarks命令删除标记。例子::delmarksa这个命令将从文件中删除一个标记。当然你也可以删除flag所在的行,这样flag会自动删除。您可以在Vim文档中找到有关标志的更多信息。总结当您开始使用Vim作为您选择的编辑器时,本教程中提到的功能将是非常有用的工具,并且可以节省大量时间。您必须承认,这里介绍的文本选择和标记功能几乎不需要学习,只需要一点点练习。