Bash readline önceki eğik çizgiye kadar siliniyor


15

Bash emacs modunda, önceki eğik çizgi karakterine kadar silinecek bir şey var mı? Örneğin, komutu girdim cp /usr/local/bin/reallylongincorrectfolder /home/myname/reallylong_and_correct_pathve sadece silmek istiyorsanız. reallylongincorrectfolderHerhangi bir kısayol var mı? Bu bash için benim için çok ortak bir senaryo. dF<char>Vi gibi bir şey ?

Yanıtlar:


9
bind -P |grep unix-filename-rubout

Tuş takımını örn. Ctrl- b:

bind \\C-b:unix-filename-rubout

Kalıcı kullanım için, ~/.inputrc


2
Eklemek için ~/.inputrc, o dosyaya şöyle bir satırı ekleyin: "\C-b": unix-filename-rubout. Efekti görmek için yeni bir bash kabuğu başlatmanız (veya GNU readline kütüphanesini kullanan başka bir program çalıştırmanız gerekir).
Croad Langshan

11

Alt- Backspaceve Ctrl- wgenellikle eşlenir backward-kill-word, bu da bunu yapar. Sisteminizde ne ile eşleştiğini öğrenmek istiyorsanız (varsa) çalıştırın bind -P | grep '^backward-kill-word'.

@Barmar tarafından açıklandığı gibi , bu, unix-word-ruboutönceki alan sınırına kaldırılandan farklıdır .


Ama bu tüm kelimeyi öldürecek .. Sadece son eğik çizgiye kadar öldürmek istiyorum
woodstok

Sadece buradaki son eğik çizgiyi kaldırır. /, Varsayılan sözcük ayırıcılarından biridir. Bash kullandığınızdan emin misiniz?
l0b0

Benim kötü .. Alt-Backspace son eğik çizgi kadar kaldırır.ALt-BackSpace ve Ctrl-W arasındaki fark nedir?
13:47

3
Ctl-w normalde aşağıdakilere bağlıdır unix-word-rubout: Beyaz boşluğu sözcük sınırı olarak kullanarak noktanın arkasındaki kelimeyi öldür.
Barmar

2
Bu tam olarak işe yaramıyor. "Kelimeler alfasayısal karakterlerden (harfler ve rakamlar) oluşur". Bu nedenle, eğik çizgilerden çok daha fazla duracaktır. Varsayılan unix-filename-ruboutboşluk, biraz daha iyidir, çünkü beyaz boşlukta durur ve eğilir.
Sparhawk

6

Bunu kendinize koyun .inputrcve yeni bir kabuk başlatın:

C-b:unix-filename-rubout

Ctrl- bşimdi bir sonraki eğik çizgiyi geriye doğru siler.

Nirvana!

Unutmayın Ctrl- XCtrl- Ekarmaşık bir komut satırını rahatça düzenleyebilmeniz için düzenleyicinizi başlatır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.