При использовании set showcmdVim показывает частичные команды в последней строке экрана. Например, в обычном режиме при вводе команды 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 и его перестройки. Конечно, это может стоить хлопот, чтобы сделать ваши гифки.

dtПоказано , потому что это оператор тока в ожидании. Как только он получил ходатайство, он больше не находится в состоянии ожидания оператора. Предположим, мы пошли дальше, и сделалиdt.gU(gu)dawили так. Это все «одна полная команда», или четыре полные команды, или что-то еще?