remap在正常模式下输入,但不在命令行中输入

时间:2014-07-06 18:54:43

标签: vim

我在正常模式下重新映射了Enter键以添加新行:

nnoremap <CR> o<Esc>k

效果很好,但现在在命令行中(由q :)输入此命令也添加了新行,但我想将其保留为默认模式,这是从历史记录中执行所选命令。

所以问题是,如何在正常模式下重新映射密钥,而不是在命令行中重新映射?

2 个答案:

答案 0 :(得分:2)

此自动命令执行您想要的操作:

augroup commandlinewindow
  autocmd!
  autocmd CmdwinEnter * nnoremap <buffer> <CR> <CR>
augroup END

它是&#34;命令行窗口&#34;顺便说一句,而不是&#34;命令行&#34;。

答案 1 :(得分:2)

除了命令行窗口之外,您几乎肯定需要这个。对于 quickfix 窗口:

{{1}}