Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Vim中创建新映射_Vim - Fatal编程技术网

在Vim中创建新映射

在Vim中创建新映射,vim,Vim,我正在尝试创建一个映射,该映射允许我在按逗号+n时执行当前的node.js文件。我尝试使用以下方法: :map <cn> :!node . :映射:!节点。 当我输入这个时,它只是将光标跳到当前文件中的一个随机行。如何创建此映射?您以错误的格式指定了映射键,请参阅:help key notation。要触发映射,请使用以下命令: :nnoremap ,n :!node %<CR> :nnoremap,n:!节点% 补充说明: );它使映射不受重映射和递归的影响

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

:map <cn> :!node .
:映射:!节点。

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

您以错误的格式指定了映射键,请参阅
:help key notation
。要触发映射,请使用以下命令:

:nnoremap ,n :!node %<CR>
:nnoremap,n:!节点%
补充说明:

  • );它使映射不受重映射和递归的影响
  • 同样,您在模式中也应该是特定的,因此
    :nmap
    而不是
    :map
    仅适用于正常模式
  • 映射的工作方式与类型相同。当您从正常模式调用Ex命令时,您需要通过
    结束命令行模式,就像您在以交互方式键入此命令时按Enter键一样
  • 您可能希望将当前文件传递到
    节点
    ;这是由特殊的
    %
    标识符完成的,而不是由
    完成的。请参阅
    :帮助cmdline专用

谢谢。似乎这个映射并不能在所有文件中全局工作,或者一旦我退出当前文件。如何保存映射?要持久化映射,必须将该行放入
~/.vimrc
(或Windows上的
\u-vimrc
)配置中,然后重新启动Vim。当我尝试使用映射时,它会声明“E486:找不到模式:所有”。我假设我已有的映射已经在这些键的位置上。如何替换它?不,看起来Vim执行了内置的
n
命令,这导致了错误。使用
:verbose nmap,n
检查它是否已定义。