我可以在 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>
【问题讨论】:
太棒了!刚刚阅读了同一篇博客文章,并在尝试nnoremap
【讨论】:
【参考方案2】:Mapleader 是一个 Vim 字符串变量。要将空格用作领导者,您必须转义特殊字符。
let mapleader="\<Space>"
有关详细信息,请参阅,
http://vimdoc.sourceforge.net/htmldoc/eval.html#expr-quote
编辑:
这在我的 Vim 版本中不再适用。即使在 cmets 中建议通过运行 nnoremap <SPACE> <Nop>
在正常模式下取消映射空格键。
我最终选择了下面答案中给出的解决方案。
map <Space> <Leader>
【讨论】:
另外,请确保使用双引号"\<Space>"
而不是 '\<Space>'
。
我更喜欢这个答案。
let mapleader = "\<Space>"
在 nvim 中为我工作,但在 vim 中没有。 map <Space> <Leader>
也不适用于我的 vim。
noremap <Space> <Nop>
map <Space> <Leader>
在 vim 中工作
我必须删除 =
周围的空间才能在 Neovim 上工作。【参考方案3】:
请尝试以下方法:
let mapleader=" "
并记得在此之前写下以下行,以确保空格键事先没有任何映射:
nnoremap <SPACE> <Nop>
【讨论】:
作为上述问题中的 spacemanaki cmetsnnoremap <SPACE> <Nop>
需要让这个工作。
@Sasha:真的吗?您能否解释一下原因,如果确实如此,那么也许您应该编辑问题。
如果没有 sasha 的映射,按 nnoremap <Space> <nop>
修复。mapleader
的值只影响在设置mapleader
之后发生的映射。见:help leader
。
我必须保存并关闭 rc 文件。我使用的是:source %
,但空间重映射不起作用。【参考方案4】:
上述解决方案很棒,但是右下角的命令角没有显示任何内容。如果您对 \
键没有任何用处,请尝试使用
map <SPACE> <leader>
和 \
将显示在命令角。这样您就不必按照上述建议中的建议先取消映射空间。
【讨论】:
这打破了 NERD 评论者。至少在 Vim 8 和 Neovim 中,如果showcmd
开启,空间会显示为 <20>
,所以我猜对于足够新的 Vim,这个答案已经过时了。
我只想在这里补充一点,如果您已经为默认领导者开发了肌肉记忆,但想要开始使用空间来提高效率,这也是最好的解决方案。 “\r” 仍然连接到我的肌肉记忆中,用于打开 Nerd Tree 和使用 cscope,所以即使将空间映射到领导者,它仍然可以工作,这很好(不过,我觉得不需要使用 Nerd 评论器)。
以上是关于我可以在 VIM 中使用 SPACE 作为地图向导吗?的主要内容,如果未能解决你的问题,请参考以下文章