面向单词的移动

定义:

Vim 提供了面向单词的动作命令,用于将光标正向/反向移动一个单词;

功能 命令
正向移动到下一单词开头 w
反向移动到上一单词的开头 b
正向移动到下一单词(当前单词)的结尾 e
反向移动到上一单词的结尾  ge

如果你需要记的话,可以把它们想做 "forward"及 "backword" .

查找命令的移动

f{char} 命令

f{char} 为查找单个字符的命令,常用的核心命令如下:

功能 命令
正向移动到 {char} f
反向移动到 {char} F
正向移动到 {char} 之前一个字符 t
反向移动到 {char} 之前一个字符 T
重复正向查找 ;
重复反向查找 ,

\target <CR>命令

f{char} 命令的缺陷:

  1. 只能一次查找一个字符
  2. 只能在当前行查找

\target <CR> 查找命令可以实现查找字符串和其他行的任务.

查找命令与其他模式的配合

查找模式不仅仅能用在普通模式中,还能用在可视模式和操作符待决模式中,
常用的技巧如下:

  1. 删除到句尾文本,除了“.” 号: dt.
  2. 选择到 'gets' 的字符串 : v /ge
  3. 删除到'gets'的字符串: d/ge

针对 text-object 的移动

「文本对象」的定义:

文本对象分为两类:

  1. 第一类叫做「分隔符文本对象」,它是以特定的符号集合为单元的, 比如 i), i",it等等
  2. 第二类叫做「范围文本兑现」,即单词、句子和段落.

语法

文本对象由两个字符构成,第一个字符为 i 或者 a, 第二个字符为原始文本,其中:

  1. i 是不包含分隔符的字符串
  2. a 是包含分隔符的字符串

为了便于记忆,可以把 i 想象成 "inside", 而把 a 想象成 "around" 或 “all".

常用的文本对象如下

选择区域 命令
一对圆括号总体的内容 a)/ab
一对引号总体的内容 a"
一对 ML 标签总体的内容 at
ML 标签内部 it

单词、句子、段落为 w、s、p

文本对象与其他模式的配合

与操作符待决模式的配合,以下为一些技巧.

  1. 修改一个单词:ciw
  2. 删除一个单词: daw

m 命令

设置标记格式:

  • m{a-z} 设置为局部可见
  • {A-Z}设置为全局可见

恢复光标格式:

  • `{mark} :恢复目标准确行列
  • ‘{mark}: 只恢复目标行

《Practical Vim》第八章:利用动作命令在文档中移动的更多相关文章

  1. 利用java从docx文档中提取文本内容

    利用java从docx文档中提取文本内容 使用Apache的第三方jar包,地址为https://poi.apache.org/ docx文档内容如图: 目录结构: 每个文件夹的名称为日期加上来源,例 ...

  2. 利用Python-docx 读写 Word 文档中的正文、表格、段落、字体等

    前言: 前两篇博客介绍了 Python 的 docx 模块对 Word 文档的写操作,这篇博客将介绍如何用 docx 模块读取已有 Word 文档中的信息. 本篇博客主要内容有: 1.获取文档的章节信 ...

  3. vim下处理文档中的\r\n\t字符

    问题复现 拿到的文档中包含了大量的\r.\n.\t等字符,形如: \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\ ...

  4. apidoc利用代码注释书写文档

    个人博客同步文章 https://mr-houzi.com/2018/07/... apidoc是一款利用源代码中注释来创建RESTful Web API文档的工具.apidoc可用于C#,Go,Da ...

  5. 黄聪:利用OpenXml生成Word2007文档(转)

    原文:http://blog.csdn.net/francislaw/article/details/7568317 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 一Op ...

  6. 利用OpenXml生成Word2007文档

    一.OpenXml简介 利用C#生成Word文档并非一定要利用OpenXml技术,至少可以使用微软提供的Office相关组件来编程,不过对于Office2007(确切的说是Word.Excel和Pow ...

  7. springboot+mybatis-puls利用swagger构建api文档

    项目开发常采用前后端分离的方式.前后端通过API进行交互,在Swagger UI中,前后端人员能够直观预览并且测试API,方便前后端人员同步开发. 在SpringBoot中集成swagger,步骤如下 ...

  8. 利用Python操作Word文档【图片】

    利用Python操作Word文档

  9. 白话SpringCloud | 第十一章:路由网关(Zuul):利用swagger2聚合API文档

    前言 通过之前的两篇文章,可以简单的搭建一个路由网关了.而我们知道,现在都奉行前后端分离开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过swagger进行api文档生成的.现在由于使用了统一 ...

随机推荐

  1. POJ 3984 - 迷宫问题 - [BFS水题]

    题目链接:http://poj.org/problem?id=3984 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, ...

  2. C# 让String.Contains忽略大小写

    在C#里,String.Contains是大小写敏感的,所以如果要在C#里用String.Contains来判断一个string里是否包含一个某个关键字keyword,需要把这个string和这个ke ...

  3. centos6 安装python2.7 并做软件兼容处理 及 MySQLdb模块安装

    相关软件准备 https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz https://pypi.org/project/setuptool ...

  4. 在 Django/Flask 开发服务器上使用 HTTPS

    使用 Django 或 Flask 这种框架开发 web app 的时候一般都会用内建服务器开发和调试程序,等程序完成后再移交到生产环境部署.问题是这些内建服务器通常都不支持 HTTPS,我们想在开发 ...

  5. JavaScript基础理解及技巧(入门)

    1.java和JavaScript的区别: (1)js只需要解释就可以执行了,而java需要先编译成字节码文.JavaScript的运行只需要浏览器的支持,而java的运行需要JVM(java虚拟机) ...

  6. 如何发布第一个属于自己的npm包 到公网

    发布前的准备 1. 注册一个npm账号 前往NPM官网进行注册 2. 创建一个简单的包 在本地创建一个项目文件夹 mannymu_demo (名字自己取,不要和NPM上已有的包名重复冲突就好)然后通过 ...

  7. PowerDesigner导出pdm设计为Word文档

    点击Report->Reports 点击New Report 选择Standard Physical Report,语言选择简体中文,如下图 此时目录下就会多一个Report 右窗口: 根据自己 ...

  8. 网页头部meta标签

    <meta http-equiv="content-Type" content="text/html;charset=UTF-8">    //设置 ...

  9. dedecms织梦(一)

    网站动静态转换 织梦后台--->系统--->系统设置--->SQL命令行工具 1.将网站所有栏目设置成动态页 update dede_arctype set isdefault=-1 ...

  10. Nginx 多域名配置

    nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里.一.每个域名一个文件的写法  ...