Saat menggunakan set showcmd
Vim menunjukkan perintah parsial di baris terakhir layar. Misalnya, dalam mode Normal ketika mengetik perintah dt.
, baris terakhir ditampilkan dt
dan kemudian, ketika Anda menekan .
perintah selesai dan karena itu tidak ada yang ditampilkan.
Apakah ada cara untuk menunjukkan perintah penuh? Misalnya saat mengetik dt.gU(
, pertama dt.
akan ditampilkan; dan ketika mulai mengetik perintah kedua yang pertama akan dihapus, sehingga pada akhirnya hanya gU(
akan ditampilkan.
Ini bisa bermanfaat misalnya dalam menggambarkan GIF; dan untuk memeriksa apakah Anda mengetik apa yang Anda inginkan jika Anda menghadapi beberapa hasil yang tidak terduga.
dt.gU(
ada 2 perintah: dt.
dan gU(
.... Jadi yang Anda inginkan adalah menunjukkan semacam sejarah perintah (Vim sudah menunjukkan "comamnds penuh").
src/normal.c
panggilan kode clear_showcmd()
di beberapa tempat ( normal_cmd()
, do_pending_operator()
, end_visual_mode()
). Saya bermain dengan membuang ke file showcmd_buf
pada titik-titik itu, yang terlihat cukup bagus, tetapi membuat saya cukup yakin bahwa Anda tidak bisa mendapatkan apa yang Anda inginkan tanpa memodifikasi kode sumber Vim dan membangunnya kembali. Tentu saja, melakukan hal itu mungkin sepadan dengan kerumitan untuk membuat gif Anda.
dt
ditampilkan karena operator saat ini sedang menunggu keputusan. Setelah diberi gerakan, itu bukan lagi operator yang tertunda. Misalkan kita melangkah lebih jauh, dan melakukandt.gU(gu)daw
atau lebih. Apakah semua itu "satu perintah penuh", atau apakah itu empat perintah penuh, atau yang lain?