Чи є якийсь спосіб переглядати відображені на даний момент ключі у Vim?


183

В основному, я хотів би переглянути всі карти клавіш, зроблені в поточному буфері усіма плагінами, vimrc тощо, у поточному буфері. Чи все-таки це потрібно зробити?

Відповіді:


238

Це можна зробити за допомогою :mapкоманди. Є й інші варіанти.

  • :nmap для відображень у звичайному режимі
  • :vmap для візуального відображення режимів
  • :imap для відображення режимів вставки

Наведений вище список не є повним. Ввівши :help mapVim, ви отримаєте більше інформації.


10
Щойно для уточнення, я вважаю, що :map, як запитує оригінальне запитання, просто відображаються відображення, зроблені плагінами, vimrc і т. Д. Якщо ви хочете побачити типові прив’язки ключів у vim, використовуйте:index
Von

28
@ Вон, ти, мабуть, маєш на увазі :help index.
Lqueryvg

2
вони дають вам призначені користувачем відображення, а не вбудовані (за замовчуванням) прив’язки
Tyler Durden

1
Чи можна записати їх у файл, щоб переглянути їх згодом?
Антон Данейко

@AntonDaneyko Ви можете використовувати для цього github.com/AndrewRadev/bufferize.vim .
radlan

86
:redir! > vim_keys.txt
:silent verbose map
:redir END

Це виводить ярлики, де вони були визначені, до текстового файлу.


1
Я вважаю, що ви мали намір використовувати :redirкоманду, а не :remapкоманду.
Аарон Хейс

1
Дякую дякую дякую !!! Нарешті виявив, що MacVim переосмислює мою команду <A-Up>. Виправлено додаванням let macvim_skip_cmd_opt_movement = 1
RichS

54

На додаток до відповідей про :mapбез аргументів: не пропустіть його багатослівну форму ( :verbose map), яка показує, де було визначено відображення (див. :help map-verbose).



13

:mapі його друзі - це ключ, :verboseдодає інформацію та :redirдозволяє уточнювати після пошуку.

Вони є ідеальним поєднанням, щоб показати, яка команда прив'язується до якої ярлики та навпаки, але якщо ви хочете шукати деякі клавіші та уникати тимчасових файлів, коли вам потрібно шукати відображення, погляньте на сценарій та :Verboseкоманду.

Це обгортка, :verboseщоб показати результат у вікні попереднього перегляду.

таким чином ви можете шукати все, що завгодно, всередині результатів, не використовуючи тимчасові файли

введіть :Verbose mapі використовуйте / ?як завжди.


4

Інший спосіб - зберегти сеанс у файлі, а потім відредагувати цей файл, оскільки він містить усі відображення та налаштування.

:mks[ession] [file] - Напишіть сценарій Vim, який відновлює поточний сеанс редагування.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.