Esta publicación fue escrita por SathiyaMoorthy.
Este artículo forma parte de la Serie de consejos y trucos de Vi / Vim. Como administrador de sistemas o programador de Linux, puede realizar las siguientes tareas repetitivas mientras codifica el script bash shell:
- Agregar encabezado de archivo
- Adición de función/comentario de cuadro
- Incluye fragmento de código predeterminado
- Realizando una verificación de sintaxis
- Leer documentación sobre una función
- Convertir un bloque de código en comentario y viceversa
El complemento bash-Support Vim ofrece la manera más fácil de hacer todo lo anterior, ahorrando mucho tiempo y pulsaciones de teclas.
El complemento fue escrito por Fritz Mehner, quien explica el propósito del complemento como:"Escribe y ejecuta BASH-scripts usando menús y teclas de acceso rápido".
Este artículo explica cómo instalar el complemento en 3 sencillos pasos y 8 potentes funciones del complemento.
3 pasos para instalar el complemento de soporte de bash
Paso 1:descarga el complemento de soporte de bash
Descargue el complemento del sitio web vim.org.
$ cd /usr/src $ wget -O bash-support.zip http://www.vim.org/scripts/download_script.php?src_id=9890
Paso 2:Instale el complemento Vim bash-support
$ mkdir ~/.vim # if the directory does not exist already $ cd ~/.vim $ unzip /usr/src/bash-support.zip
Paso 3:habilite el complemento en ~/.vimrc
Agregue la siguiente línea a ~/.vimrc para habilitar el complemento para el editor Vim.
$ vim ~/.vimrc filetype plugin on
8 funciones potentes del complemento Bash Vim
Función 1:Agregar encabezado automático al archivo *.sh
Cuando abre un archivo con la extensión .sh, abre el archivo con el encabezado como se muestra a continuación. Esto también colocará el cursor en el campo Descripción en modo Insertar.
#!/bin/bash #============================================================ # # FILE: myscript.sh # # USAGE: ./myscript.sh # # DESCRIPTION: # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: (), # COMPANY: # VERSION: 1.0 # CREATED: 02/14/09 15:42:08 IST # REVISION: --- #============================================================
Para cambiar el valor predeterminado de AUTOR y EMPRESA, agregue las siguientes líneas en ~/.vimrc
let g:BASH_AuthorName = 'SathiyaMoorthy' let g:BASH_Email = '[email protected]' let g:BASH_Company = 'Open Source Corporation'
Ahora, cuando cree un nuevo archivo de script bash, mostrará los valores modificados para AUTOR y EMPRESA como se muestra a continuación.
#!/bin/bash #============================================================ # # FILE: myscript.sh # # USAGE: ./myscript.sh # # DESCRIPTION: # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: SathiyaMoorthy (), [email protected] # COMPANY: Open Source Corporation # VERSION: 1.0 # CREATED: 02/14/09 15:39:58 IST # REVISION: --- #============================================================
Nota: Para agregar campos personalizados al encabezado, modifique el archivo ~/.vim/perl-support/templates/bash-file-header y agregue su propio campo personalizado.
Característica 2:agregar la función Bash usando \sfu
Para escribir una subrutina, escriba \sfu en modo normal, lo que solicitará el nombre de la función (como se muestra en la Fig. 1 a continuación) e insertará la subrutina con el contenido de la función predeterminada (como se muestra en la Fig. 2 a continuación).
Figura 1: Escriba \sfu para agregar una función bash dentro de un script de shell
Figura 2: Función Bash agregada automáticamente dentro del script de shell
Característica 3:Insertar un encabezado de función usando \cfu
Para insertar un encabezado de función, escriba \cfu en modo normal, que muestra comentarios como se muestra en la figura 3.
Figura 3: Escriba \cfu para insertar un encabezado de función dentro de un script de shell
Función 4:agregar un comentario de marco usando \cfr
Para agregar un comentario de cuadro, escriba \cfr en modo normal, lo que le dará el siguiente comentario con el formato que se muestra en la Figura 4.
Figura 4: Escriba \cfr para insertar un comentario de marco dentro de un script de shell
Característica 5:Insertar declaraciones de Bash dentro de la secuencia de comandos de Shell
Las teclas de atajo para insertar sentencias son:
- \sc caso en... esac
- \sl elif entonces
- \sf para en do hecho
- \sfo para ((…)) hacer hecho
- \si si entonces fi
- \si si entonces fi
- \ss seleccione en do done
- \st hasta que termine
- \sw mientras que hecho
- \sfu función
- \se eco y “\n”
- \sp imprimir "\n"
Ejemplo:inserte la declaración de caso dentro de un script de shell automáticamente
\sc insertará las declaraciones del caso y colocará el cursor junto a la declaración del caso en el modo INSERTAR, como se muestra en la figura 5. De esta manera, puede usar todas las combinaciones de teclas mencionadas para obtener la declaración adecuada en la tabla 1.
Figura 5: Escriba \sc para insertar una declaración de caso dentro del script bash shell
Característica 6:inserte un fragmento de código predefinido en el script de Bash usando \nr
Los fragmentos de código se pueden leer/escribir usando \nr y \nw respectivamente. El complemento viene con algunos fragmentos de código predefinidos que puede insertar en su código. Los siguientes son fragmentos de código predeterminados que vienen con el complemento.
$ ls -1 ~/.vim/bash-support/codesnippets/ assert basename+pathname basename-function check-number-of-command-line-arguments create-tempfile create-tempfile-with-trap free-software-comment read-and-split-into-array timestamp usage-and-command-line-arguments.noindent use-file-descriptor-read use-file-descriptor-write well-behaved-script
Para incluir el fragmento de código de verificación del número de argumentos de la línea de comandos, presione \nr y se le solicitará un nombre de archivo. Proporcione el nombre del archivo como verificación-número-de-argumentos-de-línea-de-comando y el siguiente código se insertará automáticamente en el script de shell.
#----------------------------------------------------------------------- # Check number of command line arguments #----------------------------------------------------------------------- if [ $# -lt 1 ] then echo -e "\n\tUsage: ${0##/*/} File\n" exit 1 fi
Nota: Puede definir sus propios fragmentos de código y colocarlos en ~/.vim/bash-support/codesnippets/. También puede crear sus propios fragmentos de código a partir del código existente:seleccione la parte del código que debe crearse como fragmento de código, presione \nw y asígnele un nombre de archivo. La próxima vez, escriba \nr y el nombre del archivo para obtener su fragmento de código personalizado.
Función 7:Obtenga ayuda rápida sobre los comandos integrados de Bash
Cuando necesite leer la página de ayuda para las funciones integradas de bash, use \hh cuando el cursor esté en la palabra.
En el siguiente ejemplo (Fig. 6), se selecciona el comando incorporado read bash y se escribe \hh, lo que muestra la ayuda rápida sobre el comando read. Utilice el mismo método para obtener ayuda rápida sobre todos los comandos integrados de bash.
Figura 6: Escriba \hh para obtener ayuda sobre el comando integrado bash seleccionado
Función 8:Comentarios destacados
Los siguientes comandos agregarán los comentarios de palabras clave correspondientes. Por ejemplo, escriba \ckb para agregar la línea de comentario BUG dentro del script de shell.
- \ckb ERROR de palabra clave
- \ckt Palabra clave TODO
- \ckr Palabra clave complicada
- \ckw ADVERTENCIA de palabra clave
Escriba \ckt para agregar una línea de comentario con la palabra clave "# :TODO:mm/dd/yy::". Esta es básicamente una línea de comentarios que actúa como TODO, donde puede escribir los elementos que le gustaría hacer más tarde.
Figura 7: Escriba \ckt para agregar TODO dentro del script bash shell
Hay muchas funciones poderosas en el complemento bash-support. Lea la documentación para obtener más información. La documentación se encuentra en la siguiente ubicación de su sistema.
- LÉAME:~/.vim/README.bashsupport
- PDF:~/.vim/bash-support/doc/bash-hot-keys.pdf
- Documentación en línea del complemento vim bash-support
- Este complemento viene con un archivo de ayuda (bashsupport.txt) que puede ser visto por :h bashsupport
- [ Genere las etiquetas de ayuda mediante :helptags ~/.vim/doc, y luego emita :h bashsupport ]
- Capturas de pantalla adicionales de este complemento.
Lecturas recomendadas
Vim 101 Hacks, por Ramesh Natarajan . Soy un adicto a la línea de comandos. Entonces, naturalmente, soy un gran admirador de los editores Vi y Vim. Hace varios años, cuando escribí mucho código C en Linux, solía leer todos los consejos y trucos disponibles del editor Vim. Basado en mi experiencia con el editor de Vim, he escrito el libro electrónico Vim 101 Hacks que contiene 101 ejemplos prácticos sobre varias características avanzadas de Vim que lo harán rápido y productivo en el editor de Vim. Incluso si ha estado usando Vi y Vim Editors durante varios años y no ha leído este libro, hágase un favor y lea este libro. Se sorprenderá con las capacidades del editor Vim.