He usado Linux durante unos 25 años y Unix durante algunos años antes de eso. Durante ese tiempo, he desarrollado preferencias por algunas herramientas que uso a diario. Una de las herramientas más importantes que uso es el editor Vim.
Empecé a usar Vi cuando aprendí Solaris a principios de los 90 porque me dijeron que siempre estaría disponible en cualquier sistema, lo cual es cierto en mi experiencia. He probado con otros editores y todos hacen el trabajo. Sin embargo, encuentro que Vim funciona mejor para mí, y lo uso tanto que mi memoria muscular de Vim hace que intente usar sus teclas de comando incluso con otros editores.
Además, me gusta mucho Vim.
Muchos archivos de configuración usan Vi en lugar de Vim, y puede ejecutar el vi
dominio. Sin embargo, el vi
el comando es un enlace a vim
.
Muchas herramientas de Linux usan editores que emulan o simplemente llaman a Nano, Emacs o Vim. Algunas otras herramientas permiten a los usuarios, como aquellos con preferencias claras, vincularse a su editor favorito. Los dos ejemplos que más me afectaron fueron la edición de la línea de comandos de Bash, cuyo valor predeterminado es Emacs, y el cliente de correo electrónico en modo texto de Alpine, cuyo valor predeterminado es el editor Pico. De hecho, el editor Pico se escribió explícitamente para su uso en el cliente de correo electrónico Pine, que es el predecesor de Alpine.
No todos los programas que usan editores externos son configurables. Algunos usan solo el editor especificado por el desarrollador. Para aquellas aplicaciones que son configurables, existen diferentes métodos para seleccionar su editor preferido.
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
Edición de línea de comandos de Linux
Además de editar archivos de texto, la otra herramienta que uso y que requiere más edición es el shell Bash. El editor Bash predeterminado es Emacs. Aunque he usado Emacs, definitivamente prefiero Vim. Hace muchos años, cambié el estilo de edición predeterminado para la edición de línea de comandos de Bash de Emacs a Vim, que es mucho más cómodo para mí.
Hay un par de formas de configurar Bash. Puede usar un archivo de configuración local, como /home/yourhomedirectory/.bashrc
, que solo cambia el valor predeterminado para su cuenta de usuario y no para otros usuarios en el mismo sistema. Prefiero hacer este tipo de cambios globales, lo que básicamente significa mi cuenta personal y raíz. En este segundo caso, puede crear su propio archivo de configuración y colocarlo en el /etc/profile.d
directorio.
Agregué un archivo llamado myBashConfig.sh
a /etc/profile.d . Hay archivos para todos los shells instalados en /etc/profile.d
directorio. Durante el inicio de una sesión de terminal, cada shell lee solo los archivos destinados a él en función de las extensiones de nombre de archivo. Por ejemplo, el shell Bash solo lee los archivos con un .sh
extensión.
<SNIP>
alias vim='vim -c "colorscheme desert" '
# Set vi for bash editing mode
set -o vi
# Set vi as the default editor for all apps that check this
EDITOR=vi
<SNIP>
La línea set -o vi en este segmento del archivo de configuración global de Bash establece Vi como el editor predeterminado. El -o opción en este conjunto El comando define vi como el editor. Debe cerrar cualquier sesión de Bash en ejecución y abrir otras nuevas para que esto surta efecto.
En este punto, ahora puede usar todos los comandos de edición familiares de Vim, incluido el movimiento del cursor. Simplemente presione el Escape tecla para entrar en el modo de edición de Vim. Me gusta especialmente la capacidad de usar b varias veces para mover el cursor hacia atrás varias palabras.
Establecer Vim como predeterminado para otros programas
Algunas herramientas y programas de línea de comandos de Linux verifican el $EDITOR variable de entorno para determinar qué editor usar. Puede verificar el valor actual de esta variable usted mismo usando el siguiente comando. Hice esto en una de mis máquinas virtuales recién instaladas para verificar cuál es realmente el valor predeterminado.
# echo $EDITOR
/usr/bin/nano
#
De forma predeterminada, los programas de Fedora que comprueban el $EDITOR La variable de entorno utilizará el editor Nano. Agregar la línea EDITOR=vi como se muestra en el fragmento anterior a myBashConfig.sh
cambia el valor predeterminado al editor Vi (Vim). No todos los programas de línea de comandos que utilizan un editor externo comprueban esta variable de entorno.
Editar correo electrónico en Alpine
Hace unas semanas, decidí que Pico no me funcionaba bien como editor de correo electrónico. Pude hacer que funcionara y lo hice durante algún tiempo después de cambiar a Alpine desde Thunderbird. Descubrí que Pico se interponía en mi camino cuando intentaba usar las secuencias de teclas de Vim, lo que afectaba mi productividad.
Leí en la Ayuda de Alpine que es posible cambiar el editor predeterminado. Decidí cambiarlo a Vim. Esto es realmente muy fácil de hacer.
En el menú principal de Alpine, presione S tecla para ingresar a la configuración y luego C para la configuración. En las Preferencias del compositor sección, seleccione Habilitar comando de editor alternativo y Habilitar editor alternativo implícitamente artículos con una X . Varias páginas hacia abajo en las Preferencias de usuario avanzadas sección, busque el Editor línea. Debería tener este aspecto si aún no se ha cambiado.
Editor = <No Value Set>
Destacar este Editor línea con la barra del cursor y presione Enter para editar la línea. Cambiar
Para editar un mensaje de correo electrónico usando Vim, simplemente ingrese el cuerpo del correo electrónico y Vim se inicia automáticamente, al igual que lo hace Pico. Todas mis capacidades de edición favoritas están ahí porque en realidad usa Vim. Incluso el Esc :wq la secuencia para salir de Vim es la misma.
Reflexiones finales
Prefiero Vim a otros editores, y estos cambios en mi sistema lo hacen disponible como predeterminado en programas que usan un editor diferente de manera predeterminada. Algunos programas usan el $EDITOR variable de entorno, por lo que solo necesita hacer ese cambio una vez. Otros programas como Alpine tienen opciones de configuración de usuario que debe configurar individualmente para cada programa.
Esta capacidad de seleccionar su editor externo preferido está bastante en línea con el principio de la Filosofía de Unix, "Cada programa debe hacer una cosa y hacerlo bien". ¿Por qué escribir otro editor cuando hay varios perfectamente buenos por ahí? Y también cumple con el principio de la Filosofía de Linux, "Use su editor favorito".
Por supuesto, puede cambiar su editor de modo de texto predeterminado a Nano, Pico, EMACS o cualquier otro que prefiera.