При використанні set showcmd
Vim показує часткові команди в останньому рядку екрана. Наприклад, у звичайному режимі при введенні команди dt.
показується останній рядок, dt
а потім, коли ви натискаєте, .
команда завершена, і тому нічого не відображається.
Чи є спосіб показати повні команди? Наприклад, під час введення тексту dt.gU(
спочатку dt.
буде показано; а при запуску набору другої команди перша очищатиметься, щоб у підсумку відображалася лише gU(
така.
Це може бути корисним, наприклад, для ілюстрації GIF; і перевірити, що ви ввели те, що хотіли, якщо у вас виникли якісь несподівані результати.
dt.gU(
це дві команди: dt.
і gU(
.... Тож, що ви дійсно хочете, це показати якусь історію команд (Vim вже показує "повних команд").
src/normal.c
кодових викликів clear_showcmd()
в декількох місцях ( normal_cmd()
, do_pending_operator()
, end_visual_mode()
). Я граю зі скиданням файлу showcmd_buf
в тих точках, що виглядало досить добре, але я впевнений, що ви не можете отримати те, що хочете, без аналогічної зміни вихідного коду Vim та відновлення його. Звичайно, робити це може вартувати клопоту, щоб зробити свої gif.
dt
відображається тому, що він очікує на поточний оператор. Після того, як йому подано рух, він більше не очікує оператора. Припустимо, ми пішли далі, і зробилиdt.gU(gu)daw
чи так. Це все "одна повна команда", чи це чотири повні команди, чи щось інше?