GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Machen Sie Vim als Ihre Bash-IDE mit dem bash-support Plugin

Dieser Beitrag wurde von SathiyaMoorthy verfasst.

Dieser Artikel ist Teil der laufenden Vi / Vim Tipps und Tricks-Reihe. Als Linux-Systemadministrator oder -Programmierer können Sie beim Codieren von Bash-Shell-Skripts die folgenden sich wiederholenden Aufgaben ausführen:

  • Dateiheader hinzufügen
  • Funktion/Frame-Kommentar hinzufügen
  • Inklusive Standard-Code-Snippet
  • Syntaxprüfung durchführen
  • Dokumentation über eine Funktion lesen
  • Einen Codeblock in einen Kommentar umwandeln und umgekehrt


Das bash-Support Vim-Plugin bietet die einfachste Möglichkeit, all dies zu tun, und spart viel Zeit und Tastenanschläge.

Das Plugin wurde von Fritz Mehner geschrieben, der den Zweck des Plugins erklärt als:„BASH-Skripte mit Menüs und Hotkeys schreiben und ausführen.“

Dieser Artikel erklärt die Installation des Plugins in 3 einfachen Schritten und 8 leistungsstarke Funktionen des Plugins.

3 Schritte zum Installieren des Bash-Support-Plugins

Schritt 1:Laden Sie das Bash-Support-Plugin herunter

Laden Sie das Plugin von der Website vim.org herunter.

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

Schritt 2:Installieren Sie das bash-unterstützende Vim-Plugin

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

Schritt 3:Aktivieren Sie das Plugin in ~/.vimrc

Fügen Sie die folgende Zeile zu ~/.vimrc hinzu, um das Plugin für den Vim-Editor zu aktivieren.

$ vim ~/.vimrc
filetype plugin on

8 leistungsstarke Funktionen des Bash-Vim-Plugins

Funktion 1:Automatischen Header zu *.sh-Datei hinzufügen

Wenn Sie eine Datei mit der Erweiterung .sh öffnen, wird die Datei mit dem Header wie unten gezeigt geöffnet. Dadurch wird der Cursor im Einfügemodus auch in das Beschreibungsfeld gesetzt.

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


Um den Standardwert von AUTHOR und COMPANY zu ändern, fügen Sie die folgenden Zeilen in ~/.vimrc

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


Wenn Sie jetzt eine neue Bash-Skriptdatei erstellen, werden die geänderten Werte für AUTHOR und COMPANY wie unten gezeigt angezeigt.

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


Hinweis: Um dem Header benutzerdefinierte Felder hinzuzufügen, ändern Sie die Datei ~/.vim/perl-support/templates/bash-file-header und fügen Sie Ihr eigenes benutzerdefiniertes Feld hinzu.

Funktion 2:Hinzufügen der Bash-Funktion mit \sfu

Um ein Unterprogramm zu schreiben, geben Sie \sfu im normalen Modus ein, was zur Eingabe des Funktionsnamens auffordert (wie in Abb. 1 unten gezeigt) und das Unterprogramm mit dem Standardfunktionsinhalt einfügt (wie in Abb. 2 unten gezeigt).

Abb. 1: Geben Sie \sfu ein, um eine Bash-Funktion in ein Shell-Skript einzufügen

Abb. 2: Bash-Funktion automatisch in Shell-Skript hinzugefügt

Funktion 3:Einfügen einer Funktionskopfzeile mit \cfu

Um einen Funktionsheader einzufügen, geben Sie \cfu im normalen Modus ein, der Kommentare wie in Abb. 3 zeigt.

Abb. 3: Geben Sie \cfu ein, um einen Funktionsheader in ein Shell-Skript einzufügen

Funktion 4:Hinzufügen eines Frame-Kommentars mit \cfr

Um einen Frame-Kommentar hinzuzufügen, geben Sie \cfr im normalen Modus ein, was den folgenden formatierten Kommentar ergibt, wie in Abbildung 4 gezeigt.

Abb. 4: Geben Sie \cfr ein, um einen Frame-Kommentar in ein Shell-Skript einzufügen

Funktion 5:Bash-Anweisungen in Shell-Skript einfügen

Tastenkombinationen zum Einfügen von Anweisungen sind:

  • \sc Fall in … esac
  • \sl elif dann
  • \sf für erledigt
  • \sfo for ((…)) do done
  • \si wenn dann fi
  • \sie if then else fi
  • \ss auswählen und fertig
  • \st bis fertig
  • \sw bis fertig
  • \sfu Funktion
  • \se echo e „\n“
  • \sp printf „\n“

Beispiel:Automatisches Einfügen der Case-Anweisung in ein Shell-Skript

\sc fügt die case-Anweisungen ein und platziert den Cursor neben der case-Anweisung im INSERT-Modus, wie in Abbildung 5 gezeigt. Auf diese Weise können Sie alle erwähnten Tastenkombinationen verwenden, um die entsprechende Anweisung in Tabelle 1 zu erhalten.

Abb. 5: Geben Sie \sc ein, um die Case-Anweisung in das Bash-Shell-Skript einzufügen

Funktion 6:Einfügen eines vordefinierten Code-Snippets in das Bash-Skript mit \nr

Codeschnipsel können mit \nr bzw. \nw gelesen/geschrieben werden. Das Plugin wird mit einigen vordefinierten Codeschnipseln geliefert, die Sie in Ihren Code einfügen können. Im Folgenden sind die standardmäßigen Codeausschnitte aufgeführt, die mit dem Plugin geliefert werden.

$ 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


Um das Code-Snippet-check-number-of-command-line-arguments einzufügen, drücken Sie \nr und Sie werden zur Eingabe eines Dateinamens aufgefordert. Geben Sie den Dateinamen als check-number-of-command-line-arguments an und der folgende Code wird automatisch in das Shell-Skript eingefügt.

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


Hinweis: Sie können Ihre eigenen Codeschnipsel definieren und unter ~/.vim/bash-support/codesnippets/ platzieren. Sie können auch Ihre eigenen Codeausschnitte aus dem vorhandenen Code erstellen – wählen Sie den Teil des Codes aus, der als Codeausschnitt erstellt werden soll, drücken Sie \nw und geben Sie ihm einen Dateinamen. Geben Sie beim nächsten Mal \nr und den Dateinamen ein, um Ihr benutzerdefiniertes Code-Snippet zu erhalten.

Funktion 7:Erhalten Sie schnelle Hilfe zu den integrierten Bash-Befehlen

Wenn Sie die Hilfeseite für die Bash-Builts lesen müssen, verwenden Sie \hh, wenn sich der Cursor im Wort befindet.

Im folgenden Beispiel (Abb. 6) wird der integrierte Bash-Befehl „read“ ausgewählt und \hh eingegeben, wodurch die Schnellhilfe für den Befehl „read“ angezeigt wird. Verwenden Sie die gleiche Methode, um schnelle Hilfe zu allen integrierten Bash-Befehlen zu erhalten.

Abb. 6: Geben Sie \hh ein, um Hilfe zum ausgewählten integrierten Bash-Befehl zu erhalten

Funktion 8:Hervorgehobene Kommentare

Die folgenden Befehle fügen die entsprechenden Schlüsselwortkommentare hinzu. Geben Sie beispielsweise \ckb ein, um die BUG-Kommentarzeile innerhalb des Shell-Skripts einzufügen.

  • \ckb Schlüsselwort BUG
  • \ckt Schlüsselwort TODO
  • \ckr Schlüsselwort knifflig
  • \ckw Stichwort WARNUNG


Geben Sie \ckt ein, um eine Kommentarzeile mit dem Schlüsselwort „# :TODO:mm/dd/yy::“ hinzuzufügen. Dies ist im Grunde eine Kommentarzeile, die als TODO fungiert, in die Sie die Punkte eingeben können, die Sie später erledigen möchten.

Abb. 7: Geben Sie \ckt ein, um TODO innerhalb des Bash-Shell-Skripts hinzuzufügen


Das Bash-Support-Plugin enthält viele leistungsstarke Funktionen. Lesen Sie die Dokumentation für weitere Informationen. Die Dokumentation befindet sich an folgendem Speicherort auf Ihrem System.

  • README :~/.vim/README.bashsupport
  • PDF:~/.vim/bash-support/doc/bash-hot-keys.pdf
  • Online-Dokumentation für Bash-Unterstützung des vim-Plugins
  • Dieses Plugin enthält eine Hilfedatei (bashsupport.txt), die von :h bashsupport
  • angezeigt werden kann
  • [Generieren Sie die Hilfe-Tags mit  :helptags ~/.vim/doc und geben Sie dann :h bashsupport aus]
  • Zusätzliche Screenshots dieses Plug-ins.

Empfohlene Lektüre

Vim 101 Hacks, von Ramesh Natarajan . Ich bin ein Kommandozeilen-Junkie. Also bin ich natürlich ein großer Fan von Vi- und Vim-Editoren. Vor einigen Jahren, als ich viel C-Code unter Linux geschrieben habe, habe ich alle verfügbaren Vim-Editor-Tipps und -Tricks gelesen. Basierend auf meiner Vim-Editor-Erfahrung habe ich das Vim 101 Hacks eBook geschrieben, das 101 praktische Beispiele zu verschiedenen erweiterten Vim-Funktionen enthält, die Sie im Vim-Editor schnell und produktiv machen werden. Auch wenn Sie Vi und Vim Editors seit mehreren Jahren verwenden und dieses Buch noch nicht gelesen haben, tun Sie sich bitte einen Gefallen und lesen Sie dieses Buch. Sie werden von den Möglichkeiten des Vim-Editors begeistert sein.


Linux
  1. Machen Sie Vim zu Ihrer Perl-IDE mit dem Plugin perl-support.vim

  2. Machen Sie Vim als Ihre Bash-IDE mit dem bash-support Plugin

  3. Tutorial:Machen Sie Vim als Ihre C/C++ IDE mit dem c.vim Plugin

  4. Verwendung der Ausgabe vorheriger Befehle in Bash

  5. Verwenden Sie einen Index, um grep schneller zu machen?

Verwalten Sie Ihre Spiele mit Lutris unter Linux

So verwalten Sie Vim-Plugins mit Vundle unter Linux

So bearbeiten Sie mehrere Dateien mit dem Vim-Editor

Verwenden von Telnet zur Fehlerbehebung Ihres E-Mail-Systems

Vim Editor:So richten Sie die Funktionen der zuletzt verwendeten Dokumente mit dem MRU-Plugin ein

10 Vim-Tutorials, um Ihre Editor-Fähigkeiten zu verbessern