Viniendo de un mundo de FreeBSD, deseo que el terminal de Linux se comporte como FreeBSD, especialmente la versión 9.1, básicamente cuando escribes cd
en el terminal y presionas la flecha "arriba" puedes navegar por todos los comandos en la historia comenzando con cd
lo que te hace ganar mucho tiempo
No sé cómo habilitar esta función en Linux Debian o CentOS que me obligan a escribir todo, ¿podría alguien ayudarme?
bindkey -k (up|down) history-search-(back|for)ward
mi.tcshrc
como se describe aquí . ¡Frio!Respuestas:
Agregue lo siguiente a
~/.inputrc
:Explicación
~/.inputrc
es el archivo de configuración para GNU readline . Muchos shells, incluidosbash
ytcsh
usan readline para la edición de la línea de comandos. Las dos líneas anteriores le indicarán a readline que invoque su funcionalidad de búsqueda de historial cuando se encuentren las secuencias de escape para la tecla de flecha hacia arriba (\e[A
) y la tecla de flecha hacia abajo (\e[B
).fuente
Last word
A menudo es un camino que quiero probar en varios clichés arcanos. Y Shift F12 para volver a editar la última línea completa desde el principio.~/.inputrc
Es una herramienta útil.Lo que sucede es que FreeBSD y Linux usan diferentes shells por defecto. FreeBSD tiene por defecto tcsh , que tenía mejores características interactivas que bash en el pasado (pero bash se ha puesto al día) pero características de scripting notablemente peores .
La forma más sencilla de obtener el entorno al que está acostumbrado sería cambiar su shell a tcsh en Linux. Siempre que tcsh esté instalado en todo el sistema (si no lo está, solicite al administrador del sistema que lo instale), ejecute
chsh -s tcsh
para cambiar su shell predeterminado.Alternativamente, puede configurar bash para tener este comando al que está acostumbrado. De forma predeterminada, las flechas Upy Downnavegan entre todos los comandos del historial, no solo los que comienzan con el prefijo que ha escrito. Para cambiar esto al comportamiento al que está acostumbrado, coloque las siguientes líneas en el archivo de inicialización de bash, que se encuentra
.bashrc
en su directorio de inicio. Ejecute. ~/.bashrc
o inicie un nuevo shell para volver a leer el archivo de inicialización.Las secuencias de escape son lo que su terminal envía al shell cuando presiona una tecla de flecha. Uppuede ser
\eOA
(escape,O
,A
) o\e[A
en función de su terminal, y lo mismo para Down.Por defecto, bash ofrece diferentes combinaciones de teclas para buscar en el historial de comandos. Puede presionar Ctrl+ R, luego ingresar algunos caracteres para buscar un comando que contenga esta subcadena en cualquier lugar de la línea. Presione Ctrl+ Spara avanzar en lugar de retroceder. La búsqueda es incremental (es decir, a medida que escribe); Alt+ Py Alt+ le Ndan una búsqueda no incremental.
En lugar de bash y tcsh, puede cambiar a zsh, que tiene algunas características interesantes que no se encuentran en otros shells . Zsh tiene Ctrl+ Ry Ctrl+ Spor defecto al igual que bash. Para obtener Upy Downcomo tenía en tcsh, ponga las siguientes líneas en
~/.zshrc
:Si desea utilizar el mismo shell en todas partes, también puede usar bash o zsh en FreeBSD, siempre que el puerto esté instalado (nuevamente, consulte al administrador del sistema).
fuente
tcsh
está disponible para la mayoría de las distribuciones de Linux. Intente instalar eltcsh
paquete y luego ejecutarlochsh -s /bin/tcsh
para convertirlo en su shell predeterminado.fuente
Otras respuestas lo abordan, pero si quieres más, echa un vistazo a https://github.com/zsh-users/zsh-history-substring-search
Prezto ( https://github.com/sorin-ionescu/prezto ) también está lleno de productos zsh.
fuente