我可以在VIM中使用SPACE作为mapleader吗?

Mar*_*lun 64 mapping vim configuration customization keyboard-shortcuts

http://items.sjbach.com/319/configuring-vim-right我得到了你应该能够Space在vim中用作mapleader.我试过但它似乎没有用.任何使它成功的人?

尝试:

let mapleader = <space>
Run Code Online (Sandbox Code Playgroud)

Zso*_*kai 73

尝试

let mapleader=" "
Run Code Online (Sandbox Code Playgroud)

代替.HTH

  • 由于spacemanaki在上面的问题中评论了"nnoremap <SPACE> <Nop>`,因此需要这样做." (15认同)
  • 如果没有sasha的映射,按<Space>将不会像其他键那样表现.正常模式下的<Space>映射到<right>.只需连续按几次<space>就可以看到不需要的行为,可以通过`nnoremap <Space> <nop>`来修复. (2认同)
  • 要添加到这个答案,请注意`mapleader`的值仅影响在设置`mapleader`之后发生的映射.见`:help leader`. (2认同)

jay*_*WHY 53

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

let mapleader = "\<Space>"
Run Code Online (Sandbox Code Playgroud)

有关详情,请参阅,

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

编辑:

在我的Vim版本中,这对我不再适用.即使在评论中建议通过运行在正常模式下取消空格键nnoremap <SPACE> <Nop>.

我最终得到了下面答案中给出的解决方案.

map <Space> <Leader>
Run Code Online (Sandbox Code Playgroud)

  • 我更喜欢这个答案。 (2认同)

小智 15

上面的解决方案很棒,但是右下角的命令角没有显示任何内容.如果你没有对任何使用\钥匙无论如何,尝试使用 map <SPACE> <leader>,并\会在命令角落出现.那就是你不必首先取消地图空间,正如上面的表述中所建议的那样.

  • 这打破了NERD Commenter。至少在Vim 8和Neovim中,如果打开了showcmd,空间会显示为&lt;20&gt;,所以我猜对于足够新的Vim,这个答案已经过时了。 (2认同)