~ / .inputrc dosyası doğru kaynaklanmıyor


14

Bazı anahtar bağlamaları için oluşturduğum bu ~ / .inputrc dosyası var.

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C":forward-word
"\e[1;5D":backward-word
"\e[5C":forward-word
"\e[5D":backward-word
"\e\e[C":forward-word
"\e\e[D":backward-word

ne zaman çalıştırmaya source ~/.inputrcçalışsam bana şu hatayı veriyor:

\ e [1; 5C: ileri sözcük: Komut bulunamadı. \ e [1; 5D: geriye doğru kelime: Komut bulunamadı. \ e [5C: ileri sözcük: Komut bulunamadı. \ e [5D: geriye doğru kelime: Komut bulunamadı. \ e \ e [C: ileri sözcük: Komut bulunamadı. \ e \ e [D: geriye doğru kelime: Komut bulunamadı.

Yeni bir terminal açtığımda da çalışmıyor, hatayı almıyorum ama ctrl tuş kombinasyonlarım yeni terminalde de çalışmıyor. / Etc / inputrc dosyasına kök erişimim olmadığından bu dosyayı kendim oluşturdum. Biri bana yardım edebilir mi? Teşekkürler.

EDIT: İki nokta üst üste (:) işareti de sonra dosyayı boşluk denedim. Çalışmıyor. Ben de çalıştırılabilir hale getirmeye çalıştım (chmod + x ~ / .inputrc), işe yaramadı.

EDIT: Bu yordamın yalnızca 'bash' için olduğunu ve 'tcsh' çalıştırdığımı fark ettim. 'Csh' için .bindingsdosya yerine .inputrcdosya ve bindkeysözdizimi kullanın.

Yanıtlar:


12

Bash için bu, şu anda tanımlanmış eşlemeleri yeniden yükleyecek

bind -f  ~/.inputrc

Nerede almak için bindgelen komutu?
danijar

bind bir kabuk yerleşiktir. Hangi işletim sistemini kullanıyorsunuz?
Paul

Debian'ı zsh ile kullanıyorum.
danijar

bu benim için RHEL 7 üzerinde bash ile çalışmadı. .inputrc bağlarım bu komutu çalıştırdıktan sonra hala yeniden yüklenmiyor.
user5359531

@ user5359531, önceki bağlantılarınız "kaldırılmıyor" olabilir mi? (Açık bir şekilde ayarlanmazlarsa, daha önce oldukları gibi kalırlar.) Ya da ~ / .inputrc dosyanız gibi başka bir şey $include /etc/inputrc?
mwfearnley

6

.inputrcDosya kaynaklı edilecek bir dosya değildir. bashReadline kütüphanesini kullanan başka bir yazılım tarafından veya otomatik olarak dikkate alınmalıdır . Bu işe yaramazsa, iki nokta üst üste işaretinden sonra bir boşluk ekleyin, ör.

"\e[1;5C": forward-word

(Bu yapılandırma dosyasında her zaman bir boşluk gördüm).


1
+1 "readline kütüphanesini kullanan diğer yazılımlar" üzerine vurgu. .inputrcbir kabuk betiği değildir; bir readlineyapılandırma dosyası.
chepner

Aslında, ilk önce böyle yaptım ve sadece denemek için boşluk bırakmadan değiştirdim. Her iki şekilde de çalışmaz. Bunu düzenlemeye ekledim. Teşekkürler.
rrlamichhane

5

Söz ~/.inputrckonusu yayınlanmış dosyalar ve dosyalar için geçerlidir bash. İçin csh(veya tcsh) bir dosya ~/.bindingskullanın ve aşağıdaki sözdizimini kullanın.

bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word

Bazı googling sonra bunu fark etti.


Hangi nedenle olursa olsun, tsch .bindings dosyasını görmezden geliyordu. Ekleme source ~/.bindingsbenim için ~/.cshrcdosyanın bu sabit.
drmuelr
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.