在使用Vim时,如何有效地跳过结束字符(右括号、右引号等)?

gk7wooem  于 2022-11-11  发布在  其他
关注(0)|答案(2)|浏览(243)

我最近开始尝试通过在VSCode中设置Vim键绑定来学习Vim。
我注意到的一件事是,当我打开一个引号""、圆括号()或方括号{}时,VSCode将为我添加结束引号/圆括号/方括号。
因为我现在使用的是Vim键绑定,所以现在导航起来真的很麻烦。我必须ESC,导航那个字符,然后i回到插入模式继续输入。这有点打断我的流程。
有没有一种有效的方法来导航这些字符?或者我只需要在ESC + l + a组合中变得很好?

iibxawm4

iibxawm41#

首先,您使用的不是Vim。它是Vim的一个不完整的重新实现,可能完全像Vim一样工作,也可能完全不像Vim一样工作。此外,您当前的环境似乎启用了许多Vim中没有的功能,这使得您的“Vim体验”更不像Vim。如果您想学习Vim,请在Vanilla Vim中学习。
其次,自动关闭对子仅对件事有用:确保您没有忘记结束字符。
因为你必须按下一个键才能跳过自动插入的字符,所以在输入端没有任何增益,这使得该功能在安全场景之外完全无用:

" no auto-closing
f
 o
  o
   (
    b
     a
      r
       )
        {    9 keystrokes

" auto-closing
f
 o
  o
   (
    b
     a
      r
       →
        {    9 keystrokes

当涉及到Vim或Vim模拟器时,它很快就进入了失常的领域,在那里,对经文的错误阅读会迫使你做一些愚蠢的事情,如<Esc>la,只是为了避免按下不干净的<Right>
我的建议是,考虑一下自动关闭的利弊。

qqrboqgw

qqrboqgw2#

据我所知,如果您使用的是VSCode Vim(根据问题,您似乎正在使用VSCode Vim),您只需按下匹配的右括号即可。
因此,如果我在正常模式下输入int[5],那么下面的击键应该可以工作
iint[5](第一个i将进入插入模式)
您的光标将位于右方括号之后。
如果你想在普通的vim/neovim中这样做,我建议你使用像AutoPairs这样的插件。

相关问题