Di VIM, bisakah saya mencari tahu kunci apa yang baru saja saya ketik?

11

Terkadang saya akan menggunakan VIM dan sesuatu akan terjadi, dan saya tidak tahu apa itu atau apa yang saya ketik yang menyebabkannya. Apakah ada cara untuk membuat daftar beberapa kunci terbaru yang diketik, dan, lebih baik lagi, mencari tahu tindakan apa yang dipicu?

Owen
sumber

Jawaban:

7

Vimmemiliki opsi -Wyang dapat Anda penyalahgunaan, tetapi tidak berfungsi saat Vimmasih berjalan.

-w {scriptout}

Semua karakter yang Anda ketik direkam dalam file {scriptout}, hingga Anda keluar dari Vim. Ini berguna jika Anda ingin membuat file skrip untuk digunakan dengan "vim -s" atau ": source!". Jika file {scriptout} ada, karakter ditambahkan.

-W {scriptout}

Suka -w, tetapi file yang ada ditimpa.

Memanggil Vimdengan mis alias

vim -W /tmp/vimlog-$(id -un)

akan membiarkan Anda memeriksa dengan less /tmp/vimlog-$(id -un)atau cat -v /tmp/vimlog-$(id -un)apa yang Anda benar-benar diketik setelah Anda berhenti Vim.

peth
sumber
Ini adalah ide yang menarik. Saya akan mencoba ini dan melihat apakah saya belajar sesuatu.
Owen
3

Pertama-tama pastikan bahwa vim mengingat semua garis sejarah. Ini menetapkan sejarah ke 1000 perintah dan pencarian:

:set history=1000

Jika Anda mengetik awal dari apa yang Anda cari, Anda dapat menggunakan tombol untuk menelusuri sejarah - ini berlaku untuk perintah dan pencarian.

Misalnya, jika Anda telah mencari china maka cuba maka Chad lalu cyprus :

Anda dapat mengetik /cdan menekan beberapa kali. Anda akan menemukan ini akan menampilkan /cyprusmaka /cubakemudian /china( /Chaddilewati karena tidak memulai dengan c ).

Perintah lain:

  • :history daftar seluruh sejarah.
  • :his daftar sejarah perintah.
  • :his / daftar riwayat pencarian.
Taji
sumber
2
Saya tidak berpikir ini berlaku untuk perintah mode normal hanya untuk perintah mode ex (yaitu perintah yang dimulai dengan ':', contoh: e: w: q)
kmkkmk
1
Untuk melihat riwayat perintah ex, Anda juga bisa cukup mengetik q:dalam mode normal. Hal yang sama berlaku untuk riwayat pencarian denganq/
Yab
2

Anda dapat menambahkan ini ke .vimrc Anda:

set showcmd

Ini akan menampilkan di bilah status perintah yang Anda buat saat Anda mengetiknya. Meskipun ini tidak akan memberi Anda sejarah, ini adalah solusi terdekat yang saya tahu.

Namun jika Anda berbicara tentang experintah, awnser Gareth adalah cara untuk pergi

Yab
sumber