我想在Vi7.4中将<space>键映射到<leader> (这里现在是\键)。
我还希望能够同时使用<space>和\键作为领导者。
如果可能的话,当我键入/字符(而不是像<20>这样的古怪的东西)时,看到它出现在右下角是很好的,但是没有它,我可以活下去。
我试过
nmap <space> <bslash>这对于简单的<leader>keys命令是有效的,但是<leader><leader>key命令(如easymotion )不起作用。
我也试着
let mapleader = " "
nmap <bslash> <space>但与上面提到的问题类似,<bslash>键不再适用于<leader><leader>key命令。
我已经在这些相关的问题/维基页面上尝试了一堆东西:
:h mapleader发布于 2019-02-20 16:31:09
我看不到您的.vimrc,所以我不能保证这就是问题所在,但我敢打赌,问题来自于使用nnoremap。以下几点对我来说是可行的:
let mapleader =" "
nmap <leader>i iHello World<esc>
nmap <bslash> <space>我可以使用<space>i或<bslash>i,它们都运行iHello World<esc>映射。但这一点:
let mapleader =" "
nnoremap <leader>i iHello World<esc>
nnoremap <bslash> <space>不管用。<space>i运行映射,但<bslash>i不运行,这正是应该期望的,因为nnoremap用于避免嵌套/递归映射。因此,一个可能的解决方案是在任何地方使用nmap。我绝对不建议这样做,因为您可能会在map循环中结束。这一解决方案应更好地发挥作用:
let mapleader =" "
nnoremap <leader>i iHello World<esc>
nmap <expr> <bslash> mapleader请注意,如果您更改了mapleader设置,这将中断,因为,正如:h mapleader所说:
Note that the value of "mapleader" is used at the moment the mapping is
defined. Changing "mapleader" after that has no effect for already defined
mappings.https://stackoverflow.com/questions/54787831
复制相似问题