Remap Ctrl-A di Layar GNU

30

Saya telah menggunakan layar GNU selama beberapa hari dan CTRL-Anavigasi mulai saya pakai. Bagaimana saya bisa memetakan ulang kombo kunci ini dan apa saja penggantian yang umum untuk kunci ini? Sebagai contoh, di Vim saya menggunakan jjbukan <esc>karena itu tidak mengharuskan saya untuk merusak formulir pengetikan saya.

Catatan: Alex menjelaskan cara memetakan kombo kunci, namun menambahkan pengikatan .screenrctidak berfungsi untuk saya. Saya menambahkannya ke etc\screenrcdan itu berhasil. The .screenrcMetode tampaknya bekerja untuk kebanyakan orang, saya tidak yakin mengapa tidak pada sistem saya.

Dru
sumber

Jawaban:

26

Untuk membuatnya CTRL+J, gunakan yang berikut ini di .screenrc.

escape ^Jj

Mengutip halaman manual ,

 escape xy

Atur karakter perintah ke x dan karakter yang menghasilkan karakter perintah literal (dengan memicu perintah "meta") ke y (mirip dengan opsi -e). Setiap argumen adalah karakter tunggal, urutan dua karakter dari bentuk "^ x" (artinya "Cx"), garis miring terbalik diikuti oleh angka oktal (menentukan kode karakter ASCII dari karakter), atau garis miring terbalik diikuti oleh karakter kedua, seperti "\ ^" atau "\". Standarnya adalah "^ Aa".

Alex Hirzel
sumber
Ketika perubahan dilakukan, CTRL+Japakah seharusnya berfungsi sebagaimana mestinya CTRL+A?
Dru
Saya miliki escape ^Jj^di .screenrcfile direktori root dan file direktori home pengguna. Saya me-reboot layar dan juga memulai kembali sesi ssh yang saya ikuti. Tidak ada yang berhasil, saya diharapkan CTRL+Juntuk berperilaku sebagaiCTRL+A
Dru
Apakah Anda memiliki tanda sisipan tambahan pada akhirnya? Seharusnya escape ^Jjtidak escape ^Jj^.
Alex Hirzel
1
Mungkin ada konflik dengan binding lain tetapi saya sudah mencoba beberapa kunci.
Dru
5
Anda juga dapat menekan Ctrl + a, dan ketik ': escape ^ Jj' (seperti in vi) untuk mengubah pemetaan secara dinamis.
kain
14

Mirip dengan solusi @Alex Hirzel tapi saya lebih suka menggunakan keybinding Ctrl + ^ (Ctrl + Shift + 6) karena tidak pernah digunakan dalam emacs keybindings.

Cukup tulis ~/.screenrcsebagai berikut:

escape ^^^
Chenming Zhang
sumber