想必用 vim 的同学一定知道 Tpope 大神,Tpope写了几十款 vim 插件,其中包括最知名的 fugitive.vim, 如果你还不知道他,那你肯定还没入门
Tpope 大神写的 vim 插件都有一个特点,那就是正中 vim 的痛点。比如我常用的 surround.vim, commentary.vim, speeddateing.vim, repeat.vim 接下来我会逐一介绍,用完你就会觉得这玩意而就应该vim自带
反倒是最出名的 fugitive.vim 我很少使用,我觉得 lazygit 更好用,如果你不知道 fugitive.vim 是干嘛的,当我没说。lazygit是一个终端图形界面的git软件,可以配合 Ranger和 vim 使用,有时间我也会介绍一下
好了,正文开始,安装方法我就不说了,推荐使用 vim-plug 安装
注:请忽略其中所有的逗号
可以很轻松的添加,修改,删除括号,引号等一些成对的符号,甚至是 html 标签
对于非对称的符号,比如括号,左边括号和右边括号有一点区别,左边括号会多一个空格 [ ysiw ],而右边括号没有空格 [yeiw],添加修改删除括号均遵循此规则
cs 修改
cs"' 表示将双引号修改为单引号,只需要将光标移动到一个带双引号的词或者短语上边,输入命令即可,它会自动寻找到最近的双引号
作者还专门优化了 html 标签,使其可以闭合,正常输入即可,比如 cs"
但是把
需要用 cst",t 就表示标签,把标签修改为",也可以修改为其他标签
ds 删除
ds" 表示删除", 而擅长标签同样是 t 代替,用dst
ys 添加
ysiw" 表示给光标所在单词添加"
yss" 表示给所在行添加"
另外,对于可视模式下,选择内容后,输入大写S和需要添加的符号或标签,常用于html中添加标签
但很遗憾,可视模式下不支持修改和删除
可以很轻松的注释一行或者多行
这个很简单,gcc 即可
可视模式下 只需要gc
对于一些插件不支持的语言
按照下列格式替换即可,写到 vimrc 里面
autocmd FileType 语言 setlocal commentstring=注释\ %s
比如autocmd FileType stylus setlocal commentstring=//\ %s
这个就很有意思了
大家都知道 和 的作用,来对数字自增和自减
但你想过没有,如何对时间和日期进行自增和自减,必须要考虑进位
这也就是这个插件的作用,用来强化 和 的
比如 2020-03-13 13:14:34
vim 会把 - 理解成符号,所以一般情况下自增和自减就会反过来了,而 speeddateing.vim 就修复了这个 bug
Sat, 01 Jan 2000 00:00:03 +0000
看这个例子,千万不要惊讶
另外还支持罗马数字
顾名思义,用来重复的,想必大家应该知道英文的句号 . 的作用吧,就是用来重复上一次的操作的
这个和宏录制 q 用好了有奇效,以后再说
这个插件存在的意义就是重复
surround.vim
speeddating.vim
unimpaired.vim
vim-easyclip
vim-radical
这几个插件的命令
如果你不用这个插件,你会发现,按句号并不能重复surround.vim的命令,因为surround.vim是用vim-script写的,本质上就是由一个一个的命令组成的,句号只能重复最后一个命令
ok了,希望这篇文章能对你有所帮助