Skripten

In diesem Abschnitt sind einige von mir erstellte Skripten zu finden. Vielleicht ist das eine oder andere brauchbare für Sie dabei.

CharTab

Dieses Skript erstellt eine Zeichen-Tabelle, die sich durch einige nette Features von den vielen bereits existierenden ASCII-Tabellen unterscheidet, als da sind:

  • Verwendung von Syntax-Highlighting
  • einfaches Umschalten der Zahlenbasis der Codes ohne den Puffer verlassen zu müssen
  • die Tabelle wird im gerade aktuellen Puffer geöffnet, die Fensterpositionen werden dadurch nicht verändert
  • die Sonder-Codes werden mit ihrem realen Namen angezeigt (NUL, ETX, …)
  • schnelles und einfaches Verlassen der Tabelle
CharTab
BeschreibungDie Zeichen-Tabelle wird defaultmäßig mit <Leader>ct dargestellt. Eselsbrücke ct: (c)haracter (t)able.
VersionV 1.0.0
AutorChristian Habermann
LizenzGNU General Public License (GPL), (c) by Christian Habermann
Vim-Versiongetestet mit gvim 6.2, 7.3, 7.4 unter Linux und Win32
Downloadcartab.vim
InstallationDie Datei chartab.vim in das lokale plugin-Verzeichnis kopieren.
Unix: ~/.vim/plugin
Windows: c:\vimfiles\plugin
Falls der Pfad noch nicht existiert, bitte anlegen.

Hinweise zur Konfiguration sind im Header des Skripts zu finden.

CRefVim

C-Reference Manuals gibt es wie Sand am Meer. Hier ist ein weiteres. Im Gegensatz zu all den anderen Manuals dürfte CRefVim meines Wissens nach jedoch das einzige sein, das unter der GNU Free Document License (FDL) steht und das in das Hilfesystem von Vim eingebettet werden kann. Letzteres bringt folgende wesentliche Vorteile:

  • Vim selbst kann das Manual anzeigen, kein externer Viewer notwendig
  • selbes Syntax-Highlighting wie in den Hilfedateien von Vim
  • gewohntes Navigieren durch das Manual mittels Tags
  • durch die Tags kann leicht vom Source-Code aus zu der relevanten Stelle im C-Reference Manual gesprungen werden (ein Skript ermöglicht dies)

Bei der Erstellung des Manuals – was übrigens eine Schweinsarbeit war und beinahe in eine Lebensaufgabe ausartete – habe ich allerhöchstes Augenmerk auf Qualität gelegt. Ich hoffe es ist mir geglückt, ein hinreichend ausführliches und brauchbares C-Reference Manual zu erstellen, bei dem man sich nicht ständig fragen muss, ob das, was da steht, überhaupt richtig ist.

CRefVim
BeschreibungCRefVim ist ein komplettes C-Reference Manual, das in das Hilfesystem von Vim eingebunden werden kann. Nach der Installation erhalten Sie Hilfe mit: :help crefvimdoc Das C-Reference Manual kann angezeigt werden mit: :help crefvim Folgende Mappings stehen zur Verfügung:

cr normal mode
suche nach Wort unter dem Cursor
Eselsbrücke cr: (c)-(r)reference

<Leader>cr visual mode
suche nach selektiertem Text
Eselsbrücke cr: (c)-(r)reference

<Leader>cw
frägt nach dem Suchwort
Eselsbrücke cw: (c)-reference (w)hat

<Leader>cc
zeigt Inhaltsverzeichnis
Eselsbrücke cc: (c)-reference (c)ontents

Für <Leader> ist normalerweise \ voreingestellt, also müssen Sie beispielsweise \cc drücken, um das Inhaltsverzeichnis angezeigt zu bekommen.
VersionV 1.0.4 vom 27. Nov. 2004
AutorChristian Habermann
LizenzGNU General Public License (GPL) und GNU Free Document License (FDL), (c) by Christian Habermann
Vim-Versiongetestet mit gvim 6.2, 7.3, 7.4 unter Linux und Win32
Downloadcrefvim.zip
Installation1. Die Datei plugin/crefvim.vim in das lokale plugin-Verzeichnis kopieren.
Unix: ~/.vim/plugin
Windows: c:\vimfiles\plugin
Falls der Pfad noch nicht existiert, bitte anlegen.
2. Die Dateien doc/crefvim.txt und doc/crefvimdoc.txt in das lokale doc-Verzeichnis kopieren.
Unix: ~/.vim/doc
Windows: c:\vimfiles\doc
Falls der Pfad noch nicht existiert, bitte anlegen.
3. Die Datei after/syntax/help.vim in das lokale after/syntax-Verzeichnis kopieren.
Unix: ~/.vim/after/syntax
Windows: c:\vimfiles\after/syntax
Falls der Pfad noch nicht existiert, bitte anlegen.
4. Um CRefVim in das Vim-Hilfesystem einzubinden, starten Sie bitte Vim und geben unter Unix ein: :helptags ~/.vim/doc bzw. bei Windows: :helptags c:\vimfiles\doc

Fertig. Ab jetzt steht Ihnen CRefVim zur Verfügung. Geben Sie beispielsweise \cc ein, um das Inhaltsverzeichnis angezeigt zu bekommen. Hinweise zur Konfiguration finden Sie in der beiliegenden Dokumentation (crefvimdoc.txt).

GrepUtil

GrepUtil
BeschreibungGrepUtil vereinfacht die dateiübergreifende Suche nach einer Zeichenkette und die Navigation durch das Suchergebnis.
Um das Wort unter dem Cursor oder den gerade selektierten Text zu suchen, drücken Sie <Leader>gr ( gr: (g)(r)ep ). Ist dort kein Zeichen zu finden, werden Sie nach dem Suchstring gefragt.
<Leader>ga erfrägt immer einen Suchstring ( ga: (g)rep (a)ask ).
Defaultmäßig wird als Suchprogramm grep verwendet und es wird nach allen Dateien im aktuellen Verzeichnis gesucht, die mit *.c *.h *.cpp oder *.hpp enden (ja, ich programmiere bevorzugt in C/C++ 😉 )

Für <Leader> ist normalerweise \ voreingestellt.

Mit <F6>, <F7> kann durch das Suchergebnis gesteppt werden. <S-F6>, <S-F7> erlaubt es, durch die vorherigen Suchergebnisse zu navigieren.
:copen öffnet das sogenannte quickfix-Fenster, in dem die Suchergebnisse angezeigt werden.
Eine detailliertere Beschreibung - vor allem zur Konfiguration - ist im Header des Skripts zu finden.
VersionV 1.0.0 vom 2. Dez. 2002
AutorChristian Habermann
LizenzGNU General Public License (GPL), (c) by Christian Habermann
Vim-Versiongetestet mit gvim 6.2, 7.3, 7.4 unter Linux und Win32
Downloadgreputil.vim
InstallationDie Datei greputil.vim in das lokale plugin-Verzeichnis kopieren.
Unix: ~/.vim/plugin
Windows: c:\vimfiles\plugin
Falls der Pfad noch nicht existiert, bitte anlegen.

Defaultmäßig wird grep zum Suchen verwendet, es muss also installiert sein

LineInd

LineInd
BeschreibungDieses Script ermöglicht es, selektierten Text ein- bzw. auszurücken. Die Vim-Variable 'shiftwidth' bestimmt dabei, wie weit ein-/ausgerückt wird.
TAB rückt den Text ein, Shift-TAB aus.
Eine detailliertere Beschreibung ist im Header des Skripts zu finden.
VersionV 1.0.0 vom 29. Nov. 2002
AutorChristian Habermann
LizenzGNU General Public License (GPL), (c) by Christian Habermann
Vim-Versiongetestet mit gvim 6.2, 7.3, 7.4 unter Linux und Win32
Downloadlineind.vim
InstallationDie Datei lineind.vim in das lokale plugin-Verzeichnis kopieren.
Unix: ~/.vim/plugin
Windows: c:\vimfiles\plugin
Falls der Pfad noch nicht existiert, bitte anlegen.

 PrtDialog

Ich drucke relativ selten von Vim heraus Texte aus. Von daher konnte ich mir mangels Übung nie die ganzen Einstellungen merken, mit denen das Druckergebnis beeinflusst werden kann (wie schaltet man für den Ausdruck gleich wieder die Zeilennummerierung aus oder an?). Aus diesem Leiden heraus ist PrtDialog entstanden.

PrtDialog
BeschreibungDieses Skript vereinfacht das Drucken von Text aus Vim heraus. <Leader>pd öffnet einen Dialog, in dem diverse Drucker-Einstellungen vorgenommen werden können, z.B. Druckerauswahl, Schriftart und -größe, Zeilennummerierung an/aus, Syntax-Highlighting an/aus...
Eselsbrücke pd: (p)rinter (d)ialog

Es kann entweder der ganze Textpuffer gedruckt werden oder der gerade selektierte Ausschnitt.
Nach der Installation erhalten Sie Hilfe mit: :help prtdialog
VersionV 1.0.0 vom 29. Nov. 2002
AutorChristian Habermann
LizenzGNU General Public License (GPL), (c) by Christian Habermann
Vim-Versiongetestet mit gvim 6.2, 7.3, 7.4 unter Linux und Win32
Downloadprtdialog.zip
Installation1. Die Datei plugin/prtdialog.vim in das lokale plugin-Verzeichnis kopieren.
Unix: ~/.vim/plugin
Windows: c:\vimfiles\plugin
Falls der Pfad noch nicht existiert, bitte anlegen.
2. Die Datei doc/prtdialog.txt in das lokale doc-Verzeichnis kopieren.
Unix: ~/.vim/doc
Windows: c:\vimfiles\doc
Falls der Pfad noch nicht existiert, bitte anlegen.
3. Um PrtDialog in das Vim-Hilfesystem einzubinden, starten Sie bitte Vim und geben unter Unix ein: :helptags ~/.vim/doc bzw. bei Windows: :helptags c:\vimfiles\doc
Fertig. Hinweise zur Konfiguration sind in der beiliegenden Dokumentation zu finden

RegExpRef

RegExpRef
BeschreibungDies ist eine kurze Referenz zu den wohl am häufigsten benutzten Metazeichen in regulären Ausdrücken. Das Besondere daran ist, dass sowohl die Vim Syntax als auch die GNU-grep Syntax aufgezeigt wird.
Die Metazeichen der beiden Programme unterscheiden sich an ein paar Stellen, so dass es hier leicht zu Verwechslungen kommen kann, wenn in beiden Programmen mit regulären Ausdrücken gearbeitet wird. Ein kurzer Blick in diese Referenz sollte dann aber Klarheit schaffen 😉
VersionV 1.0.0
AutorChristian Habermann
LizenzGNU General Public License (GPL), (c) by Christian Habermann
Vim-Versiongetestet mit gvim 6.2, 7.3, 7.4 unter Linux und Win32
Downloadregexpref.txt
InstallationDie Datei regexpref.txt in das lokale doc-Verzeichnis kopieren.
Unix: ~/.vim/doc
Windows: c:\vimfiles\doc
Um die Datei in das Vim-Hilfesystem einzubinden, starten Sie bitte Vim und geben unter Unix ein:
:helptags ~/.vim/doc
bzw. unter Windows:
:helptags c:\vimfiles\doc

Um einen schnellen Zugriff auf die Referenz zu haben, kann ein Mapping in der .vimrc-Datei hinzugefügt werden:
map <Leader>re :help regexpref<cr>
Eselsbrücke re: (r)egular (e)xpression

SnippetsMgr

SnippetsMgr
BeschreibungDas Skript Snippets Manager hilft bei der Verwaltung und Verwendung von Code Snippets. Code Snippets sind Dateien, die während der Programmierung in den Source-Code eingebunden werden können.
VersionV 1.01.00
AutorChristian Habermann
LizenzGNU General Public License (GPL), (c) by Christian Habermann
Vim-Versiongetestet mit gvim 7.0 unter Win32, benögtigt wird mindestens Vim 7.0
DownloadSnippetsMgr.zip
InstallationDie Datei snippetsmgr.vim in das private plugin-Verzeichnis kopieren.
Das Verzeichnis 'snippets' am besten in das selbe Verzeichnis kopieren, in dem auch das private plugin-Verzeichnis liegt. Dann in .vimrc die Variable g:smgr_snippetsPath den Pfad dorthin setzen.
Wie man des Skript konfigurieren kann, ist im Skriptheader beschrieben. Per Default ist folgende Tastenkombination definiert:
\sm startet den SnippetsMgr (Eselsbrücke: sm (s)nippets (m)anager)
Hier können Snippets in den Source-Code eingefügt werden, editiert, umgenannt, gelöscht oder neu erstellt werden. Es sind einige Code Snippets als Beispiele vorhanden.

 SateExp

StateExp
BeschreibungDieses Skript ermöglicht es, kurze Tokens zu Statements zu expandieren. Beispiel: Ein Programmieren gibt 'sw' ein und das Skript macht nach einem ctrl-s ein komplettes switch-Statement daraus:

switch ( )
{
  case 0:
    break;
  default:
    break;
}
VersionV 1.01.00
AutorChristian Habermann
LizenzGNU General Public License (GPL), (c) by Christian Habermann
Vim-Versiongetestet mit gvim 7.0 unter Win32, benögtigt wird mindestens Vim 7.0
DownloadStateExp.vim
InstallationDie Datei stateexp.vim in das private plugin-Verzeichnis kopieren.
Unix: ~/.vim/plugin
Windows: c:\vimfiles\plugin
Wie man des Skript konfigurieren kann, ist im Skriptheader beschrieben. Per Default sind folgende Tastenkombinationen definiert:
ctrl-s im insert-Mode: expandiere das Token, das links vom Cursor steht
\sh: zeigt eine Hilfeseite an. Eselsbrücke: sh (s)tateexp (h)elp

 TransVim

TransVim
BeschreibungDieses Skript ermöglicht von Vim heraus das Nachschlagen eines Wortes in einem Wörterbuch. Das Wörterbuch ist nicht Bestandteil dieses Skripts; für geeignete freie Wörterbücher siehe Beschreibung im Skript-Header.
Folgende Mappings stehen zur Verfügung:

<Leader>tr normal mode
suche nach Wort unter dem Cursor
Eselsbrücke tr: (t)(r)anslate

<Leader>tr visual mode
suche nach selektiertem Text
Eselsbrücke tr: (t)(r)anslate

<Leader>ta
frägt nach Suchwort
Eselsbrücke ta: (t)ranslate (a)sk

Für <Leader> ist normalerweise \ voreingestellt, also müssen Sie beispielsweise \tr drücken, um ein Wort nachzuschlagen
VersionV 1.0.2 vom 9. Okt. 2003
AutorChristian Habermann
LizenzGNU General Public License (GPL), (c) by Christian Habermann
Vim-Versiongetestet mit gvim 7.0 unter Win32, benögtigt wird mindestens Vim 7.0
Downloadtransvim.vim
InstallationDie Datei transvim.vim in das lokale plugin-Verzeichnis kopieren.
Unix: ~/.vim/plugin
Windows: c:\vimfiles\plugin
Falls der Pfad noch nicht existiert, bitte anlegen.
In .vimrc muss noch angegeben werden, wo Ihr Dictionary liegt (Pfad entsprechend anpassen):
let g:trv_dictionary = "~/.vim/dictionary/ger-eng.txt"
Defaultmäßig wird grep zum Suchen verwendet, es muss also installiert sein.

Hinweise zur Konfiguration und Quellenangaben für geeignete und freie Wörterbücher sind im Header des Skripts zu finden.