《Practical Vim》第八章:利用动作命令在文档中移动
面向单词的移动
定义:
Vim 提供了面向单词的动作命令,用于将光标正向/反向移动一个单词;
| 功能 | 命令 |
|---|---|
| 正向移动到下一单词开头 | w |
| 反向移动到上一单词的开头 | b |
| 正向移动到下一单词(当前单词)的结尾 | e |
| 反向移动到上一单词的结尾 | ge |
如果你需要记的话,可以把它们想做 "forward"及 "backword" .
查找命令的移动
f{char} 命令
f{char} 为查找单个字符的命令,常用的核心命令如下:
| 功能 | 命令 |
|---|---|
| 正向移动到 {char} | f |
| 反向移动到 {char} | F |
| 正向移动到 {char} 之前一个字符 | t |
| 反向移动到 {char} 之前一个字符 | T |
| 重复正向查找 | ; |
| 重复反向查找 | , |
\target <CR>命令
f{char} 命令的缺陷:
- 只能一次查找一个字符
- 只能在当前行查找
\target <CR> 查找命令可以实现查找字符串和其他行的任务.
查找命令与其他模式的配合
查找模式不仅仅能用在普通模式中,还能用在可视模式和操作符待决模式中,
常用的技巧如下:
- 删除到句尾文本,除了“.” 号: dt.
- 选择到 'gets' 的字符串 : v /ge
- 删除到'gets'的字符串: d/ge
针对 text-object 的移动
「文本对象」的定义:
文本对象分为两类:
- 第一类叫做「分隔符文本对象」,它是以特定的符号集合为单元的, 比如 i), i",it等等
- 第二类叫做「范围文本兑现」,即单词、句子和段落.
语法
文本对象由两个字符构成,第一个字符为 i 或者 a, 第二个字符为原始文本,其中:
- i 是不包含分隔符的字符串
- a 是包含分隔符的字符串
为了便于记忆,可以把 i 想象成 "inside", 而把 a 想象成 "around" 或 “all".
常用的文本对象如下
| 选择区域 | 命令 |
|---|---|
| 一对圆括号总体的内容 | a)/ab |
| 一对引号总体的内容 | a" |
| 一对 ML 标签总体的内容 | at |
| ML 标签内部 | it |
单词、句子、段落为 w、s、p
文本对象与其他模式的配合
与操作符待决模式的配合,以下为一些技巧.
- 修改一个单词:ciw
- 删除一个单词: daw
m 命令
设置标记格式:
- m{a-z} 设置为局部可见
- {A-Z}设置为全局可见
恢复光标格式:
- `{mark} :恢复目标准确行列
- ‘{mark}: 只恢复目标行
《Practical Vim》第八章:利用动作命令在文档中移动的更多相关文章
- 利用java从docx文档中提取文本内容
利用java从docx文档中提取文本内容 使用Apache的第三方jar包,地址为https://poi.apache.org/ docx文档内容如图: 目录结构: 每个文件夹的名称为日期加上来源,例 ...
- 利用Python-docx 读写 Word 文档中的正文、表格、段落、字体等
前言: 前两篇博客介绍了 Python 的 docx 模块对 Word 文档的写操作,这篇博客将介绍如何用 docx 模块读取已有 Word 文档中的信息. 本篇博客主要内容有: 1.获取文档的章节信 ...
- 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\ ...
- apidoc利用代码注释书写文档
个人博客同步文章 https://mr-houzi.com/2018/07/... apidoc是一款利用源代码中注释来创建RESTful Web API文档的工具.apidoc可用于C#,Go,Da ...
- 黄聪:利用OpenXml生成Word2007文档(转)
原文:http://blog.csdn.net/francislaw/article/details/7568317 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 一Op ...
- 利用OpenXml生成Word2007文档
一.OpenXml简介 利用C#生成Word文档并非一定要利用OpenXml技术,至少可以使用微软提供的Office相关组件来编程,不过对于Office2007(确切的说是Word.Excel和Pow ...
- springboot+mybatis-puls利用swagger构建api文档
项目开发常采用前后端分离的方式.前后端通过API进行交互,在Swagger UI中,前后端人员能够直观预览并且测试API,方便前后端人员同步开发. 在SpringBoot中集成swagger,步骤如下 ...
- 利用Python操作Word文档【图片】
利用Python操作Word文档
- 白话SpringCloud | 第十一章:路由网关(Zuul):利用swagger2聚合API文档
前言 通过之前的两篇文章,可以简单的搭建一个路由网关了.而我们知道,现在都奉行前后端分离开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过swagger进行api文档生成的.现在由于使用了统一 ...
随机推荐
- ubuntu系统上如何添加新的根证书
如果自己部署了一个CA系统,或者使用openssl生成了一个自签名的证书,如何让ubuntu系统信任这些证书呢 添加证书: 首先,复制pem格式的根证书,重命名为 .crt格式 然后,执行下边的命令 ...
- C++标准模板库之vector
vector(向量容器),是 C++ 中十分有用一个容器.它能够像容器一样存放各种类型的对象,vector 是一个能够存放任意类型(类型可以是int, double, string, 还可以是类)的动 ...
- centos6多实例安装mysql
基本环境:setenforce 0service iptables stop yum install cmake libaio-devel ncurses-devel -yyum install gc ...
- 17.2-uC/OS-III消息管理(任务消息队列)
1.任务的消息队列 uC/OS-III在任务中内建了一个消息队列.用户可以直接发送消息给任务而不通过外部消息队列. 这个特性不仅简化了代码, 还提供了效率.每个任务都内建一个消息队列. uC/OS-I ...
- axios实现拦截器
项目中通常使用token进行用户权限认证,需要在请求的header中添加token信息进行验证,拦截返回的状态码进行跳转或重新登陆,在全局配置这些不妥,所以新建一个axios实例进行项目的配置. // ...
- shmdt() 与 shmctl() 的区别?
操作共享内存,我们用到了下面的函数 ============================================== #include <sys/types.h> #inclu ...
- openshift 容器云从入门到崩溃之九《容器监控-报警》
容器状态监控 主要是监控POD的状态包括重启.不健康等等这些k8s api 状态本身会报出来,在配合zabbix报警 导入zabbix模板关联上oc master主机 <?xml version ...
- [LeetCode] 系统刷题4_Binary Tree & Divide and Conquer
参考[LeetCode] questions conlusion_InOrder, PreOrder, PostOrder traversal 可以对binary tree进行遍历. 此处说明Divi ...
- 关于EasyUI查询功能的二级联动
EasyUI 二级联动 data-options="multiple:true" 属性可实现对于车牌号的多选.
- String 常用方法
// 不会改变原字符串string.substring(startIndex, endIndex) —— 根据头尾位置返回一个字符串 string.substr(startIndex, length) ...