Vim插入模式下重映射Ctrl-W实现普通模式下窗口切换功能
配置方法
你只需要在你的Vim/Neovim配置文件中添加对应插入模式映射即可实现需求:
- Vim的配置文件为
.vimrc - Neovim传统Vimscript配置文件为
init.vim,Lua配置文件为init.lua
Vimscript 配置方案
在配置文件中添加以下代码:
inoremap <C-w> <C-\><C-o><C-w>
配置说明:
<C-\><C-o>是Vim内置语法,作用是在插入模式下临时执行一次普通模式命令,执行完成后会自动回到插入模式,不需要手动按Esc切换模式。该映射会把插入模式下的Ctrl+W操作直接和普通模式下的Ctrl+W能力对齐,所有原有普通模式下支持的Ctrl+W相关窗口操作都可以直接复用。
Neovim Lua 配置方案
如果使用Lua体系写Neovim配置,添加以下代码即可:
vim.keymap.set('i', '<C-w>', '<C-\\><C-o><C-w>', { noremap = true, silent = true })
效果验证
配置生效后,你在插入模式下可以直接使用原有Ctrl+W相关的窗口操作逻辑,不需要先退出插入模式:
- 切换到左侧窗口:
Ctrl+W h - 切换到右侧窗口:
Ctrl+W l - 切换到上方窗口:
Ctrl+W k - 切换到下方窗口:
Ctrl+W j - 关闭当前窗口:
Ctrl+W c - 新建水平拆分窗口:
Ctrl+W s
内容的提问来源于stack exchange,提问作者Setjmp
相关产品推荐
相关产品推荐

