Perintah yang paling umum digunakan dalam mode bash emacs default , untuk keyboard yang paling sering digunakan:
Gerakan
- Ctrl- p, atau Up: perintah sebelumnya
- Ctrl- n, atau Down: perintah selanjutnya
- Ctrl- b, atau Left: karakter sebelumnya
- Ctrl- f, atau Right: karakter berikutnya
- Alt- b: kata sebelumnya
- Alt- f: kata selanjutnya
- Ctrl- a, atau Home: mulai dari perintah
- Ctrl- e, atau End: akhir perintah
Editing
- BkSpc: hapus karakter sebelumnya
- Ctrl- d, atau Del: hapus karakter saat ini
- Alt- BkSpc: hapus kata ke kiri
- Alt- d: hapus kata di sebelah kanan
- Ctrl- u: hapus untuk memulai perintah
- Ctrl- k: hapus ke akhir perintah
- Ctrl- y: tempelkan potongan terakhir
Miscellanea
- Cltr- /: batalkan
- Cltr- r: penelusuran riwayat terbelakang inkremental
bindkey [key] vi-backward-kill-word
Ada juga
unix-filename-rubout
untukReadline
!sumber
unix-filename-rubout
adalah jawaban yang benar untuk pertanyaan yang ditanyakan karena menghapus ke garis miring atau spasi, sedangkanAlt-BkSpc
akan berhenti pada karakter seperti tanda hubung, garis bawah, titik, dll.Secara default bash (dan saya menebak zsh) akan berada dalam mode emacs. Anda dapat mencoba sesuatu seperti ini:
Esc + bakan meletakkan kursor kembali satu kata. Ctrl + kakan menghapus sampai akhir baris.
Sebagian besar shell modern (seperti bash) akan mengimplementasikan fitur pengeditan baris perintah lanjutan. Perintah-perintah itu dekat dengan pengeditan emacs (Ctrl + A untuk awal baris, Ctrl + E untuk akhir baris, ...).
Jika Anda familier dengan editor vi-like, Anda bisa mencoba untuk mengizinkan vi-mode.
set -o vi
Ini memberikan shell Anda seperti mode (mode perintah / mode insert), dan Anda mendapatkan akses ke perintah standar (d untuk menghapus, r untuk mengganti, ...)
Dalam Mode Vi, inilah cara Anda akan melakukan apa yang Anda jelaskan:
sumber
db
skenario ini di bash. Saya juga menemukanvi-backward-kill-word
di zsh apa yang saya inginkan, dan lebih nyaman daripada mengatur vi-mode di bash. Tapi saya masih ingin mencari jalan pintas mode emacs untuk keperluan ini di bash.db
tidak dalam beberapa kasus.