vim 如何迅速删除一对括号

嵌套的括号,如果删除了左括号后,无法再%跳到对应的右括号,有什么方便的方法吗? 

先%删除,再C-o跳回来是一个方法,仿佛不方便,而且不符合思维习惯,要先跳再删,思维顺序是先删再跳。 



 若包括括号里的内容一起删除的话,先移动光标到任意一个括号处,在normal mode下执行: d% 


nnoremap <F8> ma%x`ax 

光标移动到一个括号上,按F8 


: nnoremap <F8> ma%x`ax 
: 光标移动到一个括号上,按F8 

这个需求在编辑文本的时候好像不常用到。如果你想居中对齐文本,vim 倒是有现成的命令。
一般移动到指定列,是用 | (是 shift + \),比如想移动到第10列,就是10| 直接按就行。如果你能估计屏幕的宽度,或者一行的长度,中间位置大约还是比较好算的。或者如果你能看见你想去的列上是什么字符,比如是 x,用 fx 也可以移过去。如果光标和中间位置之间不止一个 x,在 fx 后用几次 ; 就可以了。

$:移动光标到行尾 n$:移动到第n行的行尾 0(Num):移动光标到行首 ^:移动光标到行首第一个非空字符上去

f:移动光标到当前行的字符a上,nf移动光标到当前行的第n个a字符上 F:相反

如果你要频繁地做这件事,也不是没办法,但略显复杂。 就比如你是想挪一行文本的正中间,执行以下两个命令都可以: :exe "norm " . col("$")/2 . "|" 或 :cal cursor(line("."), col("$")/2) 然后把它们映射到某个键上,就方便反复用了



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值