Vim技巧:如何快速输入大括号并在光标后输入内容?
如何实现快速输入大括号自动排版+光标右侧快速输入
核心实现:编辑器/IDE的代码片段或内置智能补全功能
主流代码编辑器(VS Code、JetBrains系列、Vim等)都能通过内置功能或自定义配置实现这个操作,以下是具体方案:
1. VS Code
- 内置快速排版:
打开设置(快捷键Ctrl+,/Cmd+,),将editor.autoClosingBrackets设为always,同时开启editor.formatOnType。输入{后按回车,编辑器会自动把闭合}移到新行,光标定位在中间空行。 - 自定义代码片段(更灵活):
打开命令面板(Ctrl+Shift+P/Cmd+Shift+P),输入Configure User Snippets,选择对应语言的配置文件(比如javascript.json),添加如下片段:
输入"Curly Braces Auto Layout": { "prefix": "{", "body": [ "{", "\t$0", "}" ], "description": "Auto format curly braces with new line" }{按Tab触发,光标自动停在中间缩进位置,写完后按Tab可直接跳到}后面继续输入。
2. JetBrains IDE(IntelliJ IDEA/WebStorm等)
- 内置智能排版:
开启Settings > Editor > General > Smart Keys里的Insert pair bracket和Reformat on typing选项。输入{后按回车,IDE会自动生成:
写完中间内容后,按{ // 光标默认在这里 }Ctrl+Shift+]可直接跳转到}末尾;也可在设置里开启Jump to closing bracket/quote with Tab,按Tab快速跳转。
3. Vim/Neovim
- 自定义映射或插件实现:
在.vimrc/init.vim中添加如下映射:
插入模式下输入inoremap { {<CR>}<Esc>O{,会自动展开为新行排版,光标定位在中间。若用vim-surround插件,可通过ysiw}快速给内容添加带排版的大括号。
关于“无需移动光标即可在右侧输入”
这个操作依赖编辑器的光标跳转或多光标功能:
- VS Code:按
Ctrl+Shift+\快速跳转到匹配的闭合括号位置;或用Alt+Click在右侧添加并行光标输入。 - JetBrains IDE:除了上述Tab跳转,还可使用
Ctrl+Shift+]直接定位到闭合符号末尾。
内容的提问来源于stack exchange,提问作者KoD
相关产品推荐
相关产品推荐

