vim - 我可以将键绑定(bind)映射到 vimrc 中的函数吗?

标签 vim

所以最初我的 vimrc 中有以下配置

map <F5> :call Compile()<CR>

但是不知怎么感觉F5不是很方便,所以尝试映射到<A-q><A-1> ,这似乎不起作用。我也试过<C-q><C-1> ,好像什么都没发生。

所以我不能将函数映射到键绑定(bind)?

最佳答案

某些组合键,如 Ctrl + 非字母无法映射,无法区分 Ctrl + 字母与 Ctrl + Shift + 字母。 (除非您的终端为它发送一个不同的 termcap 代码,而大多数人不会。)在插入或命令行模式下,尝试键入组合键。如果没有任何 react /插入,则不能使用该组合键。这也适用于 <Tab>/<C-I> , <CR>/<C-M>/<Esc>/<C-[>等等(唯一的异常(exception)是 <BS>/<C-H> 。)这是一个已知的痛点,也是 vim_dev 和 #vim IRC channel 上各种讨论的主题。

所以,<C-1>出来了,但其他映射应该可以正常工作;例如:

nnoremap <C-q> :call Compile()<CR>

您可以通过以下方式检查是否没有其他插件清除/覆盖映射
:nmap <C-q>
n  <C-Q>       * :call Compile()<CR>

其他提示
  • You should use :noremap ;它使映射不受重新映射和递归的影响。
  • :map涵盖正常、视觉和运算符(operator)等待模式。您可能只想从正常模式开始编译,所以 :nnoremap更精确。 (如果您稍后添加一个可视模式映射来仅编译选择,则该键仍然可以在该模式下自由使用。)
  • 关于vim - 我可以将键绑定(bind)映射到 vimrc 中的函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40504408/

    相关文章:

    google-chrome - 如果文本文件在浏览器中显示错误

    vim - 访问 vi 命令历史时使用箭头的替代方法

    delphi - 哪些编辑器具有 vi 仿真和 delphi 高亮支持?

    vim - 如何在 Vim 中为制表符分隔的文件创建严格的柱状显示

    regex - 如何使用Vim提取正则表达式匹配

    Vim 视觉选择和正则表达式

    Vim 撤销 : undo changes after file write

    对包含数字和单词字符的行进行排序

    vim - 如何为:tab new,:tab,:tab设置快捷方式?

    windows - Vim(7.3.3 Windows 64 位): Add ^M to end of line if there is none (ff=unix)