Saya pengguna baru ke Layar GNU. Saya sudah menggunakan Bash untuk waktu yang sangat lama, dan saya ingin mencoba Layar GNU.
Seperti yang Anda ketahui, Layar GNU menggunakan 'Ca' (Control-A) sebagai karakter perintah. Masalahnya adalah, ini mengganggu fitur Line Editing di Bash (dan GNU Readline), karena Control-A di Bash akan Pindah ke awal baris. "
Saya tahu saya dapat mengatur Karakter Perintah ke urutan kunci lain , seperti "^ Q" atau "` `" (Backtick), tetapi saya mengalami kesulitan menemukan urutan kunci lain yang belum digunakan (^ Q digunakan oleh terminal , backtick digunakan saat menulis skrip shell). Tampaknya Karakter Perintah hanya boleh panjang satu atau dua karakter. Dapatkah saya mengatur karakter kontrol Layar GNU menjadi sesuatu seperti "Control-Shift-A"?
(Saya belum dapat menggunakan lebih dari satu hyperlink, jadi saya tidak dapat menautkan ke dokumentasi Bash)
sumber
screen
pada sistem lain, Anda mungkin lebih baik tetap dengan ikatan kunci default, atau setidaknya untuk mempelajarinya terlebih dahulu.^A a
akan, secara default, mengirim^A
kombo tombol yang biasa . Agak merepotkan jika Anda sering menggunakan kombo itu; Saya biasanya menggunakanHOME
kunci bukan karena ini. Tapi itu juga tidak selalu berhasil.Jawaban:
Masalahnya dengan Control- Shift- Aadalah bahwa kebanyakan program emulasi terminal tidak mengirim kode berbeda dari kode yang dikirim oleh Control- A, jadi tidak akan ada cara bagi layar untuk membedakannya.
Anda mungkin dapat menggunakan Cq jika Anda
stty -ixon
menonaktifkan "kontrol aliran perangkat lunak" pada tty. Saya biasanya melakukan ini sehingga saya bisa menggunakan Cs untuk mencari di baris perintah.Anda mungkin mempertimbangkan C- ^, karena biasanya tidak terikat. Ini adalah Control- Shift- 6pada tata letak keyboard AS, tetapi mungkin sulit untuk mengetik pada tata letak lain.
Kebanyakan orang tidak pernah menggunakan karakter tty control C- \ untuk mengirim SIGQUIT. Untuk menggunakannya, nonaktifkan fungsi tty dengan
stty quit undef
dan ikat sebagai kunci awalan Anda. Ini agak berisiko, karena jika Anda menekan C- \ pada tty di mana tombol keluar belum dinonaktifkan dengan stty , Anda mungkin membunuh proses latar depan alih-alih mengaktifkan layar .Saya beralih ke tmux beberapa waktu lalu. Default adalah Cb karena dikembangkan di bawah layar dan tidak mengganggu layar default 's . Saya telah menemukan bahwa Cb bekerja dengan cukup baik untuk saya (saya biasanya menggunakan tombol panah untuk gerakan karakter tunggal pada baris perintah shell-meskipun saya menggunakan Mb dan Mf untuk bergerak dengan kata-kata).
Kebetulan, penulis tmux menggunakan Ca dalam sesi utamanya dan selalu mengetik Ca dua kali (apakah dalam sesi tmux atau tidak). Jika Anda mau mengadopsi kebiasaan ini, sepertinya kompromi yang layak karena Ca kedua harus menjadi no-op di sebagian besar konteks pengeditan seperti Emacs. Itu tidak akan berfungsi begitu akan jika Anda sering menggunakan program / konteks di luar layar di mana Ca kedua tidak akan menjadi no-op.
Secara default, Ca Ca terikat ke perintah lain (beralih ke layar yang paling baru aktif) di layar . Agar Ca Ca mengirim Ca yang sebenarnya dan memiliki jendela pengalih Ca, letakkan yang berikut di Anda
.screenrc
:sumber
Tidak perlu untuk solusinya.
Untuk pindah ke awal garis saat menggunakan layar dalam bash, gunakan
Control- A(lepaskan lalu)A
Secara umum, jika ada konflik karakter kontrol layar dengan pintasan bash, pintasan bash pertama Controlakan diganti dengan Control-A
Demikian juga untuk pintasan pengeditan baris lainnya.
sumber
Saya menggunakan C- \ untuk Layar dan saya tidak cukup merekomendasikannya. Anda dapat menemukan definisi kunci lainnya pada kecelakaan tetapi tidak umumnya C- \. Itu yang saya sukai.
sumber
Saya menggunakan ini.
screenrc
Contoh: Untuk melepaskan Anda ketik
ctrl-b d
sumber
Saya menggunakan ctrl-_ (yang juga dapat diproduksi oleh ctrl + 7 dan biasanya ctrl + /) dengan layar / tmux.
sumber
Saya menggunakan ctrl-z sebagian besar waktu, tetapi juga menggunakan ctrl-x untuk beberapa. Saya tidak menggunakan interupsi 'stop' sebanyak itu, tetapi ketika dibutuhkan, saya bisa mengetikkan ^ zz. Ini juga memungkinkan saya untuk memulai sesi layar sekunder pada server jauh yang menggunakan ctrl-a default. Dan jika saya memulai sesi ketiga (pada server ketiga), maka saya dapat menggunakan ctrl-x. Ctrl-x adalah fungsi lockscreen, yang dalam banyak lingkungan tidak seperti biasanya (karena layar sering berjalan di dalam emulator terminal).
sumber