aszswaz Asked: 2022-01-31 19:04:47 +0800 CST2022-01-31 19:04:47 +0800 CST 2022-01-31 19:04:47 +0800 CST 如何在vim的所有模式下配置快捷键? 772 我想配置一个既可以在编辑模式下也可以在普通模式下使用的快捷键,通常需要两个命令: :nnoremap <C-s> :w<cr> :inoremap <C-s> <esc>:w<cr>a 有没有办法将它们组合成一个可以同时作用于多种模式的指令? vim neovim 2 个回答 Voted Best Answer romainl 2022-02-01T13:32:05+08:002022-02-01T13:32:05+08:00 :help map-table: Mode | Norm | Ins | Cmd | Vis | Sel | Opr | Term | Lang | Command +------+-----+-----+-----+-----+-----+------+------+ [nore]map | yes | - | - | yes | yes | yes | - | - | n[nore]map | yes | - | - | - | - | - | - | - | [nore]map! | - | yes | yes | - | - | - | - | - | i[nore]map | - | yes | - | - | - | - | - | - | c[nore]map | - | - | yes | - | - | - | - | - | v[nore]map | - | - | - | yes | yes | - | - | - | x[nore]map | - | - | - | yes | - | - | - | - | s[nore]map | - | - | - | - | yes | - | - | - | o[nore]map | - | - | - | - | - | yes | - | - | t[nore]map | - | - | - | - | - | - | yes | - | l[nore]map | - | yes | yes | - | - | - | - | yes | 表明 Vim 具有*map涵盖多种模式的命令,但它没有涵盖所有模式的命令。因此,您可以通过以下方式涵盖所有模式: :map, :map!, :tmap, :lmap, 并且您必须:*map对正常模式和插入模式使用两个命令。 但是您的两个映射的 RHS 并不相同,因此,即使:*map存在这样的命令,您也无法使用它。 matias Oliva 2022-07-22T13:51:28+08:002022-07-22T13:51:28+08:00 我设法添加了一个快捷方式来使用Ctrl+应用更改S,我留下我的配置以防万一
:help map-table
:表明 Vim 具有
*map
涵盖多种模式的命令,但它没有涵盖所有模式的命令。因此,您可以通过以下方式涵盖所有模式::map
,:map!
,:tmap
,:lmap
,并且您必须
:*map
对正常模式和插入模式使用两个命令。但是您的两个映射的 RHS 并不相同,因此,即使
:*map
存在这样的命令,您也无法使用它。我设法添加了一个快捷方式来使用Ctrl+应用更改S,我留下我的配置以防万一