Ответ 1
Если вы проверите предложенный ответ Рэнди Морриса, вы обнаружите, что
:help index
предоставит вам список, который вы хотите.
Я хотел бы знать, есть ли способ выяснить, делает ли ключ что-то в vim. Я знаю, что я могу использовать :map
для просмотра пользовательских сопоставлений, но есть ли что-то для встроенного материала?
Например, у меня всегда было CTRL - W, связанное с закрытием вкладки, потому что я думал, что он не использовался. Через полгода я узнал, что есть некоторые последовательности, которые его используют, например CTRL - W CTRL - S, чтобы разбить окно, и это был кошмар, чтобы переучиваться.
Если вы проверите предложенный ответ Рэнди Морриса, вы обнаружите, что
:help index
предоставит вам список, который вы хотите.
Чтобы проверить отображение по умолчанию:
:help index
Для другого сопоставления, которое выполняется либо пользователями, либо плагином:
:map
:map!
Из http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-Tutorial (Part_1):
Первая команда отображает карты, которые работают в нормальных, визуальных и выбор и режим ожидания оператора. Вторая команда отображает карты которые работают в режиме ввода и командной строки.
Как правило, вывод вышеуказанных команд будет охватывать несколько страниц. Вы можете использовать следующий набор команд для перенаправления вывода на файл vim_maps.txt:
:redir! > vim_maps.txt :map :map! :redir END
Не полный ответ, но вы можете проверить :help map-which-keys
список ключей, которые vim рекомендует использовать на своих пользовательских картах.
В этом разделе справки есть рекомендации, как определить, отображается ли конкретный ключ для действия.
Использование :map!
и :map
для установленных вручную ключей и :help 'char(-combination)'
чтобы узнать, какие ключи уже сопоставлены в vim из коробки (/из ваших конкретных опций компиляции). (Немного не по теме, но все же респектабельно (я думаю): Используйте :scriptnames
чтобы увидеть, какие файлы были получены в каком порядке.)
Я просмотрел :help index
и составил список некоторых неиспользуемых ключей nmap
:
<Space>
(то же самое, что и l
в обычном режиме; самый большой и самый малоиспользуемый ключ в обычном режиме)Пожалуйста, обновите/прокомментируйте.
Вы можете использовать mapcheck
.: -
Например, я хотел сопоставить <CR> ,i
с gg=G
с отступом файла.
Чтобы проверить, есть ли отображение уже для <CR> , i
if mapcheck("\<CR>", "I") == "" |echo "no mapping"
... но это не будет определять, является ли отображение частью последовательности.
В духе ответа Михала Чизмации смотрите также:
https://vim.fandom.com/wiki/Unused_keys
Это указывает на несколько привязок, которые он не упомянул, особенно привязки, которые существуют, но относительно неясны/бесполезны. Однако это не завершено либо.