我最近开始尝试通过在VSCode中设置Vim键绑定来学习Vim。我注意到的一件事是,当我打开一个引号""、圆括号()或方括号{}时,VSCode将为我添加结束引号/圆括号/方括号。因为我现在使用的是Vim键绑定,所以现在导航起来真的很麻烦。我必须ESC,导航那个字符,然后i回到插入模式继续输入。这有点打断我的流程。有没有一种有效的方法来导航这些字符?或者我只需要在ESC + l + a组合中变得很好?
""
()
{}
ESC
i
ESC + l + a
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>。我的建议是,考虑一下自动关闭的利弊。
<Esc>la
<Right>
qqrboqgw2#
据我所知,如果您使用的是VSCode Vim(根据问题,您似乎正在使用VSCode Vim),您只需按下匹配的右括号即可。因此,如果我在正常模式下输入int[5],那么下面的击键应该可以工作iint[5](第一个i将进入插入模式)您的光标将位于右方括号之后。如果你想在普通的vim/neovim中这样做,我建议你使用像AutoPairs这样的插件。
int[5]
iint[5]
2条答案
按热度按时间iibxawm41#
首先,您使用的不是Vim。它是Vim的一个不完整的重新实现,可能完全像Vim一样工作,也可能完全不像Vim一样工作。此外,您当前的环境似乎启用了许多Vim中没有的功能,这使得您的“Vim体验”更不像Vim。如果您想学习Vim,请在Vanilla Vim中学习。
其次,自动关闭对子仅对一件事有用:确保您没有忘记结束字符。
因为你必须按下一个键才能跳过自动插入的字符,所以在输入端没有任何增益,这使得该功能在安全场景之外完全无用:
当涉及到Vim或Vim模拟器时,它很快就进入了失常的领域,在那里,对经文的错误阅读会迫使你做一些愚蠢的事情,如
<Esc>la
,只是为了避免按下不干净的<Right>
。我的建议是,考虑一下自动关闭的利弊。
qqrboqgw2#
据我所知,如果您使用的是VSCode Vim(根据问题,您似乎正在使用VSCode Vim),您只需按下匹配的右括号即可。
因此,如果我在正常模式下输入
int[5]
,那么下面的击键应该可以工作iint[5]
(第一个i
将进入插入模式)您的光标将位于右方括号之后。
如果你想在普通的vim/neovim中这样做,我建议你使用像AutoPairs这样的插件。