Vim 小技巧:如何快速在成对出现的符号之间输入文本

一、引言

初学 Vim 也有一端时间了,发现 Vim 确实是一个需要多多使用才能习惯的工具。这里,我惊喜的发现了一个很方便的用法,比如说以下我们经常会遇到的情景:

我们经常需要在成对出现的符号中间输入内容,比如说 “” 双引号、” 单引号、{} 大括号、[] 中括号、()小括号等等一系列的成对出现的符号。

输入这种文本真的还是比较麻烦的:

1. 先输入左边那个符号,再输入文本,再输入右边那个符号。
这种处理方式忽略了代码文本的高亮可视性,导致输入中间文本的时候极度不雅观。
这里写图片描述

2. 先输入成对出现的符号,然后切出来方向移动到符号中间输入文本。
这种方式,其实就是本文要介绍的方法。而其实真实的体验告诉我,先输入成对出现的符号之后,是大部分不需要方向移动,即可移动到符号中间输入文本的
2

二、解释

让我们来试验一下:

print('hello vim')

比如我们输入上述的 Python 代码,我们该如何输入呢(为了方便大家查看,我在插入模式下的光标所在处两边加了_,在命令模式下的光标所在字符两边加了_):

操作按钮 效果 当前文本
i 切换插入模式 _|_
print 输入 print print_|_
() 输入 () print()_|_
Esc 切换命令模式 print(_)_
i 切换插入模式 print(_|_)
输入 ” print(”_|_)
Esc 切换命令模式 print(‘_’_)
i 切换插入模式 print(‘_|_’)
hello vim 输入 hello vim print(‘hello vim_|_’)

也就是说,比如我们输入小括号 (),每当我们在 Vim 的插入模式中输入了 () 之后,此时光标处于右括号的后面,然后 Esc 切换到命令模式后,光标会自动后退一个,在右括号上面加粗高亮,此时我们使用 i 切换到插入模式,即可以在右括号前面插入文本。

也就是说,我们通过 Esc + i 的操作,就实现了输入文本的位置的后退一步的效果,这大大方便了我们输入成对符号中间文本的工作量,这个技巧说起来好像很复杂,但是只要你试过一次就一定觉得很简单很方便了。

尽管这只是一个很小的一个小技巧,甚至连技巧都算不上,但是却可以大大提高我们输入成对符号中间文本的效率。

Enjoy It:)

猜你喜欢

转载自blog.csdn.net/u012814856/article/details/81179719