转载自Vim教程网Vim位置标记mark详解-Vim入门教程(34)


Vim的位置标记可以实现在文档中的快速跳转。可以通过命令 mark 或缩写形式 m 手动设置位置标记,Vim也会自动记录某些自身感兴趣的位置点,辅助实现某些快速跳转功能。

Vim标记简介

Vim允许在打开的文件中放置自定义的标记。命令 ma 表示用 a 标记当前的光标位置。

可以在文本中使用 26 个标记 (az后AZ)。这些标记是不可见的,只是一个由 Vim 记住的位置。

小写标记值在每个缓冲区(即Vim打开文件)局部可见,而大写标记则全局可见。

标注 设置者 使用
a-z 用户 仅对当前的一个文件生效,也就意味着只可以在当前文件中跳转
A-Z 用户 全局标注,可以作用于不同文件。大写标注也称为「文件标注」。跳转时有可能会切换到另一个缓冲区
0-9 viminfo 0 代表 viminfo 最后一次被写入的位置。实际使用中,就代表 Vim 进程最后一次结束的位置。1 代表 Vim 进程倒数第二次结束的位置,以此类推

要跳到一个你定义的标记,可以使用命令 `{mark},这里 {mark} 是指定义标记的那个字母。所以,移到标记a的命令是:`a

命令 '{mark} (单引号加一个标记) 会移到标记所在行的行首。这与 ``mark` 命令是不同的, 因为后者是移到标记所在行上被标记的列位置,即同时恢复行、列的位置。

可以在Vim命令行模式下用命令 :marks 获得所有Vim标记的列表。命令行模式下使用命令 :h mark-motions 可以获取关于标注的更多帮助。

Vim自带一些特殊的标记,包括:

命令 跳转至
'[`[ 上一次修改或复制的第一行或第一个字符
']`] 上一次修改或复制的最后一行或最后一个字符
'<`< 上一次在可视模式下选取的第一行或第一个字符
'>`> 上一次在可视模式下选取的最后一行或最后一个字符
''`' 上一次跳转之前的光标位置
'"`" 上一次关闭当前缓冲区时的光标位置
'^`^ 上一次插入字符后的光标位置
'.`. 上一次修改文本后的光标位置
'(`( 当前句子的开头
')`) 当前句子的结尾
'{`{ 当前段落的开头
'}`} 当前段落的结尾

Vim标记示例

Vim标记在需要处理一个文件的两个相关地方的时候非常有用。

假设你在处理文末的时候需要查看文首的一些内容,先移动到行首,设置一个标记 s (start):ms

然后移动到你需要处理的地方,再设置一个标记 e (end):me

现在你可以随意移动,当需要看开头的地方,可以使用这个命令移到那里:``s’s`。

然后使用 '' 跳回来,或者用 ``e` 跳到你正在处理的文尾的地方。当然,这里使用 se 作标记名没有特别的含义,只是为了好记而已。

更多Vim内容,可以参考Vim教程网,我最近学习Vim都是从这个网站看资料,给这个持续更新干货的小姐姐点赞!??

Vim位置标记mark详解相关推荐

  1. HTML超文本标记语言详解

    HTML超文本标记语言详解 Hyper Text Markup Language(超文本标记语言) 现在的开发版本一般为HTML5+CSS3 W3C标准:World Wide Web Consorti ...

  2. vim的marks命令详解

    前言: vim的marks命令指的是标记文本文件或者文本文件的某一列,从而实现快速跳转.那么,这个命令的实际意义在于提升文本编辑的效率,毕竟,如果有大量的文本文件需要编辑,那么,在各个文件之间的跳转是 ...

  3. ubuntu安装VIM教程与命令详解

    目录 1.VIM简介 2.ubuntu安装VIM 3.安装命令详解 3.1.sudo 3.2.apt-get && install 3.3.vim-gtk 4.VIM参数配置 1.VI ...

  4. Vim配置文件(.vimrc)详解

    @TOC详解) Vim配置文件的作用 Vim启动时,会根据配置文件(.vimrc)来设置 Vim,因此我们可以通过此文件来定制适合自己的 Vim Vim分类 系统Vim配置文件/etc/vimrc 所 ...

  5. vim编辑器的操作详解

    目录 一.进入退出vim及简单的操作 1.移动光标 2.VIM的进入和退出--q!/wq 1. :q! 2.  :wq 3.文本编辑之删除--x 4.文本编辑之插入--i 5.文本编辑之添加--A 总 ...

  6. vim查找和替换详解

    1.vim 单文件中查找方法正常模式下使用 / 或 ? 命令执行向后搜索或向前搜索/love 从光标位置向前搜索关键词 love ?love 从光标位置向后搜索关键词 love正常模式下使用 n 或 ...

  7. SSML语音合成标记语言详解

    SSML(Speech Synthesis Markup Language)语音合成标记语言,提供有关暂停以及首字母缩写词.日期.时间.缩写或应予以屏蔽的文本的音频格式等详细信息,以在音频响应中实现更 ...

  8. SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤

    一:使用场景: 假如你的项目(这里指的是手机客户端项目)的某个版本(例如1.0版本)已经完成开发.测试并已经上线了,接下来接到新的需求,新需求的开发需要修改多个文件中的代码,当需求已经开始开发一段时间 ...

  9. 【转】SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤

    转自:https://monday.blog.csdn.net/article/details/51122637 一:使用场景: 假如你的项目(这里指的是手机客户端项目)的某个版本(例如1.0版本)已 ...

最新文章

  1. [原]对Linux环境下任务调度一点认识
  2. 消除ubuntu16.04自带的alt快捷键
  3. 头像裁剪上传插件php,PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
  4. POJ2942-Knights of the Round Table【tarjan】
  5. MFC对话框绘制灰度直方图
  6. Android Studio属性动画,Android开发-RecyclerView-AndroidStudio(六)属性动画(3)AddDuration
  7. 计算机二级Java考试心得
  8. 判断是否安装Alexa工具条
  9. 《平成的超级偶像金牌舔狗》之mmdetection,paddle detection安装,demo跑通,训练跑通,保姆级教学
  10. ssh_exchange_identification read Connection reset by peer
  11. 解决安卓手机卡顿的七个技巧
  12. 时间戳指什么呢?(通俗易懂的简介大白话)
  13. android 模拟黑胶唱片,VinylTap:完美模拟黑胶碟 可翻面可调速
  14. C语言编写寻找1--100间的奇数
  15. 百趣代谢组学分享:从SWATH到MRM:一种新型高覆盖度靶向代谢组学技术
  16. QML 播放 http 协议开头的视频流的一些问题DirectShowPlayerService::doPlay: Unresolved error code 8007000e
  17. 白话空间统计之:Moran's I(莫兰指数)
  18. 软件园十年造就核心推动力
  19. html 的模板语法,art-template模板语法
  20. 【“互联网+”大赛华为云赛道】EI命题攻略:华为云EI的能力超丰富,助你实现AI梦想

热门文章

  1. 基于Python小说电子书阅读系统设计与实现 开题报告
  2. 互联网时代的企业管理模式
  3. 如何下载台湾的硕博论文
  4. li+li:before是什么意思
  5. 前端:margin、padding、float一篇文章彻底理解
  6. linux服务器怎么搭建简单的网站?linux搭建网站教程
  7. RK3326 8.1系统定制化通用修改
  8. python人狗大战csdn在线
  9. 实验三 基本表的定义、删除与修改
  10. 【FederatedLearning】联邦学习类别详述(横向、纵向、迁移)