【问题标题】:Having an issue with <Leader> key and plugin (particularly EasyMotion)<Leader> 键和插件存在问题(尤其是 EasyMotion)
【发布时间】:2012-02-23 16:29:09
【问题描述】:

所以我对 VIM 很陌生,但我正在尝试添加一些插件,其中之一是 EasyMotion。

根据 NetPlus 的 vid 教程和 Vim's Wiki Plugin Page,在插件方向(在 Windows 上)放置插件的 .vim 文件后,我应该能够通过点击(从加载的文件中)启动 EasyMotion 插件:

&lt;Leader&gt;&lt;Leader&gt;w"

根据 VIM 文档,Leader 设置为 mapleader 变量,默认情况下为“\”,除非更改。我没有改变它,但点击“\”只会发出哔哔声(windows error bell)。

我确实尝试过映射: 让 mapleader = "," 让 g:mapleader = ","

什么都没有改变。

更新 当我不小心尝试通过 Vim 加载我的 _vimrc 文件时遇到这些错误(右键单击文件并选择使用 Vim 打开)-> 我认为这可能会提供一些见解,但我不知道为什么:

错误

处理 d:\Program Files (x86)\Vim\vimfiles\plugin\ 时检测到错误 EasyMotion.vim:

第 24 行:

E117:未知功能:EasyMotion#InitOptions

第 39 行:

E121:未定义变量:g:EasyMotion_hl_group_target

E116:函数 EasyMotion#InitHL 的参数无效

第 40 行:

E121:未定义变量:g:EasyMotion_hl_group_shade

E116:函数 EasyMotion#InitHL 的参数无效

第 69 行:

E117:未知函数:EasyMotion#InitMappings

【问题讨论】:

  • 请尝试使用命令:echo g:EasyMotion_loaded 来查看EasyMotion 是否已加载。
  • @Idan - 没有回应“未定义的变量”。我的理解是 /Vim/Vimfiles/plugins 目录中的任何 .vim 插件都会自动加载?我想我错了?在那里的文档中甚至没有参考我需要通过我的 _vimrc 或其他方式连接加载。
  • @pghtech - ":scriptnames" 会告诉你 Vim 加载了什么,什么没有加载。你的插件在里面吗?
  • 是的,在列表中是:C:\Program Files (x86)\Vim\vimfiles\plugin\EasyMotion.vim
  • 这意味着文件是来源的(即“加载”)。这很好,意味着问题不在于 Vim 的路径。现在你必须找出为什么它没有“反应”。看看我的……下面,看看你的是什么。如果你想用 let mapleader = "," 或其他东西定义一个新的。看看能不能“调用EasyMotion”功能?

标签: vim plugins


【解决方案1】:

答案是我没有将 autoload .vim 文件添加到 autoload 目录中。这就是我收到特定错误的原因。

【讨论】:

  • 只是为了像我这样的未来傻瓜把它拼出来:你必须将doc/easymotion.txtplugin/EasyMotion.vimautoload/*复制到~/.vim/下的相应文件夹中。就像我错过了后者的 OP,autoload 文件夹。
【解决方案2】:

我没有使用上述插件,所以无法具体帮助它,但就其他部分而言,您可以看到您的领导者是由什么映射的

:echo g:mapleader

Vim 插件通常(如果你没有使用一些插件来管理插件,比如 Pathogen 或 Vim-Addon-Manager)保存在 $VIM\plugins(坏)或 $VIMFILES\plugins(好)中,在 Windows 上。如果您使用的是 unix,只需将 \ 替换为 /。

您还可以通过回显它们来找出您的 $VIM、$VIMFILES ... 目录在哪里...:echo $VIMFILES

关于地图领袖的另一件事。它不是 动态的 - 也就是说,一旦使用

定义映射
<leader>some_key

并且您更改了领导者变量,它不会重新定义映射。因此,您的领导者必须在使用它的实际映射发生之前进行更改(例如,在您的 vimrc 中)。

【讨论】:

  • 所以我用一些额外的信息更新了我的问题,我还尝试了映射 mapleader 和 g:mapleader 并由 :echo mapleader 验证。但是,当我 :echo $VIMFILES 它不返回任何响应。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 2010-12-08
相关资源
最近更新 更多