GNU/Linux >> Tutoriels Linux >  >> Linux

Faites de Vim votre Bash-IDE à l'aide du plugin bash-support

Cet article est écrit par SathiyaMoorthy.

Cet article fait partie de la série Vi / Vim Tips and Tricks en cours. En tant qu'administrateur système ou programmeur Linux, vous pouvez effectuer les tâches répétitives suivantes lors du codage du script shell bash :

  • Ajouter un en-tête de fichier
  • Ajout d'un commentaire de fonction/cadre
  • Y compris l'extrait de code par défaut
  • Vérification de la syntaxe
  • Lire la documentation sur une fonction
  • Convertir un bloc de code en commentaire, et vice versa


Le plugin bash-Support Vim offre le moyen le plus simple de faire tout ce qui précède, en économisant beaucoup de temps et de frappes.

Le plugin a été écrit par Fritz Mehner, qui explique le but du plugin comme :"Écrivez et exécutez des scripts BASH à l'aide de menus et de raccourcis clavier."

Cet article explique comment installer le plugin en 3 étapes simples et 8 fonctionnalités puissantes du plugin.

3 étapes pour installer le plugin bash-support

Étape 1 :Téléchargez le plug-in bash-support

Téléchargez le plug-in depuis le site Web vim.org.

$ cd /usr/src
$ wget -O bash-support.zip http://www.vim.org/scripts/download_script.php?src_id=9890

Étape 2 :Installez le plug-in Vim de prise en charge de bash

$ mkdir ~/.vim # if the directory does not exist already
$ cd ~/.vim
$ unzip /usr/src/bash-support.zip

Étape 3 :Activez le plug-in dans ~/.vimrc

Ajoutez la ligne suivante au ~/.vimrc pour activer le plugin pour l'éditeur Vim.

$ vim ~/.vimrc
filetype plugin on

8 fonctionnalités puissantes du plugin Bash Vim

Fonctionnalité 1 :Ajouter un en-tête automatique au fichier *.sh

Lorsque vous ouvrez un fichier avec l'extension .sh, il ouvre le fichier avec l'en-tête comme indiqué ci-dessous. Cela placera également le curseur dans le champ Description en mode Insertion.

#!/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:  ---
#============================================================


Pour changer la valeur par défaut de l'AUTEUR et de l'ENTREPRISE, ajoutez les lignes suivantes dans ~/.vimrc

let g:BASH_AuthorName   = 'SathiyaMoorthy'
let g:BASH_Email        = '[email protected]'
let g:BASH_Company      = 'Open Source Corporation'


Maintenant, lorsque vous créez un nouveau fichier de script bash, il affichera les valeurs modifiées pour AUTHOR et COMPANY comme indiqué ci-dessous.

#!/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:  ---
#============================================================


Remarque : Pour ajouter des champs personnalisés à l'en-tête, modifiez le fichier ~/.vim/perl-support/templates/bash-file-header et ajoutez votre propre champ personnalisé.

Fonctionnalité 2 :Ajouter une fonction Bash à l'aide de \sfu

Pour écrire une sous-routine, tapez \sfu en mode normal, ce qui vous demandera le nom de la fonction (comme indiqué dans la Fig1 ci-dessous) et insère la sous-routine avec le contenu de la fonction par défaut (comme indiqué dans la Fig2 ci-dessous).

Schéma 1 : Tapez \sfu pour ajouter une fonction bash dans un script shell

Figure 2 : Fonction bash ajoutée automatiquement dans le script shell

Fonctionnalité 3 :Insérer un en-tête de fonction à l'aide de \cfu

Pour insérer un en-tête de fonction, tapez \cfu en mode normal, qui affiche les commentaires comme illustré à la Fig 3.

Figure 3 : Tapez \cfu pour insérer un en-tête de fonction dans un script shell

Fonctionnalité 4 :Ajouter un commentaire de cadre à l'aide de \cfr

Pour ajouter un commentaire de cadre, tapez \cfr en mode normal, ce qui donnera le commentaire formaté suivant, comme illustré à la figure 4.

Fig 4 : Tapez \cfr pour insérer un commentaire de cadre dans un script shell

Fonctionnalité 5 :Insérer des instructions bash dans le script shell

Les touches de raccourci pour insérer des instructions sont :

  • \sc cas en … esac
  • \sl elif alors
  • \sf pour in do done
  • \sfo pour ((…)) faire fait
  • \si si alors fi
  • \sie si alors sinon fi
  • \ss sélectionner dans do done
  • \st jusqu'à ce que ce soit fait
  • \sw pendant que c'est fait
  • \sfu fonction
  • \se echo e "\n"
  • \sp printf "\n"

Exemple :Insérer automatiquement l'instruction Case dans un script shell

\sc insère les déclarations de cas et place le curseur à côté de la déclaration de cas en mode INSERT, comme illustré à la figure 5. Ainsi, vous pouvez utiliser toutes les touches de raccourci mentionnées pour obtenir la déclaration appropriée dans le tableau 1.

Fig 5 : Tapez \sc pour insérer l'instruction case dans le script shell bash

Fonctionnalité 6 :Insérer un extrait de code prédéfini dans le script Bash à l'aide de \nr

Les extraits de code peuvent être lus/écrits en utilisant respectivement \nr et \nw. Le plugin est livré avec quelques extraits de code prédéfinis que vous pouvez insérer dans votre code. Voici les extraits de code par défaut fournis avec le plug-in.

$ 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


Pour inclure l'extrait de code check-number-of-command-line-arguments, appuyez sur \nr et vous serez invité à entrer un nom de fichier. Donnez le nom du fichier en tant que check-number-of-command-line-arguments et le code suivant sera automatiquement inséré dans le shell-script.

#-----------------------------------------------------------------------
#  Check number of command line arguments
#-----------------------------------------------------------------------
if [ $# -lt 1 ]
then
echo -e "\n\tUsage:  ${0##/*/} File\n"
exit 1
fi


Remarque : Vous pouvez définir vos propres extraits de code et les placer sous ~/.vim/bash-support/codesnippets/. Vous pouvez également créer vos propres extraits de code à partir du code existant - sélectionnez la partie de code à créer en tant qu'extrait de code, appuyez sur \nw et donnez-lui un nom de fichier. À partir de la prochaine fois, tapez \nr et le nom du fichier pour obtenir votre extrait de code personnalisé.

Fonctionnalité 7 :Obtenez une aide rapide sur les commandes intégrées de Bash

Lorsque vous avez besoin de lire la page d'aide pour les commandes intégrées bash, utilisez \hh lorsque le curseur est dans le mot.

Dans l'exemple suivant (Fig 6), la commande intégrée read bash est sélectionnée et \hh est tapé, ce qui affiche l'aide rapide sur la commande read. Utilisez la même méthode pour obtenir une aide rapide sur toutes les commandes intégrées bash.

Illustration 6 : Tapez \hh pour obtenir de l'aide sur la commande intégrée bash sélectionnée

Fonctionnalité 8 :Commentaires en vedette

Les commandes suivantes ajouteront les commentaires de mots clés correspondants. Par exemple, tapez \ckb pour ajouter la ligne de commentaire BUG dans le shell-script.

  • \ckb Mot clé BUG
  • \ckt Mot clé TODO
  • \ckr Mot clé délicat
  • \ckw Mot clé AVERTISSEMENT


Tapez \ckt pour ajouter une ligne de commentaire avec le mot-clé « # :TODO:mm/dd/yy::». Il s'agit essentiellement d'une ligne de commentaire qui agit comme un TODO, où vous pouvez taper les éléments que vous souhaitez faire plus tard.

Fig 7 : Tapez \ckt pour ajouter TODO dans le script shell bash


Il existe de nombreuses fonctionnalités puissantes dans le plugin bash-support. Lisez la documentation pour plus d'informations. La documentation se trouve à l'emplacement suivant sur votre système.

  • LISEZMOI :~/.vim/LISEZMOI.bashsupport
  • PDF :~/.vim/bash-support/doc/bash-hot-keys.pdf
  • Documentation en ligne du plug-in vim prenant en charge bash
  • Ce plugin est livré avec un fichier d'aide (bashsupport.txt) qui peut être consulté par :h bashsupport
  • [ Générez les balises d'aide par : helptags ~/.vim/doc, puis lancez :h bashsupport ]
  • Captures d'écran supplémentaires de ce plug-in.

Lecture recommandée

Vim 101 Hacks, par Ramesh Natarajan . Je suis un accro de la ligne de commande. Donc, naturellement, je suis un grand fan des éditeurs Vi et Vim. Il y a plusieurs années, lorsque j'écrivais beaucoup de code C sur Linux, je lisais tous les trucs et astuces disponibles pour l'éditeur Vim. Sur la base de mon expérience dans l'éditeur Vim, j'ai écrit le livre électronique Vim 101 Hacks qui contient 101 exemples pratiques sur diverses fonctionnalités avancées de Vim qui vous rendront rapide et productif dans l'éditeur Vim. Même si vous utilisez les éditeurs Vi et Vim depuis plusieurs années et que vous n'avez pas lu ce livre, rendez-vous service et lisez ce livre. Vous serez étonné des capacités de l'éditeur Vim.


Linux
  1. Faites de Vim votre IDE Perl à l'aide du plugin perl-support.vim

  2. Faites de Vim votre Bash-IDE à l'aide du plugin bash-support

  3. Tutoriel :Faites de Vim votre IDE C/C++ à l'aide du plugin c.vim

  4. Utilisation de la sortie des commandes précédentes dans bash

  5. Comment ouvrir un fichier dans vim en utilisant pipe

Gérez vos jeux avec Lutris sous Linux

Comment gérer les plugins Vim à l'aide de Vundle sous Linux

Comment éditer plusieurs fichiers à l'aide de l'éditeur Vim

Utilisation de Telnet pour dépanner votre système de messagerie

Éditeur Vim :comment configurer les fonctionnalités des documents les plus récemment utilisés à l'aide du plug-in MRU

10 tutoriels Vim pour démarrer vos compétences d'éditeur