文本编辑器中的自闭括号可能很烦人 - 如何处理它们?

文本编辑器中的自闭括号可能很烦人 - 如何处理它们?

我开始觉得圆括号/方括号自动完成功能很烦人。光标停留在括号内,我必须用右手小指触及右箭头才能跳出括号并继续输入。

另一方面,我认识到,不用亲自关闭它可以节省时间。

IDE 中是否存在任何常见的功能,可以让我保留两个词的优点,即保留自动完成功能,同时拥有比右箭头更快的快捷方式来跳出它们?

我目前正在使用带有 Vim 模式的 VS Code,但我也想听听其他文本编辑器/IDE 的通用解决方案。

答案1

在 VS Code 的 vim 模式下,你可以选择以下选项

  • Esc进入正常模式并使用右箭头(或者使用 vim 方式L:)
  • Esc进入正常模式并使用A (附加到行尾)
  • 保持插入模式并输入结束分隔符。VS Code 会自动跳过自动完成功能开始的分隔符,您可以继续输入。

答案2

自动关闭功能的目的是,如果输入的文本末尾有括号,它可以节省您的时间,因此您可以在输入括号之前离开插入模式,而不需要输入它们。此外,您不需要计算以获得正确数量的结束括号。

如果你需要搬家超过一些括号,功能的大部分承诺都会丢失(您可以自己输入结束括号)。插件应确保效率不受影响;也就是说,移动括号应该很容易。许多插件支持只输入括号字符本身,而不是使用 (我使用这个 Vim 插件,并且它有这个),它会将光标右侧的相同字符移到该字符上,而不是插入新字符。这比离开光标键的主行更快、更容易。

答案3

小延迟我的解决方案:我已将以下内容包含在 settings.json 文件中。它跳转到行尾,但在插入模式下跳转到右侧“) ] ... 时工作正常

{
    "vim.insertModeKeyBindings": [
    {
        "before": ["<C-j>"],
        "after": ["<ESC>", "A"]
    }
    ]
}
Improved it a bit (analogue to vim-latex).
My "setting.json" file :

{
      "vim.insertModeKeyBindings": [
    {
        "before": ["<C-j>"],
        "after": ["<ESC>", "/","<","+","+",">","<CR>","i","<DEL>","<DEL>","<DEL>","<DEL>"]
    },
    {
        "before": ["("],
        "after": ["(",")","<","+","+",">","<ESC>","4","h","i"]
        
    },
    {
        "before": ["["],
        "after": ["[","]","<","+","+",">","<ESC>","4","h","i"]
        
    },
    {
        "before": ["{"],
        "after": ["{","}","<","+","+",">","<ESC>","4","h","i"]
        
    },
    {
        "before": ["'"],
        "after": ["\"","\"","<","+","+",">","<ESC>","4","h","i"]
        
    }



    ],
  // "terminal.integrated.defaultProfile.linux": "zsh",
  //  "terminal.external.linuxExec": "gnome-terminal",
    "editor.autoClosingBrackets": "never",
    "editor.autoClosingQuotes": "never"
}


相关内容