如何制作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
命令工作,因为后两个命令依赖前两个命令才能正常工作。