在 Vim 中创建新映射

Creating new mappings in Vim

我正在尝试创建一个映射,它允许我在按逗号 + n 时执行当前的 node.js 文件。我正在尝试使用以下内容:

:map <cn> :!node .

当我输入它时,它只是将我的光标跳到我当前文件中的随机行。如何创建此映射?

您以错误的格式指定了映射键,请参阅 :help key-notation。要通过 N 触发映射,请使用:

:nnoremap ,n :!node %<CR>

补充说明:

  • You should use :noremap;它使映射不受重新映射和递归的影响。
  • 同样,您应该在模式中尽可能具体,因此 :nmap 而不是 :map 仅用于 正常模式
  • 映射按类型工作。当您从正常模式调用 Ex 命令时,您需要通过 <CR> 结束命令行模式,就像您在交互式输入时按 Enter 一样。
  • 您可能想将当前文件传递给node;这是由特殊的 % 标识符完成的,而不是由 . 完成的。参见 :help cmdline-special