vim - Vim简单映射

标签 vim

我最近开始使用Vim,只是安装了NERDTree(用于浏览文件的插件)。
访问该插件的命令为:NERDTree,尽管我是通过向该命令分配一个开始学习映射的一个好主意。

因此,我在.vimrc文件中添加了以下行:map :nt :NERDTree-但是,当我在vim文件中键入:nt时(即使重新启动后),我也会收到以下错误消息:not an editor command: nt

我还尝试通过键入:map :nt :NERDTree在编辑文件时直接添加映射,但是当我尝试使用命令时,它返回了相同的错误。

我检查了答案:What is the difference between the remap, noremap, nnoremap and vnoremap mapping commands in vim?,所以在我看来,:map(与noremap等相对)是解决问题的好方法。

键入原始命令时,该插件可以正常工作。

我究竟做错了什么? (对菜鸟问题很抱歉)

最佳答案

:NERDTree是命令,而不是映射,因此在此处无需创建递归映射。
:map太过分了。您应该使用:<mode>map(用于递归映射)或:<mode>noremap(用于nn递归映射)。
映射的末尾缺少一个<CR>来告诉Vim实际执行:NERDTree命令。


在这种特定情况下,正确的映射将是:

nnoremap :tn :NERDTree<CR>


但是将某些内容映射到:<anything>并不是一个好主意,因为每当您尝试执行Ex命令时,都会引入超时。这意味着您需要找到另一个组合。为什么不<Space>n

nnoremap <Space>n :NERDTree<CR>

关于vim - Vim简单映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43994905/

相关文章:

vim - 更改 i3wm 工作区时 Pycharm "writing cursor"消失

vim - 如何匹配语法文件中的链接序列

vim - 在 Vim 中设置特定列的制表位

regex - "Pattern not found"在 Vim 中搜索 HTML 文本

configuration - 如何在 vim 中覆盖 ~/.vim 和 ~/.vimrc 路径(但不能覆盖其他路径)?

vim - Vim 脚本中的 mapleaders <Leader> 和 <leader> 有什么区别?

html - 我如何设置 vim 7's html tidy options for "utf-8"编码?

eclipse - Eclipse 与 Vim 的轻松集成?

Vim 状态行 : show the character itself

vim - 有没有办法自动从 Vim Fireplace 连接到 nREPL?