我可以在 VIM 中使用 SPACE 作为地图向导吗?

Posted

技术标签:

【中文标题】我可以在 VIM 中使用 SPACE 作为地图向导吗?【英文标题】:Can I use SPACE as mapleader in VIM? 【发布时间】:2010-10-01 13:39:40 【问题描述】:

来自http://items.sjbach.com/319/configuring-vim-right 我知道你应该能够使用 Space 作为 vim 中的 mapleader。我试过了,但它似乎不起作用。任何人使它工作?

试过了:

let mapleader = <space>

【问题讨论】:

太棒了!刚刚阅读了同一篇博客文章,并在尝试 后发现了这个……我发现在 MacVim 中,这并没有从空格键中删除“向前移动一个字符”的映射,所以对于从谷歌找到这个的其他人 - 添加“让地图领导者...”之前的“nnoremap ”这对我有用。 【参考方案1】:

nnoremap nnoremap /

【讨论】:

【参考方案2】:

Mapleader 是一个 Vim 字符串变量。要将空格用作领导者,您必须转义特殊字符。

let mapleader="\<Space>"

有关详细信息,请参阅,

http://vimdoc.sourceforge.net/htmldoc/eval.html#expr-quote

编辑:

这在我的 Vim 版本中不再适用。即使在 cmets 中建议通过运行 nnoremap &lt;SPACE&gt; &lt;Nop&gt; 在正常模式下取消映射空格键。

我最终选择了下面答案中给出的解决方案。

map <Space> <Leader>

【讨论】:

另外,请确保使用双引号 "\&lt;Space&gt;" 而不是 '\&lt;Space&gt;' 我更喜欢这个答案。 let mapleader = "\&lt;Space&gt;" 在 nvim 中为我工作,但在 vim 中没有。 map &lt;Space&gt; &lt;Leader&gt; 也不适用于我的 vim。 noremap &lt;Space&gt; &lt;Nop&gt; map &lt;Space&gt; &lt;Leader&gt; 在 vi​​m 中工作 我必须删除 = 周围的空间才能在 Neovim 上工作。【参考方案3】:

请尝试以下方法:

let mapleader=" "

并记得在此之前写下以下行,以确保空格键事先没有任何映射:

nnoremap <SPACE> <Nop>

【讨论】:

作为上述问题中的 spacemanaki cmets nnoremap &lt;SPACE&gt; &lt;Nop&gt; 需要让这个工作。 @Sasha:真的吗?您能否解释一下原因,如果确实如此,那么也许您应该编辑问题。 如果没有 sasha 的映射,按 将不会像其他键一样作为 mapleader。正常模式下的 映射到 。只需连续按几次,您就会看到不受欢迎的行为,可以通过nnoremap &lt;Space&gt; &lt;nop&gt; 修复。 要添加到这个答案,请注意mapleader 的值只影响在设置mapleader 之后发生的映射。见:help leader 我必须保存并关闭 rc 文件。我使用的是:source %,但空间重映射不起作用。【参考方案4】:

上述解决方案很棒,但是右下角的命令角没有显示任何内容。如果您对 \ 键没有任何用处,请尝试使用 map &lt;SPACE&gt; &lt;leader&gt;\ 将显示在命令角。这样您就不必按照上述建议中的建议先取消映射空间。

【讨论】:

这打破了 NERD 评论者。至少在 Vim 8 和 Neovim 中,如果 showcmd 开启,空间会显示为 &lt;20&gt;,所以我猜对于足够新的 Vim,这个答案已经过时了。 我只想在这里补充一点,如果您已经为默认领导者开发了肌肉记忆,但想要开始使用空间来提高效率,这也是最好的解决方案。 “\r” 仍然连接到我的肌肉记忆中,用于打开 Nerd Tree 和使用 cscope,所以即使将空间映射到领导者,它仍然可以工作,这很好(不过,我觉得不需要使用 Nerd 评论器)。

以上是关于我可以在 VIM 中使用 SPACE 作为地图向导吗?的主要内容,如果未能解决你的问题,请参考以下文章

超漂亮 vim 配置:space-vim

我可以在 WinForms 应用程序中使用哪个向导控件?

vim插件nerdcommenter的快捷键无法使用

vim with space-vim

Vim 主题:space-vim-theme -- 支持 dark 和 light 两种背景

Vim 主题:space-vim-theme -- 支持 dark 和 light 两种背景