如何制作vim';s方法跳转命令';]]';和';[';使用现代方法语法?

如何制作vim';s方法跳转命令';]]';和';[';使用现代方法语法?,vim,Vim,如果我使用老式的花括号函数块语法,如下所示: function() { console.log('this works :)'); } 我可以使用vim的]]和[[命令在方法之间快速切换,但是如果我(或我团队中的任何其他人)使用更现代的语法,其中开头的花括号与函数签名一致,如下所示: function() { console.log('this doesn't work :('); } Vim将不会检测到该方法,并将跳过它,因为该命令只查找第一列上的大括号。如何配置Vim以不忽略该语

如果我使用老式的花括号函数块语法,如下所示:

function()
{
  console.log('this works :)');
}
我可以使用vim的
]]
[[
命令在方法之间快速切换,但是如果我(或我团队中的任何其他人)使用更现代的语法,其中开头的花括号与函数签名一致,如下所示:

function() {
  console.log('this doesn't work :(');
}
Vim将不会检测到该方法,并将跳过它,因为该命令只查找第一列上的大括号。如何配置Vim以不忽略该语法


我不反对使用这两种语法,但我不想在阅读其他人的代码时跳过方法。

在文档中,有一部分回答了您的问题:

如果您在vim中键入“:h[[”,然后搜索“map”,您将找到响应

If your '{' or '}' are not in the first column, and you would like to use "[["
and "]]" anyway, try these mappings: >
   :map [[ ?{<CR>w99[{
   :map ][ /}<CR>b99]}
   :map ]] j0[[%/{<CR>
   :map [] k$][%?}<CR>
[type these literally, see |<>|]
如果您的“{”或“}”不在第一列,并且您希望使用“[”
和“]]”无论如何,请尝试以下映射:>
:map[?{w99[{
:map][/}b99]}
:map]]j0[[%/{
:map[]k$][%?}
[逐字输入,请参见| |]

试试
:help[m
:help]m
。我盯着那一页看了10分钟后,不知怎的错过了这个。谢谢。对于任何想知道的人来说,这些命令不能作为
nnoremap
命令工作,因为后两个命令依赖前两个命令才能正常工作。