Burada iki çizgi editör vardır: çekirdek tarafından sağlanan temel çizgi editörü (kanonik mod tty line editörü) ve bash'ın line editörü (readline kütüphanesi aracılığıyla uygulanır). Her ikisinde de varsayılan olarak Ctrl+ işaretine bağlı olan bir önceki kelimeyi sil komutu bulunur W. Anahtar, kanonik mod tty satır düzenleyicisi için stty werase
; bash, kendi yapılandırmasında geçersiz kılınmadıkça, tty ayarında bulduğu anahtar bağlamayı taklit eder.
werase
Tty düzenleyicide eylem yapılandırılamaz. Her zaman boşlukla sınırlandırılmış kelimeleri (ASCII) siler. Tty line editörü ile etkileşim kurmak nadirdir - örneğin cat
argüman olmadan yazdığınızda elde edeceğiniz şey budur . Orada süslü tuş bağlamaları istiyorsanız, komutu readline kullanan rlwrap gibi bir aracın altında çalıştırabilirsiniz .
Bash , önceki kelimeyi silmek için iki komut sağlar : unix-word-rubout
( Ctrl+ wveya üzerinden ayarlandığı gibi stty werase
) ve backward-kill-word
( M-DEL
yani Esc Backspace) bir kelimeyi geçerli yerel ayardaki alfasayısal karakter dizisi olarak ele alır ve_
. Ctrl+ Backspace'Nın önceki alfasayısal karakter dizisini silmek istiyorsanız , ayarlamayın stty werase
ve bunun yerine aşağıdaki satırı ekleyin .inputrc
:
"\C-h": backward-kill-word
Bu terminali için Ctrl + H karakterini gönderdiği varsayar Not Ctrl+ Backspace. Ne yazık ki, standart bağları olmayan anahtarlardan biridir (ve Backspaceözellikle tarihsel nedenlerden dolayı bir karmaşa ).
Varsayılan kill-word
olarak M-d
( Alt+ D) işaretine bağlı simetrik bir komut da vardır . Ctrl+ İşaretine bağlamak için Deleteönce terminalinizin hangi kaçış dizisini gönderdiğini bulmanız, sonra da ilgili bir satırı eklemeniz gerekir .inputrc
. Tür Ctrl+ Vsonra Ctrl+ Delete; bu ^[[3;5~
, ilk ^[
harfin kaçış karakterinin görsel bir temsili olduğu gibi bir şey ekleyecektir . Sonra bağlama
"\e[3;5~": kill-word
Bir sözcüğün her iki tanımından da memnun değilseniz, bash'de kendi sözcüğünüzü sağlayabilirsiniz: bash'de emacs tarzı tuş bağlamalarının kafa karıştırıcı davranışına bakın