重新认识vim编辑器

2019-04-09  本文已影响0人  神易风

最近在图书馆逛逛,发现一本vim的书,想都没想就拿回来了。读了书本几章后,我意识到自己有多么孤陋寡闻,对vim只知道皮毛而已

认识 . 命令

. 命令 重复上一次修改,这个命令看起来没什么特别,但是如果跟其他命令组合可以减少很多重复操作,我们写代码一直铭记No report yourself
现在我们在做一个练习试试怎么使用的,按下dd删除当前行,后使用. 重复上一次操作,删除当前行。这个是比较简单的使用,来一个相对复杂,又减少很多重复步骤的操作。我们在写代码,一般都要加 ';' ,这个一个非常繁琐的工作。如果在常规情况,我们需要将光标移动到句尾,切换到插入模式,添加句号,换行效率很慢。使用vim组合命令,效率大大改进。
使用A将光标切换到句尾,并且进入输入模式, A明明相当于$a组合。输入分号按Esc退出插入模式,按j进入下一行,使用. 命令一部到位。以后每一行j.,每一个自动加上分号。
假如有一段代码

var b = a+b+c+d;

我们要将代码格式化成

var b = a + b + c + d;
  1. f+查找第一个+字符出现地方,将光标到字符上。
  2. s删除+字符,重新输入带两边都带空格的+
  3. ; 命令重复上次f命令所查找的字符
  4. 输入. 命令重复上一步操作
  5. ;.自动在+之间添加空格

搜索替换

如果我们想替换文本某个文字,一般需要%s/old/new/g,但是这个命令会替换所有的文本,不小心会出现误操作的情况。vim也可以先搜索文本,跳转到位置上,根据情况是否替换。

  1. 进入命令模式 /{char}搜索文本,切换普通模式
  2. 将光标移动到一个要替换的文本
  3. cw{year} 输入替换后文本单词, cw 从单词头开始删除整个单词,切换到插入模式,
  4. 使用n搜索下一个文本,光标会自动跳转到单词首位,这个用过vim搜索都知道这个按钮
  5. 使用.,自动替换。

减少重复

db 反向删除,从光标开始删除,单词反向删除。
dw 正向删除,从光标开始向后删除
daw 删除整个单词,可以记住 “delete a world"
d2w 或者 2dw都是删除2个单词,
这些操作只是很小一个章节,如果大家想深入了解vim其他简洁的功能,非常推荐大家去下Drew Neil 《Vim实用技巧》

s27262985.jpg
上一篇 下一篇

猜你喜欢

热点阅读