服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|

在Vim中进行文本选择操作和使用标志的方法

2019-06-23 16:23服务器之家 Ubuntu

一些朋友不知道如何在Vim中进行文本选择操作和使用标志。下面小编就为大家带来在Vim中进行文本选择操作和使用标志的方法,希望对大家会有帮助,有需要的朋友一起去看看吧

基于图形界面的文本或源代码编辑器,提供了一些诸如文本选择的功能。我是想说,可能大多数人不觉得这是一个功能。不过像 Vim 这种基于命令行的编辑器就不是这样。当你仅使用键盘操作 Vim 的时候,就需要学习特定的命令来选择你想要的文本。在这个教程中,我们将详细讨论文本选择这一功能以及 Vim 中的标志功能。

在此之前需要说明的是,本教程中所提到的例子、命令和指令都是在 Ubuntu 16.04 的环境下测试的。Vim 的版本是 7.4。

Vim 的文本选择功能

我们假设你已经具备了 Vim 编辑器的基本知识(如果没有,可以先阅读:http://www.zzvips.com/article/3886.html)。你应该知道,d 命令能够剪切/删除一行内容。如果你想要剪切 3 行的话,可以重复命令 3 次。不过,如果需要剪切 15 行呢?重复 d 命令 15 次是个实用的解决方法吗?

显然不是。这种情况下的最佳方法是,选中你想要剪切/删除的行,再运行 d 命令。举个例子:

假如我想要剪切/删除下面截图中 INTRODUCTION 小节的第一段:

在Vim中进行文本选择操作和使用标志的方法

那么我的做法是:将光标放在第一行的开始,(确保退出了 Insert 模式)按下 V(即 Shift+v)命令。这时 Vim 会开启视图模式,并选中第一行。

在Vim中进行文本选择操作和使用标志的方法

现在,我可以使用方向键“下”,来选中整个段落。

在Vim中进行文本选择操作和使用标志的方法

这就是我们想要的,对吧!现在只需按 d 键,就可以剪切/删除选中的段落了。当然,除了剪切/删除,你可以对选中的文本做任何操作。

这给我们带来了另一个重要的问题:当我们不需要删除整行的时候,该怎么做呢?也就是说,我们刚才讨论的解决方法,仅适用于想要对整行做操作的情况。那么如果我们只想删除段落的前三句话呢?

其实也有相应的命令 - 只需用小写 v 来代替大写 V 即可。在下面的例子中,我使用 v 来选中段落的前三句话:

在Vim中进行文本选择操作和使用标志的方法

有时候,你需要处理的数据由单独的列组成,你的需求可能是选择特定的一列。考虑下面的截图:

在Vim中进行文本选择操作和使用标志的方法

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

在Vim中进行文本选择操作和使用标志的方法

然后按方向键“右”,选中这一列。

在Vim中进行文本选择操作和使用标志的方法

小窍门:如果你之前选中了某个文本块,现在想重新选中那个文本块,只需在命令模式下按 gv 即可。

使用标志

有时候,你在处理一个很大的文件(例如源代码文件或者一个 shell 脚本),可能想要切换到一个特定的位置,然后再回到刚才所在的行。如果这两行的位置不远,或者你并不常做这类操作,那么这不是什么问题。

但是,如果你需要频繁地在当前位置和一些较远的行之间切换,那么最好的方法就是使用标志。你只需标记当前的位置,然后就能够通过标志名,从文件的任意位置回到当前的位置。

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

小窍门:你可以使用“单引号” ' 来跳转到标志行的第一个字符,或使用“反引号” ` 来跳转到标志行的特定列。

Vim 的标志功能还有很多其他的用法。例如,你可以先标记一行,然后将光标移到其他行,运行下面的命令:

d'[标志名]

来删除当前位置和标志行之间的所有内容。

在 Vim 官方文档中,有一个重要的内容:

每个文件有一些由小写字母(a-z)定义的标志。此外,还存在一些由大写字母(A-Z)定义的全局标志,它们定义了一个特定文件的某个位置。例如,你可能在同时编辑十个文件,每个文件都可以有标志 a,但是只有一个文件能够有标志 A。

我们已经讨论了使用小写字母作为 Vim 标志的基本用法,以及它们的便捷之处。下面的这段摘录讲解的足够清晰:

由于种种局限性,大写字母标志可能乍一看不如小写字母标志好用,但它可以用作一种快速的文件书签。例如,打开 .vimrc 文件,按下 mV,然后退出。下次再想要编辑 .vimrc 文件的时候,按下 'V 就能够打开它。

最后,我们使用 delmarks 命令来删除标志。例如:

:delmarks a

这一命令将从文件中删除一个标志。当然,你也可以删除标志所在的行,这样标志将被自动删除。

总结

当你开始使用 Vim 作为首选编辑器的时候,类似于这篇教程中提到的功能将会是非常有用的工具,能够节省大量的时间。你得承认,这里介绍的文本选择和标志功能几乎不怎么需要学习,所需要的只是一点练习。

延伸 · 阅读

精彩推荐
  • Ubuntu修改Ubuntu系统的登陆信息的简单方法

    修改Ubuntu系统的登陆信息的简单方法

    这篇文章主要介绍了修改Ubuntu系统的登陆信息的简单方法,同常就是用来设置一条欢迎信息,不过文中还包括了其他信息的显示方法,需要的朋友可以参考下...

    qiujichun4532019-06-11
  • UbuntuUbuntu系统中gVim的基本安装与配置教程

    Ubuntu系统中gVim的基本安装与配置教程

    这篇文章主要介绍了Ubuntu系统中gVim的基本安装与配置教程,gVim是Vim加上图形化操作界面,比Linux系统自带的Vi使用起来要更简单一些,需要的朋友可以参考下...

    newjueqi2992019-06-06
  • UbuntuUbuntu系统中WPS不能输入中文该怎么办?

    Ubuntu系统中WPS不能输入中文该怎么办?

    Ubuntu系统中WPS不能输入中文该怎么办?Ubuntu系统中安装了wps,但是在编辑文件的时候发现不能输入中文,该怎么办呢?下面我们就来看看详细的教程,需要的朋友可以参考下...

    Ubuntu之家2642019-06-19
  • Ubuntuubuntu14.04下apt-get install的报错以及解决方法

    ubuntu14.04下apt-get install的报错以及解决方法

    前几天想要在ubuntu server 14.04下安装redis-server 结果指令敲进去之后就报错,具体什么信息我没有保留,大概就是说你磁盘空间已经满了之类的,还让你尝试输入下面的指令 apt-get -f install 这条指令就是用来修正一些软件依赖中存在的...

    网络762019-05-18
  • UbuntuUbuntu17.10系统中的Dock怎么移动到屏幕底部或右侧?

    Ubuntu17.10系统中的Dock怎么移动到屏幕底部或右侧?

    Ubuntu17.10系统中的Dock怎么移动到屏幕底部或右侧 ?Ubuntu17.10系统中Dock默认在屏幕左侧,想要移动到底部或者右侧,该怎么移动呢?下面我们就来看看详细的教程,需要的朋友可以参考下...

    Ubuntu之家1452019-06-19
  • Ubuntuubuntu不能设置高分辨率问题的解决方法

    ubuntu不能设置高分辨率问题的解决方法

    有1024*768,以为是没有安装显卡驱动导致的,上网搜索了N多方法,安装了各种nvidia驱动,依然没有搞定...

    脚本之家3672019-06-05
  • UbuntuUbuntu17.10 联系人应用怎么安装并使用?

    Ubuntu17.10 联系人应用怎么安装并使用?

    Ubuntu17.10 联系人应用怎么安装并使用?Ubuntu17.10中有个Gnome联系人应用,默认是没有安装的,该怎么安装使用恩?下面我们就来看看详细的教程,需要的朋友可以参考下...

    Ubuntu之家3302019-06-18
  • UbuntuUbuntu系统怎么使用mkdir命令?

    Ubuntu系统怎么使用mkdir命令?

    Ubuntu系统怎么使用mkdir命令?Ubuntu系统中有很多命令,想要使用mkdir来建文件夹,该怎么使用呢?下面我们就来看看详细的教程,需要的朋友可以参考下...

    RSY_SXY3122019-06-18