Определите, привязан ли ключ к чему-либо в vim


Я хотел бы знать, есть ли способ выяснить, если ключ делает что-то в vim. Я знаю, что могу использовать :map чтобы увидеть пользовательские сопоставления, но есть ли что-то для встроенного материала?

например, у меня всегда было CTRL - W обязательно закрыть вкладку, потому что я думал, что она не используется. Через полгода я узнал, что есть некоторые последовательности, которые используют его, например CTRL - WCTRL -S чтобы разбить окно,и это был кошмар, чтобы переучиться.

6 70

6 ответов:

Если вы проверите предложенный ответ Рэнди Морриса, вы найдете, что

:help index 

дам вам список, который вы хотите.

чтобы проверить отображение по умолчанию:

:help index

для других сопоставлений, которые выполняются либо пользователями, либо плагином:

:map
:map!

от http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-Tutorial(Part_1):

первая команда отображает карты, которые работают в нормальном, визуальном и выберите и режим ожидания оператора. Вторая команда отображает карты это работает в режиме вставки и командной строки.

обычно выходные данные вышеприведенных команд занимают несколько страниц. Для перенаправления выходных данных можно использовать следующий набор команд в vim_maps.текстовый файл:

:redir! > vim_maps.txt
:map
:map!
:redir END

не полный ответ, но вы можете проверить :help map-which-keys для списка ключей, которые vim рекомендует использовать в пользовательских картах.

в этом разделе справки есть рекомендация о том, как определить, сопоставлен ли конкретный ключ с действием.

использовать ":Карта!"и": map "для вручную установленных ключей и": help ' char (- combination)'", чтобы узнать, какие ключи уже сопоставлены в vim из коробки (/из ваших конкретных параметров компиляции). (Немного не по теме, но все же regardable (я думаю): используйте ":scriptnames", чтобы увидеть, какие файлы были получены в каком порядке.)

с наилучшими пожеланиями, С.

я пролистывала :help index и составил список некоторых неиспользуемых nmap ключи:

  • Q (переключиться в режим "Ex")
  • Z кроме ZZ, ZQ
  • \
  • gb, gc, gl, gx, gy, gz
  • zp, zq, zu, zy
  • КР, см, со, СР, СЧ, пр, ЗС, КР, СХ, Су, CZ
  • dc, dm, do, dp, dq, dr, ds, du, dx, dy
  • га, ГБ, ГК, гг, ГК, гл, гм, го, ГС, ГХ, гр, ГЗ
  • зб-цзы, здж, ЗК, зп, орел, зп, ЗС, ЗТ, ЗУ, З. В., З. Ы., zZ
  • ]а ]б ]е ]г, ]ч, ]J, А ]К, ]Л ]Н, ]О ]М, ]р, ]т, ]у, ]В, ]З, ]х, ]г
  • [a, [b, [e, [g, [h, [j, [k, [l, [n, [o, [q, [r, [t, [u, [v, [w, [x, [y
  • CTRL-G, CTRL-K
  • CTRL - \ a-z (зарезервировано для расширений)
  • CTRL - \ A-Z (не используется)

пожалуйста, обновите/комментировать.

можно использовать mapcheck.: -

например, я хотел сопоставить <CR> ,i до gg=G для отступа файла. Чтобы проверить, есть ли отображение уже для <CR> , i

if mapcheck("\<CR>", "I") == "" |echo "no mapping"

...но это не будет определять, является ли сопоставление частью последовательности.