Perché ctrl + freccia sinistra non salta le parole?


20

Sono sul mio Ubuntu 12.04. Ogni volta che sto modificando il testo, uso ctrl+ left/ rightper spostarmi / saltare tra le parole. Di recente ho installato xscreensaver e modificato le scorciatoie da tastiera per attivare il mio salvaschermo. Ma poi, Ctrl+ ha leftsmesso di rispondere normalmente (passa alla parola successiva a sinistra). Ctrl+ rightpassa ancora alla parola successiva a destra. Il problema si verifica se sto usando il terminale, Gedit o anche digitando il testo nelle pagine web.

Sono tornato a gnome-screensaver, ho rimosso xscreensaver (anche riparato le mie scorciatoie da tastiera). Ma il problema rimane.

Ho provato a copiare i contenuti da /etc/inputrca ~/.inputrc(per impostazione predefinita, non ho ~ / .inputrc). Qui ho alcune informazioni: appaiono strani caratteri quando uso i tasti Ctrl e Freccia per navigare

Per favore aiuto.

EDIT: Ecco il mio ~/.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

se rimuovo / etc / inputrc, ecco cosa ottengo se tengo premuto CTRL quindi premo la freccia destra cinque volte: premendo ctrl + freccia destra

A differenza della prima immagine sopra, tenendo premuto CTRL e premendo la freccia sinistra più di una volta non si stamperà ;5Dpiù ... è come se accettasse il comando una volta e non lo faccia più .. vedi immagine sotto: premendo ctrl + freccia sinistra



Che shell stai usando?
Sergiy Kolodyazhnyy il

Risposte:


25

1 - In ~/.zshrc

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

2 - O dentro ~/.bashrc

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

... E ora ctrl+ left/ rightsalta le parole in byobu / tmux.

3 - Non scherzare inputrc.


è passato troppo tempo ... ubuntu già reinstallato
itagomo

3
Allo stesso modo se hai una shell Bash, nel tuo file ~ / .bashrc aggiungi bind '"\ e [1; 5D" parola-indietro' bind '"\ e [1; 5C" parola-avanti'
ishmael

3

Ho avuto lo stesso problema. L'ho risolto copiando queste righe nel mio ~/.inputrcfile:

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

sono necessarie solo le prime 2 righe
davidchoo12

1

Crea il file inputrc usando touch ~/.inputrc.
Copia il contenuto della risposta accettata nel link a cui hai fatto riferimento, ad esempio caratteri strani che compaiono quando uso i tasti Ctrl e Freccia per navigare , in questo file aprendo il file ~ / .inputrc usando un editor di testo. Salvarlo.
Leggi il file usando il bind ~/.inputrccomando o riavvia un nuovo terminale. Le cose dovrebbero funzionare ..


ho già creato il mio ~ / .inputrc. stesso contenuto di quello che ha il mio / etc / inputrc. il problema qui è il comando "CTRL + Freccia sinistra" non saltare alla parola successiva a sinistra. ma a parte questo, tutte le funzioni funzionano. qualche altra soluzione?
Itagomo,

Sembra che il legame per ctrl + freccia sinistra venga in qualche modo ignorato. Potresti includere il contenuto esatto del file inputrc? La seconda possibilità può essere la linea potrebbe essere deformata. A proposito, l'associazione per la combinazione ctrl + sinistra è l'ultima riga del ~/.inputrcfile?
drake01

messaggio modificato .. vedi sopra .. informazioni aggiuntive, saltare le parole a destra funziona tenendo premuto (non rilasciare) il tasto CTRL quindi premendo il tasto destro una volta ogni volta che voglio saltare tra le parole .. ma andando a sinistra, ho bisogno di per rilasciare il tasto CTRL ogni volta che salto le parole ..
itagomo,

chiunque può aiutare?
Itagomo,

1

Ho capito che saltare le parole a sinistra attivando Ctrl + Sinistra non funzionava (anche non quando ho aggiunto del codice in ~ / .inputrc o ~ / .zshrc) perché di default questo collegamento è già usato in Ubuntu (si ridimensiona la finestra corrente in senso orizzontale). Puoi modificare la scorciatoia predefinita nel menu Sistema -> Preferenze -> Scorciatoia da tastiera. Ho appena sostituito Ctrl + Sinistra con Ctrl + Giù per liberarlo. Dopo questa sostituzione, saltare le parole a sinistra usando Ctrl + Sinistra funziona bene! Anche senza ~ / .inputrc o ~ / .zshc.


sono alla ricerca di soluzioni per questo da molto tempo. Questo è stato molto semplice ed efficiente! Grazie.
Rizwanhudda,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.