Карта <space>до <leader>в VIM - PullRequest
       1

Карта <space>до <leader>в VIM

0 голосов
/ 20 февраля 2019

Я хочу сопоставить ключ <space> с <leader> (который здесь в настоящее время является ключом \) в VIM 7.4.

Я также хотел бы иметь возможность использовать оба <space> и \ клавиши в качестве лидеров.

Если возможно, было бы здорово увидеть символ /, появляющийся в правом нижнем углу, когда я его набираю (вместо таких прикольных вещей, как <20>),но я могу жить без него.

Я пытался

nmap <space> <bslash>

, это работает для простых команд <leader>keys, но <leader><leader>key (например, easymotion * 1020).* карты) не работают.

Я также пытался

let mapleader = " "
nmap <bslash> <space>

, но, аналогично указанной выше проблеме, клавиша <bslash> больше не работает для команд <leader><leader>key.

Я уже пробовал кучу вещей на этих связанных страницах вопросов / вики:

1 Ответ

0 голосов
/ 20 февраля 2019

Я не вижу ваши .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 везде.Я определенно не рекомендовал бы это, так как вы, вероятно, окажетесь в цикле карты.Это решение должно работать лучше:

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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...