Setup terminal saya adalah gnome-terminal + tmux + zsh dengan binding b.
Dalam aplikasi seperti vim atau bahkan dalam mode pengeditan baris perintah zsh, saya harus sering menekan ESCtombol tetapi ada sedikit penundaan sebelum efek dari tombol ini terjadi. Lihat Layar GNU membuat kunci Vim ESC lambat
Setelah beberapa percobaan, saya menemukan bahwa menekan ESCtombol dan segera kunci lain (katakanlah b) memiliki efek yang sama dengan memukul Alt+b. Saya tidak tahu mengapa ini terjadi (mungkin karena alasan warisan ketika tidak ada Alt? Saya tidak tahu). Either way, saya punya dua Altkunci dan saya tidak ingin perilaku ini dengan ESCkunci saya . Saya sudah mencoba C+[dan masalah yang sama dengan itu juga.
Saya tidak yakin siapa yang bertanggung jawab untuk ini, gnome-terminal atau tmux atau OS saya sendiri (Ubuntu Natty). Setiap ide tentang cara mengatasi ini akan sangat bagus.
Pembaruan : Saya memeriksa tanpa tmux pada terminal yang berbeda (LXTerminal) dan penundaan juga ada di sana.
Jawaban:
Inilah perbaikan yang sebenarnya. Tambahkan yang berikut ke
.tmux.conf
:sumber
tmux kill-server
ini agar bisa berlaku.tmux-prefix
(defaultCtrl+b
) diikuti oleh:
dan memasukkansource-file $HOME/.tmux.conf
.Penundaan disebabkan oleh rutinitas input yang mungkin harus memutuskan apakah tombol fungsi ditekan atau tidak. Untuk ini, rutin input memulai timer kapan pun ia membaca dalam karakter ESC. Karakter yang dibaca dari input sebelum timer habis (misalkan sepersepuluh detik) kemudian ditafsirkan sebagai urutan ESC dari tombol fungsi dan urutan ESC ini akan dibandingkan dengan string yang diketahui dari keamanan ESC dari terminfo atau termcap basis data (tergantung pada level rendah mana yang digunakan).
Tentu ini menjengkelkan untuk aplikasi di mana ESC digunakan sendiri, tapi saya tidak tahu solusi untuk ini.
Mengenai pertanyaan Anda dengan perilaku ESC a= Meta a:
Kunci met tidak tersedia dengan semua keyboard. Sebagai solusinya sering diperbolehkan untuk menggunakan kunci ESC untuk ditekan sebelum tombol lainnya.
sumber
Meskipun ini mungkin tidak secara langsung memperbaiki masalah Anda, saya telah menemukan bahwa saya dapat menggunakan
<Ctrl> c
untuk keluar dari mode penyisipan. Ini juga dapat digunakan untuk keluar dari pengguliran layar tmux (yang dapat dipanggil menggunakan<leader> PgUP
)sumber
<C-c>
untuk keluar dari mode penyisipan dalam penggunaan biasa karena tidak menjalankan perintah otomatisInsertLeave
yang mungkin ditonton oleh beberapa plugin. Lihat:h i_CTRL-C
.