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.
bind '"\eOA": history-search-backward'
bind '"\e[A": history-search-backward'
bind '"\eOB": history-search-forward'
bind '"\e[B": history-search-forward'
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
:
bindkey '\eOA' history-beginning-search-backward
bindkey '\e[A' history-beginning-search-backward
bindkey '\eOB' history-beginning-search-forward
bindkey '\e[B' history-beginning-search-forward
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).