Vim的使用技巧-自动闭合成对符号

(,“,‘,[符号的自动闭合

我们可以用简单的键映射来实现以上这些成对符号的闭合,也就是在插入模式下输入这些符号的左边部分,键映射将自动完成右边部分,并保持插入模式,光标保持在成对符号的当中以便在其中输入字符。比如:

  :inoremap ( ()<Esc>i

以上的设置的意思是在插入模式时将输入的(转换为()然后回到正常模式,再用i回到插入模式,这时候光标位置正好落在)之前。同理可以完成其它符号的自动闭合。

但是这样的设置,在完成在成对符号中的输入后,要跳出成对符号继续输入时还是不方便。下面的方法就可以来解决这个问题:

  ...
:inoremap ( ()<Esc>:let leavechar=")"<CR>i
:inoremap [ []<Esc>:let leavechar="]"<CR>i
...
:imap <C-l> <Esc>:exec "normal f" .leavechar<CR>a

这里的设置分两段,第一段在之前提到的方法上又加了:

  let leavechar=")"<CR>

这里表示在闭合符号的同时,将对应的右侧符号附给leavechar这个变量,<CR>表示回车。
第二段中的<C-l> 表示CTRL+l ,exec "normal f" .leavechar<CR>a 表示在正常模式下用命令f来定位到leavechar中所保存的字符,然后用a命令在其后插入光标,这样就做到了跳出成对符号继续编辑的要求。

对现有的文字添加成对符号

有的时候我们需要对已经输入的字符加上成对符号。 一般情况是我们选中一段文字然后对其加上成对符号,我们可以这样来实现:

  :vnoremap ( <Esc>`>a)<Esc>`<i(<Esc>

这里要注意的是`>`< 的用法,前者表示定位到所选区域的最后一个字符,而后者表示定位到所选区域的最后一个字符,这样就能在所选区域的开头和结尾加上成对符号了。

根据上面的说明,我们可以根据需要将这些设置写入VIM的设置文件.vimrc里,这样就可以让Vim来简化我们的输入操作了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值