¿Por qué ctrl + flecha izquierda no saltan palabras?

20

Estoy en mi Ubuntu 12.04. Cada vez que edito texto, uso ctrl+ left/ rightpara mover / saltar entre palabras. Recientemente, instalé xscreensaver y cambié los atajos de teclado para activar mi protector de pantalla. Pero entonces, Ctrl+ leftdejó de responder normalmente (pasar a la siguiente palabra a la izquierda). Ctrl+ righttodavía salta a la siguiente palabra a la derecha. El problema ocurre si estoy usando el terminal, Gedit o incluso escribiendo texto en páginas web.

Volví a gnome-screensaver, eliminé xscreensaver (también arreglé los atajos de teclado). Pero el problema persiste.

Traté de copiar contenido de /etc/inputrca ~/.inputrc(por defecto, no tengo ~ / .inputrc). Obtuve información aquí: aparecen caracteres extraños cuando uso las teclas Ctrl y Flecha para navegar

Por favor ayuda.

EDITAR: Aquí está mi ~/.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

si elimino / etc / inputrc, esto es lo que obtengo si sostengo CTRL y luego presiono la flecha derecha cinco veces: presionando ctrl + flecha derecha

A diferencia de la primera imagen de arriba, mantener presionada la tecla CTRL y presionar la flecha izquierda más de una vez no se imprimirá de ;5Dnuevo ... es como si aceptara el comando una vez y no lo haga más ... ver la imagen a continuación: presionando ctrl + flecha izquierda

itagomo
fuente
¿Qué caparazón estás usando?
Sergiy Kolodyazhnyy

Respuestas:

25

1 en ~/.zshrc

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

2 - O en ~/.bashrc

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

... Y ahora ctrl+ left/ rightsaltar palabras en byobu / tmux.

3 - No te metas con inputrc.

yPhil
fuente
esto es demasiado hace mucho tiempo ... ya se vuelve a instalar ubuntu
itagomo
3
Del mismo modo, si tiene un shell Bash, en su archivo ~ / .bashrc agregue bind '"\ e [1; 5D" palabra hacia atrás' bind '"\ e [1; 5C" palabra hacia adelante'
ishmael
3

Yo tuve el mísmo problema. Lo arreglé copiando estas líneas en mi ~/.inputrcarchivo:

"\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
Hemanthkumar
fuente
solo se requieren las 2 primeras líneas
davidchoo12
1

Cree un archivo inputrc usando touch ~/.inputrc.
Copie el contenido de la respuesta aceptada en el enlace al que se refirió, es decir , aparecen caracteres extraños cuando uso las teclas Ctrl y Flecha para navegar , a este archivo abriendo el archivo ~ / .inputrc usando algún editor de texto. Guárdalo
Lea el archivo usando el bind ~/.inputrccomando o reinicie una nueva terminal. Las cosas deberían funcionar ...

drake01
fuente
Ya hice mi ~ / .inputrc. mismo contenido que mi / etc / inputrc tiene. el problema aquí es el comando "CTRL + flecha izquierda", no salte a la siguiente palabra a la izquierda. pero aparte de eso, todas las funciones funcionan. alguna otra solucion?
itagomo
Parece que el enlace para ctrl + flecha izquierda se está anulando de alguna manera. ¿Podría incluir el contenido exacto del archivo inputrc? La segunda posibilidad puede ser que la línea esté malformada. Por cierto, ¿es el enlace para ctrl + combinación izquierda la última línea del ~/.inputrcarchivo?
drake01
publicación editada ... ver arriba ... información adicional, saltar palabras a la derecha funciona manteniendo presionada (no debe soltar) la tecla CTRL y luego presionando la tecla derecha una vez cada vez que quiero saltar a través de las palabras ... pero yendo a la izquierda, necesito para soltar la tecla CTRL cada vez que estoy saltando palabras ..
itagomo
¿Alguien que pueda ayudar?
itagomo
1

Descubrí que omitir palabras a la izquierda al activar Ctrl + Izquierda no funcionó (incluso cuando agregué algún código en ~ / .inputrc o ~ / .zshrc) porque de manera predeterminada este acceso directo ya se usa en Ubuntu (cambia el tamaño la ventana actual horizontalmente). Puede cambiar el atajo predeterminado en el menú Sistema -> Preferencias -> Atajo de teclado. Acabo de reemplazar Ctrl + Izquierda por Ctrl + Abajo para liberarlo. Después de este reemplazo, saltar palabras a la izquierda usando Ctrl + Izquierda funciona bien. Incluso sin ~ / .inputrc o ~ / .zshc.

Banjo
fuente
He estado buscando soluciones para esto desde hace mucho tiempo. ¡Este fue muy simple y eficiente! Gracias.
rizwanhudda