Ctrl + sol ok neden kelimeleri atlamıyor?


20

Ubuntu 12.04'ümdeyim. Ne zaman metin düzenliyorsam, kelimeler arasında hareket etmek / zıplamak için ctrl+ left/ rightdüğmelerini kullanıyorum . Son zamanlarda, xscreensaver'i yükledim ve ekran koruyucumu etkinleştirmek için klavye kısayollarını değiştirdim. Fakat sonra Ctrl+ leftnormal yanıt vermeyi durdurdu (sola bir sonraki kelimeye geç). Ctrl+ righthala sağdaki sonraki kelimeye atlar. Sorun, terminali, Gedit'i kullanmam ya da web sayfalarına yazı bile girmemden kaynaklanıyor.

Gnome-ekran koruyucuya geri döndüm, xscreensaver'i kaldırdım (klavye kısayollarım da düzeldi). Ancak sorun devam ediyor.

Ben içeriğini kopyalamak çalıştı /etc/inputrciçin ~/.inputrc(varsayılan olarak, ben ~ / .inputrc gerekmez). Burada biraz bilgi edindim: Gezinmek için Ctrl ve Ok tuşlarını kullanırken garip karakterler beliriyor

Lütfen yardım et.

EDIT: İşte benim ~/.inputrc:

# /etc/inputrc - global inputrc for libreadline
# See readline(3readline) and `info rluserman' for more information.
# Be 8 bit clean.
set input-meta on
set output-meta on
# To allow the use of 8bit-characters like the german umlauts, uncomment
# the line below. However this makes the meta key not work as a meta key,
# which is annoying to those which don't need to type in 8-bit characters.

# set convert-meta off

# try to enable the application keypad when it is called.  Some systems
# need this to enable the arrow keys.
# set enable-keypad on

# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys

# do not bell on tab-completion
# set bell-style none
# set bell-style visible

# some defaults / modifications for the emacs mode
$if mode=emacs

# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert

# mappings for "page up" and "page down" to step to the beginning/end
# of the history
# "\e[5~": beginning-of-history
# "\e[6~": end-of-history

# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward

# 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

$if term=rxvt
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif

# for non RH/Debian xterm, can't hurt for RH/Debian xterm
# "\eOH": beginning-of-line
# "\eOF": end-of-line

# for freebsd console
# "\e[H": beginning-of-line
# "\e[F": end-of-line

$endif

/ etc / inputrc dosyasını kaldırırsam, CTRL tuşunu basılı tutarsam sağ ok tuşuna beş kez basarsam elde edeceğim şey: ctrl + sağ ok tuşlarına basma

Yukarıdaki ilk görüntünün aksine, CTRL tuşunu basılı tutup sol oka bir defadan fazla basmak, bir kez daha ;5Dbasılmaz ... sanki bir kez komutu kabul ediyor ve bir daha yapmıyor gibi .. aşağıdaki resme bakın: ctrl + sol ok tuşlarına basma



Hangi kabuğu kullanıyorsunuz?
Sergiy Kolodyazhnyy

Yanıtlar:


25

1 - İçinde ~/.zshrc

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

2 - Veya ~/.bashrc

bind '"\e[1;5D" backward-word' 
bind '"\e[1;5C" forward-word'

... Ve şimdi ctrl+ left/ rightbyobu / tmux içindeki kelimeleri atla.

3 - Karışma inputrc.


bu çok uzun zaman önce ... zaten
ubuntu'yu

3
Benzer şekilde, bir Bash kabuğuna sahipseniz, ~ / .bashrc dosyanızda '"\ e [1; 5D" geriye dönük kelime "bind" "\ e [1; 5C" ileri-kelime "kelimesini
ekleyin

3

Ben de aynı problem vardı. Bu satırları dosyama kopyalayarak düzelttim ~/.inputrc:

"\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

sadece ilk 2 satır gerekli
davidchoo12

1

Kullanarak inputrc dosyası oluşturun touch ~/.inputrc.
Kabul edilen cevap verenin içeriğini istediğiniz bağlantıya kopyalayın, örn . Ctrl ve Ok tuşlarını kullanırken gezinmek için Ctrl ve Ok tuşlarını kullanırken, bazı metin düzenleyicilerini kullanarak ~ / .inputrc dosyasını açarak görünen dosyaya kopyalayın. Onu kurtar. Komutu
kullanarak dosyayı okuyun bind ~/.inputrcveya yeni bir terminali yeniden başlatın. İşler çalışmalı ..


Ben zaten ~ / .inputrc yaptım. / etc / inputrc öğemdeki içeriklerle aynı. Buradaki problem "CTRL + Sol ok" komutunun sola bir sonraki kelimeye geçmemesidir. ama bunun dışında tüm fonksiyonlar çalışır. başka bir çözüm?
itagomo

Görünüşe göre ctrl + sol ok için bağ bir şekilde geçersiz kılınıyor. İnputrc dosyasının tam içeriğini ekler misiniz? İkinci olasılık, hattın yanlış biçimlendirilmiş olabileceği olabilir. Bu arada, ctrl + left kombinasyonu için bağlanma, ~/.inputrcdosyanın son satırı mı?
drake01

düzenlenmiş gönderi .. yukarıya bakın .. ek bilgi, CTRL tuşunu basılı tutarak (serbest bırakılmaması gereken) kelimeleri doğru şekilde atlamak ve sonra kelimeler arasında atlamak istediğimde her seferinde bir kez sağ tuşa basmak ... ama sola gitmem gerekiyor, ihtiyacım var her seferinde kelimeleri atladığımda CTRL tuşunu serbest bırakmak için ..
itagomo

yardımcı olabilecek biri var mı?
itagomo,

1

Ctrl + Left'ı tetikleyerek sola sözcük atlamak işe yaramadı (~ / .inputrc veya ~ / .zshrc içine bazı kodlar eklesem bile), çünkü varsayılan olarak bu kısayol zaten Ubuntu'da kullanılıyor (yeniden boyutlandırıyor) geçerli pencere yatay olarak). Varsayılan kısayolu Sistem -> Tercihler -> Klavye Kısayolu menüsünde değiştirebilirsiniz. Kurtulmak için Ctrl + Left yerine Ctrl + Down yazdım. Bu değişiklikten sonra, Ctrl + Left tuşlarını kullanarak sözcükleri sola doğru atlamak iyi sonuç verir! ~ / .İnputrc veya ~ / .zshc olmadan bile.


Uzun zamandan beri bunun için çözümler arıyor. Bu çok basit ve verimli bir oldu! Teşekkürler.
rizwanhudda
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.