@1:

We all know about :wq, but we usually ignore :x.

:x:wq都是保存当前文件并退出。

这两个命令实际上并不完全等价,当文件被修改时两个命令时相同的。但如果未被修改,使用:x不会

更改文件的修改时间,而使用:q会改变文件的修改时间。

@2:

当你很快地打字时,很有可能会连续输入同一个单词两次,就像this this。这种错误可能骗过任何一个人

即使是你自己重新阅读一遍也不可避免。幸运的是,有一个简单的正则表达式可以用来预防这个错误。

使用搜索命令(默认是/)然后输入:

\(\<\w\+\>\)\s*\1

If you did not see anything, it means:

  1. no duplicate words exists
  2. your .vimrc lack this configuration: set hlsearch

If you don't understand the RE above, you can read this article. And I also suggest that we should learn

more about RE.

@3:

一个很可能是最令人印象深刻的窍门是你可以在 Vim 中定义缩写,它可以实时地把你输入的东西替换为另外

的东西。语法格式如下:

:ab [缩写] [要替换的文字]

一个通用的例子是:

:ab asap as soon as possible

会把你输入的 “asap” 替换为 “as soon as possible”。

This command is amazing.

@4:

在你忘记用 root 方式打开文件时的文件保存

这可能是一个在论坛中一直受欢迎的命令。每当你打开一个你没有写入权限的文件(比如系统配置文件)并做

了一些修改,Vim 无法通过普通的 “:w” 命令来保存。

你不需要重新以 root 方式打开文件再进行修改,只需要运行:

:w !sudo tee %

这会直接以 root 方式保存。

NOTE: There is a space symbol(" ") between "tee" and "%"

@5:

g? 使用 ROT13 对整个区域进行编码

At the very beginning, I think this command is useless.

@6:

Vim 默认有自动补全的功能。

Vim尝试通过已经输入的单词来预测单词的结尾。比如当你在同一个文件中第二次输入 “compiler” 时,仅

仅输入“com”然后保持在插入模式,按 Ctrl+n键就可以看到Vim为你补全了单词。很简单,但也很有用。

@7:

删除标记内部的文字

当我开始使用Vim时,一件我总是想很方便做的事情是如何轻松的删除方括号或圆括号里的内容。转到开始的

标记,然后使用下面的语法:

di[标记]

把光标放在开始的圆括号上,使用di(来删除圆括号内的文字.若为方括号或者是引号,则使用di{di"

If we want to delete the complete content of a code block, this may help a lot.

@8:

删除指定标记前的内容

和删除标记内部有些相似,但目的不同。命令如下:

dt[标记]

会删除所有光标和标记之间的内容(保持标记不动)

@9:

把光标下的文字置于屏幕中央

如果你想强制滚动屏幕来把光标下的文字置于屏幕的中央,使用命令

zz

@10:

跳到上一个/下一个位置

当你编辑一个很大的文件时,经常要做的事是在某处进行修改,然后跳到另外一处。如果你想跳回之前修改的地方,使用命令:

Ctrl+o

来回到之前修改的地方.类似的:

Ctrl+i

会回退上面的跳动。

Reference:

15个不起眼但非常强大的 Vim 命令

最新文章

  1. Safari new Date()
  2. TFS API:一、TFS 体系结构和概念
  3. Java 一维数组 二维数组 三维数组
  4. session保存用户登录
  5. 比较不错的JS 曲线图
  6. POJ1463:Strategic game(树形DP)
  7. android App Widgets
  8. Javaweb---服务器Tomcat配置
  9. lucene全文搜索之四:创建索引搜索器、6种文档搜索器实现以及搜索结果分析(结合IKAnalyzer分词器的搜索器)基于lucene5.5.3
  10. NewLife.XCode 上手指南2018版(一)代码生成
  11. Unix的哲学
  12. Spring Boot(八):RabbitMQ详解
  13. 20165309 实验三 敏捷开发与XP实践
  14. Feign 自定义编码器、解码器和客户端
  15. MFC单文档带窗体创建
  16. Safe point
  17. 企业生产环境集群稳定性-HA就行吗?
  18. bzoj千题计划127:bzoj1041: [HAOI2008]圆上的整点
  19. oracle05
  20. 基于python的接口测试框架设计(一)连接数据库

热门文章

  1. 常见中文字体在CSS中的Unicode编码(宋体:\5B8B\4F53)
  2. thinkphp 读取页面报错 说 /Runtime/Cache/Home/XXXXXX.php 错误
  3. DevelopmentValue
  4. 第二百三十一节,Bootstrap 介绍
  5. noip模拟题题解集
  6. 【vijos】1746 小D的旅行(dijkstra)
  7. 【Python】IDLE清屏
  8. Android一键锁屏源码
  9. 复合文档(Compound Document)读写栗子
  10. EntityFramework :数据库创建