Größe: 15741
Kommentar:
|
← Revision 18 vom 2016-03-16 17:38:56 ⇥
Größe: 14592
Kommentar:
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 16: | Zeile 16: |
Plugins: NERDTree, BufExplorer, gundo, VimWiki Hackspace Rostock e.V. | Plugins: NERDTree, BufExplorer, gundo, VimWiki |
Zeile 20: | Zeile 20: |
__ attachment:.vimrc-basic __ attachment:.vimrc-pathogen |
|
Zeile 25: | Zeile 31: |
* Vim-Plugins Allgemein * Plugin Manager: pathogen * Plugins: * netrw * paren * BufExplorer * gundo * NERDTree * VimWiki ---- Vim Plugins im Allgemeinen ========================== * Plugins sind Vim Skripte die automatisch beim Vim Start geladen werden. * Sie enden mit der Dateierweiterung ``*.vim.`` * Es gibt globale und dateityp spezifische Vim Skripte. * Die Skripte liegen in Unterverzeichnissen des Vim Installationspfades und des ``~/.vim`` Verzeichnisses im Nutzer Home. ---- *Mögliche Skriptverzeichnisse*: * ``plugin``: Vim Plugins * ``ftplugin``: dateityp spezifische Plugins * ``syntax``: dateityp spezifische Syntaxschemas * ``indent``: dateityp spezifische Indent-Definitionen * ``colors``: Farbschemas * ``autoload``: Funktionsdefinitionen, die bei Bedarf aufgerufen werden können * ``after``: Funktionen und Einstellungen, die nach dem Laden aller Plugins direkt vor der Anzeige des Buffers geladen werden * ``doc``: Dokumentationen zu Plugins (Zugriff über :help) ---- Globale plugins =============== Sind nicht in Vim einkompiliert, werden aber automatisch beim Vim Start geladen. Aktive Plugins sind nicht einfach so anzeigbar, da sie aus einzelnen ``*.vim`` Skripte bestehen, die einfach geladen werden. Stattdessen können die geladenen ``*.vim`` Skripe aufgelistet werden. :: scriptnames Zeigt die geladenen Skripte in der Reihenfolge in der sie geladen wurden. ---- Standard Plugin --------------- Werden automatisch geladen. Liegen im Vim-Installationspfad unter ``plugin``. * netrw: Zugriff auf Dateien über's Netzwerk * paren: Zeige zugehörige Klammern Vim-Installationspfad anzeigen: :: :echo $VIMRUNTIME ---- User Plugins ------------ Installationpfad: ``~/.vim/plugin`` (Unix/Linux, Mac OS X) Zur besseren Organisation sind Unterverzeichnisse für Plugins erlaubt. ---- filetype Plugins ================ Erweitern Vim um Funktionalität abhängig vom Filetyp einer geöffneten Datei. Wird aktiviert mit: :: :filetype plugin on Standard Plugins ---------------- Installationspfad: ``<Vim Installationspfad>/ftplugin`` User Plugins ------------ Installationspfad: ``~/.vim/ftplugin`` ---- autoload ======== Enthält Vim-Skripte die mittels: :: call subpath#function(param) aufgerufen werden können. ---- Einfache Vim Konfiguration ========================== ``.vimrc``: :: syntax on " syntax highlighting filetype indent on " activates indenting for files " backspace in insert mode works like normal editor. allow backspace over: set backspace=indent,eol,start set number " enable line numbers " set color scheme (a light one) colorscheme desert " colorscheme desert " tabbing config set expandtab " insert spaces in tabs set shiftwidth=4 set tabstop=4 set softtabstop=4 " handle (delete) softtabs (with white space) like tabs " indenting set smartindent " indenting as function of filetype set autoindent " auto indenting " wild mode for tab completion in command mode: like in the bash set wildmode=longest,list *FIXME*: link to file ---- Vim interne Plugins =================== |
* Vim-Plugins Allgemein * Plugin Manager: pathogen * Plugins: |
Zeile 180: | Zeile 37: |
---- netrw ===== Zugriff auf Dateien über das Netzwerk: *Beim Vim-Start*: :: vim scp://hostname/path/to/file *Innerhalb von Vim*: * Datei editieren. Hier über scp :: :e scp://hostname/path/to/file * Datei schreiben: Hier über ftp :: :w ftp://hostname/path/to/file ---- paren ===== Hebt zugehörige Klammern hervor. ---- Vims User Plugins ================= * pathogen |
|
Zeile 228: | Zeile 44: |
Vim Plugins im Allgemeinen ========================== * Plugins sind Vim Skripte die automatisch beim Vim Start geladen werden. * Die Skripte enden mit der Dateierweiterung ``*.vim.`` * Es gibt globale und dateityp spezifische Vim Skripte. * Die Skripte liegen in Unterverzeichnissen des Vim Installationspfades und des ``~/.vim`` Verzeichnisses im Nutzer Home. ---- Mögliche Skriptverzeichnisse ---------------------------- * ``plugin``: Vim Plugins * ``ftplugin``: dateityp spezifische Plugins * ``syntax``: dateityp spezifische Syntaxschemas * ``indent``: dateityp spezifische Indent-Definitionen * ``colors``: Farbschemas * ``autoload``: ermöglicht bei Bedarf das Laden von einzelnen Funktionsdefinitionen anstatt von kompletten vim Skripten * ``after``: Funktionen und Einstellungen, die nach dem Laden aller Plugins direkt vor der Anzeige des Buffers geladen werden * ``doc``: Dokumentationen zu Plugins (Zugriff über :help) * ... ---- Globale Plugins =============== Plugins sind nicht in Vim einkompiliert, werden aber automatisch beim Vim Start geladen. Aktive Plugins sind nicht einfach so anzeigbar, da sie aus einzelnen ``*.vim`` Skripte bestehen, die lediglich geladen werden. Stattdessen können die geladenen ``*.vim`` Skripe aufgelistet werden. :: :scriptnames Zeigt die geladenen Skripte in der Reihenfolge in der sie geladen wurden. ---- Standard Plugins ---------------- Werden automatisch geladen. Liegen im Vim-Installationspfad unter ``plugin``. * netrw: stellt einen Dateibrowser zur Verfügung und ermöglicht den Zugriff auf Dateien über das Netzwerk. * paren: Zeige zugehörige Klammern Vim-Installationspfad anzeigen: :: :echo $VIMRUNTIME ---- User Plugins ------------ Installationpfad im Nutzerverzeichnis: ``~/.vim/plugin`` (Unix/Linux, Mac OS X) Zur besseren Organisation sind Unterverzeichnisse für Plugins erlaubt. ---- filetype Plugins ================ Erweitern Vim um Funktionalitäten abhängig vom Filetyp einer geöffneten Datei. Wird aktiviert mit: :: :filetype plugin on ---- Standard Plugins ---------------- Installationspfad: ``<Vim Installationspfad>/ftplugin`` ---- User Plugins ------------ Installationspfad: ``~/.vim/ftplugin`` ---- autoload ======== Verzeichnis das Vim-Skripte enthält, die direkt mittels: :: call scriptname#function(param) aufgerufen werden können. ---- Einfache Vim Konfiguration ========================== ``.vimrc`` :: syntax on " syntax highlighting filetype indent on " activates indenting for files " backspace in insert mode works like normal editor. allow backspace over: set backspace=indent,eol,start " indenting set smartindent " indenting as function of filetype set autoindent " std. auto indenting " wild mode for tab completion in command mode: like in the bash set wildmode=longest,list `vimrc-basic`__ ---- Vim interne Plugins =================== * netrw * paren ---- netrw ===== Zugriff auf Dateien über das Netzwerk: *Beim Vim-Start*: :: vim scp://[user@]hostname//path/to/file ---- *Innerhalb von Vim*: * Datei editieren. Hier über scp :: :e scp://[user@]hostname//path/to/file * Datei schreiben: Hier über ftp :: :w ftp://[user@]hostname//path/to/file * Browsen im Filesystem: :: :e . ---- paren ===== Hebt zugehörige Klammern hervor. ---- Vims User Plugins ================= * pathogen * NERDTree * BufExplorer * gundo * VimWiki ---- |
|
Zeile 231: | Zeile 244: |
FIXME: Ein Beispiel - einfache Vim Konfiguration - pathogen installieren - Vim Konfiguration anpassen - Vim starten: - ``:filetype`` prüfen - ``:scriptnames`` prüfen |
|
Zeile 242: | Zeile 246: |
Es wird emfohlen einen Plugin Manager zu nutzen, da die meißten Plugins sich | Es wird empfohlen einen Plugin Manager zu nutzen, da die meisten Plugins sich |
Zeile 269: | Zeile 273: |
Zusätzliche Konfigurationen um Syntax highlighting, Plugins und Indent | Zusätzliche Konfigurationen um Syntaxhighlighting, Plugins und Indent |
Zeile 297: | Zeile 301: |
*FIXME*: link to .vimrc | `vimrc-pathogen`__ |
Zeile 312: | Zeile 316: |
Ergebnis der pathogen Installation prüfen: Wie sieht ``filetype`` und welche Skripte wurden geladen? - ``:filetype`` - ``:scriptnames`` ---- |
|
Zeile 316: | Zeile 329: |
* Zeigt Dateien und Verzeichnisse in hierarchischer Baumstruktur an. * Unterstützt Lesezeichen. * Unterschiedliche Farben für verschiedene Strukturelemente wie Dateien, Links, Verzeichnisse, u.a. * Einfache Tastaturkomandos zum Navigieren |
* Zeigt Dateien und Verzeichnisse in hierarchischer Baumstruktur an. * Unterstützt Lesezeichen. * Unterschiedliche Farben für verschiedene Strukturelemente wie Dateien, Links, Verzeichnisse, u.a. * Einfache Tastaturkommandos zum Navigieren |
Zeile 327: | Zeile 341: |
Zeige Installationsanweisung von: | Installationsanweisung von: |
Zeile 351: | Zeile 365: |
- ``:NERDTree`` - Side-by-Side Ansicht öffnen - ``q`` - NERDTree schließen - ``e .`` - Aktuelles Verzeichnis in neuem Buffer löschen. |
- ``:NERDTree`` - Side-by-Side Ansicht öffnen - ``q`` - NERDTree schließen - ``e .`` - Aktuelles Verzeichnis im aktuellen Fenster öffnen. |
Zeile 356: | Zeile 371: |
- ``?`` - Kurzhilfe anzeigen und verstecken | - ``?`` - Kurzhilfe anzeigen und verstecken |
Zeile 361: | Zeile 377: |
- Cursortasten oder hjkl-Tasten - ``o``, ``<Enter>`` - Verzeichnis öffnen und schließen - ``O`` - Verzeichnis rekursiv öffnen - ``x`` - übergeordnetes Verzeichnis schließen - ``p`` - zum Übergeordneten Verzeichnis wechseln - ``P`` - zur Basis des Verzeichnisbaumes wechseln ---- Datei zum editieren öffnen: - ``o``, ``<Enter>`` - Datei öffnen - ``t`` - Datei in neuen Tab öffnen - ``s``, ``i`` - Datei im vertikalen oder horizontalen Split öffnen |
- Cursortasten oder hjkl-Tasten - ``o``, ``<Enter>`` - Verzeichnis öffnen und schließen - ``O`` - Verzeichnis rekursiv öffnen - ``x`` - übergeordnetes Verzeichnis schließen - ``p`` - das Übergeordneten Verzeichnis anwählen - ``P`` - die Basis des Verzeichnisbaumes anwählen ---- Datei zum Editieren öffnen: - ``o``, ``<Enter>`` - Datei öffnen - ``t`` - Datei in neuen Tab öffnen - ``s``, ``i`` - Datei im vertikalen oder horizontalen Split öffnen |
Zeile 378: | Zeile 396: |
- ``B`` - Lesezeichen anzeigen - ``o``, <Enter> - zu Lesezeichen springen - ``:Bookmark <name>`` - neues Lesezeichen erstellen - ``D`` - Lesezeichen löschen |
- ``B`` - Lesezeichen anzeigen - ``o``, <Enter> - zu Lesezeichen springen - ``:Bookmark <name>`` - neues Lesezeichen erstellen - ``D`` - Lesezeichen löschen |
Zeile 384: | Zeile 403: |
- ``cd`` - setzte Arbeitsverzeichnis neu - ``C`` - Ändere Basis des Verzeichnisbaumes im NERDTree ---- |
- ``u`` - die Baumwurzel auf deren übergeordnetes Verzeichnis setzen - ``C`` - Ändere Basis des Verzeichnisbaumes im NERDTree - ``cd`` - setzte Arbeitsverzeichnis neu |
Zeile 390: | Zeile 409: |
- ``I``: versteckte Dateien anzeigen oder verstecken | - ``I`` - versteckte Dateien anzeigen oder wieder verstecken |
Zeile 400: | Zeile 420: |
- ``:buffers`` - Liste vorhandene Buffer - ``:b[uffer] [N]`` - bearbeite Buffer N - ``:bn[ext]`` - wähle nächsten Buffer - ``:bp[rev]`` - wähle vorherigen Buffer - ``:bd[elete] [N]`` - schließt Buffer N |
- ``:buffers`` - Liste vorhandene Buffer - ``:b[uffer] [N]`` - bearbeite Buffer N - ``:bn[ext]`` - wähle nächsten Buffer - ``:bp[rev]`` - wähle vorherigen Buffer - ``:bd[elete] [N]`` - schließt Buffer N |
Zeile 430: | Zeile 451: |
- ``:BufExplorer`` oder ``\be`` - öffnen und vorhandene Buffer anzeigen - ``q`` - BufExplorer schließen |
- ``:BufExplorer`` oder ``\be`` - öffnen und vorhandene Buffer anzeigen - ``q`` - BufExplorer schließen |
Zeile 434: | Zeile 456: |
- ``F1`` - Kurzhilfe anzeigen und verstecken | - ``F1`` - Kurzhilfe anzeigen und verstecken ---- |
Zeile 437: | Zeile 462: |
- Cursortasten oder hjkl-Tasten - ``o``, ``<Enter>`` - Buffer öffnen - ``t`` - Buffer in neuem Tab öffnen - ``d`` - Buffer schließen |
- Cursortasten oder hjkl-Tasten - ``o``, ``<Enter>`` - Buffer öffnen - ``t`` - Buffer in neuem Tab öffnen - ``d`` - Buffer schließen |
Zeile 452: | Zeile 478: |
- ``u`` - (undo) letzte Änderung rückgängig machen - ``Ctrl-R`` - (redo) eine Rückgängig gemachte Änderung zurücknehmen - ``:undolist`` |
- ``u`` - (undo) letzte Änderung rückgängig machen - ``Ctrl-R`` - (redo) eine Rückgängig gemachte Änderung zurücknehmen - ``:undolist`` |
Zeile 459: | Zeile 486: |
---- |
|
Zeile 481: | Zeile 510: |
- ``:GundoShow`` - öffnen - ``:GundoToggle`` - öffnen/schließen - ``:GundoHide``, ``q`` - schließen |
- ``:GundoShow`` - öffnen - ``:GundoToggle`` - öffnen/schließen - ``:GundoHide``, ``q`` - schließen |
Zeile 486: | Zeile 516: |
- Cursortasten oder jk-Tasten - ``o``, ``<Enter>`` - Änderung auswählen |
- Cursortasten oder jk-Tasten - ``o``, ``<Enter>`` - Änderung auswählen |
Zeile 494: | Zeile 525: |
- ``undofile`` - Lege Undo-Dateien an - ``undodir`` - Verzeichnis für undo Dateien |
- ``undofile`` - Lege Undo-Dateien an - ``undodir`` - Verzeichnis für undo Dateien |
Zeile 501: | Zeile 532: |
" undofile - This allows you to use undos after exiting and restarting " This, like swap and backups, uses .vim-undo first, then ~/.vim/undo |
" undofile - This allows you to use undos after exiting and restarting. " This uses .vim-undo first, then ~/.vim/undo |
Zeile 520: | Zeile 551: |
* Benutzt eigenen aber einfachen Markdown Syntax. * Einfaches anlegen und verwalten von ToDo-Listen. * Einfaches erstellen und bearbeiten von Tabellen. * VimWiki Dokumente können untereinander verlinkt werden. * Aus den VimWiki Dokumenten können HTML Seiten generieren werden. |
* Benutzt eigenen aber einfachen Markdown Syntax. * Einfaches Anlegen und Verwalten von ToDo-Listen. * Komfortables Erstellen und Bearbeiten von Tabellen. * VimWiki Dokumente können untereinander verlinkt werden. * Aus den VimWiki Dokumenten können HTML Seiten generieren werden. |
Zeile 544: | Zeile 576: |
---- | |
Zeile 584: | Zeile 617: |
Überschriften lassen sich mittels `=` und `-` in ihrer Hierarchiestufe | Überschriften lassen sich mittels ``=`` und ``-`` in ihrer Hierarchiestufe |
Zeile 587: | Zeile 620: |
Die Projektbeschreibung als *fetter* Text. | Hier mal die Projektbeschreibung als *fetter* Text. |
Zeile 592: | Zeile 625: |
- Unterseite für - Liste - Tabelle - HTML generieren - Tagebucheintrag anlegen - Auf's readme verlinken |
- Unterseite für - Liste - Tabelle - HTML generieren |
Zeile 606: | Zeile 638: |
Checkbox hinzufügen: - <C-Space> - Checkbox an, toggle Status: offen, erledigt - gl<Space> - Checkbox entfernen |
Checkboxen zur TODO Liste hinzufügen: - ``<C-Space>`` - Checkbox an, toggle Status: offen, erledigt - ``gl<Space>`` - Checkbox entfernen |
Zeile 611: | Zeile 644: |
- gll - Listen Eintrag nach Rechts verschieben (gLl - mit Untereinträgen) - glh - Listen Eintrag nach Links verschieben (gLh - mit Untereinträgen) ---- Unterseiten anlegen ------------------- *Unterseite für Liste*: Seite erstellen: - <Enter>, + auf Wort oder Markierung - Link anlegen - <Enter> auf Link - Link folgen - <BS> - Seite zurück gehen - <Tab>, <S-Tab> - gehe zum nächsten oder vorherigen Link der Seite Liste mit `-`, `*` und Nummern erstellen. ---- *Unterseite für Tabelle*: Seite erstellen |
- ``gll`` - Listen Eintrag nach Rechts verschieben (``gLl`` - mit Untereinträgen) - ``glh`` - Listen Eintrag nach Links verschieben (``gLh`` - mit Untereinträgen) ---- Unterseite für Liste anlegen ---------------------------- Seite erstellen: und Verlinkung zeigen. - ``<Enter>``, ``+`` auf Wort oder Markierung - Link anlegen - ``<Enter>`` auf Link - Link folgen - ``<BS>`` - Seite zurück gehen - ``<Tab>``, ``<S-Tab>`` - gehe zum nächsten oder vorherigen Link der Seite Liste mit ``-``, ``*`` und Nummern erstellen. ---- Unterseite für Tabelle anlegen ------------------------------ Seite erstellen. |
Zeile 648: | Zeile 682: |
- <Enter> - nächste Zeile, oder neue Zeile erstellen - <Tab> - zur nächsten Zelle springen - <S-Tab> - zur vorherigen Zelle springen Die Größe der Zellen wird automatisch an den deren Inhalt angepasst. |
- ``<Enter>`` - nächste Zeile, oder neue Zeile erstellen - ``<Tab>`` - zur nächsten Zelle springen - ``<S-Tab>`` - zur vorherigen Zelle springen Die Größe der Zellen wird automatisch an deren Inhalt angepasst. |
Zeile 684: | Zeile 719: |
:VimwikiAll2HTML | |
Zeile 696: | Zeile 732: |
Zum einfacheren Aufrufen der Pluginfunktionen. | Zum einfacheren Aufrufen der Plugin-Funktionen. |
Zeile 706: | Zeile 742: |
Alternativ können die Funktionen auf die F-Tasten gemappt werden. ---- /* HINWEIS: Die nachfolgende Textzeile bitte nicht löschen. */ Diese Seite dient der Dokumentation des Workshops. Die Präsentationsinhalte sind unter dem Punkt ''Materialien'' verlinkt. /* HINWEIS. Dies ist eine Vorlage, die du selbst ausfüllen musst. */ /* Dazu einfach den Text in (Klammern) durch entsprechenden Text ersetzen. */ = Info = Workshoptitel:: VIM-Plugins Workshopleiter:: DaMicha Datum:: 17.02.2016 Beschreibung:: Vim als Text Editor bietet von Haus aus schon eine große Vielfalt an Funktionen zum Erstellen und Bearbeiten von Texten jeglicher Art. Aber es geht noch doller. Vims Funktionalität lässt sich über Vim-Skripte ausbauen, die sich als Plugins einbinden lassen. In diesem Vortrag wird gezeigt wie sich mit Hilfe eines Plugin-Managers die Plugins verwaltet werden. Es werden ein paar Plugins vorgestellt, die den Umgang mit Vim erleichtern und dessen Funktionalität erweitern. * Plugin Manager: pathogen * Plugins: NERDTree, Buf``Explorer, gundo, Vim``Wiki = Materialien = * (Hier Materialien verlinken; Präsentationsinhalte für Hovercraft bitte auf Unterseiten dieser Seite) |
Alternativ können die Funktionen auf die <F>-Tasten gemappt werden. |
title: | Vim-Plugins |
---|---|
Author: | DaMicha |
css: | https://wiki.hack-hro.de/talk_styles/assets/css/style2.css |
description: | Vim als Text Editor bietet von Haus aus schon eine große Vielfalt an Funktionen zum Erstellen und Bearbeiten von Texten jeglicher Art. Aber es geht noch doller. Vims Funktionalität lässt sich über Vim-Skripte ausbauen, die sich als Plugins einbinden lassen. In diesem Vortrag wird gezeigt wie sich mit Hilfe eines Plugin-Managers die Plugins verwaltet werden. Es werden einige Plugins vorgestellt, die den Umgang mit Vim erleichtern und dessen Funktionalität erweitern. Plugin Manager: pathogen Plugins: NERDTree, BufExplorer, gundo, VimWiki |
data-scale: | 0.7 |
data-transition-duration: | |
1 |
Übersicht
- Vim-Plugins Allgemein
- Plugin Manager: pathogen
- Plugins:
- netrw
- paren
- BufExplorer
- gundo
- NERDTree
- VimWiki
Vim Plugins im Allgemeinen
- Plugins sind Vim Skripte die automatisch beim Vim Start geladen werden.
- Die Skripte enden mit der Dateierweiterung *.vim.
- Es gibt globale und dateityp spezifische Vim Skripte.
- Die Skripte liegen in Unterverzeichnissen des Vim Installationspfades und des ~/.vim Verzeichnisses im Nutzer Home.
Mögliche Skriptverzeichnisse
- plugin: Vim Plugins
- ftplugin: dateityp spezifische Plugins
- syntax: dateityp spezifische Syntaxschemas
- indent: dateityp spezifische Indent-Definitionen
- colors: Farbschemas
- autoload: ermöglicht bei Bedarf das Laden von einzelnen Funktionsdefinitionen anstatt von kompletten vim Skripten
- after: Funktionen und Einstellungen, die nach dem Laden aller Plugins direkt vor der Anzeige des Buffers geladen werden
- doc: Dokumentationen zu Plugins (Zugriff über :help)
- ...
Globale Plugins
Plugins sind nicht in Vim einkompiliert, werden aber automatisch beim Vim Start geladen.
Aktive Plugins sind nicht einfach so anzeigbar, da sie aus einzelnen *.vim Skripte bestehen, die lediglich geladen werden. Stattdessen können die geladenen *.vim Skripe aufgelistet werden.
:scriptnames
Zeigt die geladenen Skripte in der Reihenfolge in der sie geladen wurden.
Standard Plugins
Werden automatisch geladen. Liegen im Vim-Installationspfad unter plugin.
- netrw: stellt einen Dateibrowser zur Verfügung und ermöglicht den Zugriff auf Dateien über das Netzwerk.
- paren: Zeige zugehörige Klammern
Vim-Installationspfad anzeigen:
:echo $VIMRUNTIME
User Plugins
Installationpfad im Nutzerverzeichnis: ~/.vim/plugin (Unix/Linux, Mac OS X)
Zur besseren Organisation sind Unterverzeichnisse für Plugins erlaubt.
filetype Plugins
Erweitern Vim um Funktionalitäten abhängig vom Filetyp einer geöffneten Datei. Wird aktiviert mit:
:filetype plugin on
Standard Plugins
Installationspfad: <Vim Installationspfad>/ftplugin
User Plugins
Installationspfad: ~/.vim/ftplugin
autoload
Verzeichnis das Vim-Skripte enthält, die direkt mittels:
call scriptname#function(param)
aufgerufen werden können.
Einfache Vim Konfiguration
.vimrc
syntax on " syntax highlighting filetype indent on " activates indenting for files " backspace in insert mode works like normal editor. allow backspace over: set backspace=indent,eol,start " indenting set smartindent " indenting as function of filetype set autoindent " std. auto indenting " wild mode for tab completion in command mode: like in the bash set wildmode=longest,list
Vim interne Plugins
- netrw
- paren
netrw
Zugriff auf Dateien über das Netzwerk:
Beim Vim-Start:
vim scp://[user@]hostname//path/to/file
Innerhalb von Vim:
- Datei editieren. Hier über scp
:e scp://[user@]hostname//path/to/file
- Datei schreiben: Hier über ftp
:w ftp://[user@]hostname//path/to/file
- Browsen im Filesystem:
:e .
paren
Hebt zugehörige Klammern hervor.
Vims User Plugins
- pathogen
- NERDTree
- BufExplorer
- gundo
- VimWiki
pathogen
Ein Vim Plugin Manager.
Es wird empfohlen einen Plugin Manager zu nutzen, da die meisten Plugins sich in den Vim Konfigurationspfaden verteilen. Mit Hilfe eines Plugin Managers wird jedes Plugin in ein eigenes Unterverzeichnis installiert.
Bei pathogen werden die Plugin-Verzeichnisse in das ~/.vim/bundle Verzeichnis installiert. Das pathogen Plugin selbst, wird in das ~/.vim/autoload installiert.
Installation laut pathogen README:
mkdir -p ~/.vim/autoload ~/.vim/bundle && \ curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
Der folgende Aufruf startet pathogen und lädt alle Plugins, die in dem bundle Verzeichnis installiert sind.
execute pathogen#infect()
Zusätzliche Konfigurationen um Syntaxhighlighting, Plugins und Indent Konfigurationen zu aktivieren:
syntax on filetype plugin indent on
Die aktuelle filetype Konfiguration kann mit
:filetype
ausgegeben werden.
Snippit für die .vimrc
" load pathogen execute pathogen#infect() syntax on " syntax highlighting filetype plugin indent on " activates plugins and indenting for files
Später, sobald ein neues Plugin in das ~/.vim/bundle Verzeichnis installiert wurde, sollte:
:Helptags
aufgerufen werden, um die Plugin-Dokumentation verfügbar zu machen.
Ergebnis der pathogen Installation prüfen:
Wie sieht filetype und welche Skripte wurden geladen?
- :filetype
- :scriptnames
NERDTree
Komfortabler Datei-Browser.
- Zeigt Dateien und Verzeichnisse in hierarchischer Baumstruktur an.
- Unterstützt Lesezeichen.
- Unterschiedliche Farben für verschiedene Strukturelemente wie Dateien, Links, Verzeichnisse, u.a.
- Einfache Tastaturkommandos zum Navigieren
Installation
Installationsanweisung von: http://www.vim.org/scripts/script.php?script_id=1658
-> besser den Vim-Plugin-Manager-Ansatz nehmen.
Git Repository in das bundle Verzeichnis installieren:
cd ~/.vim/bundle git clone https://github.com/scrooloose/nerdtree.git
Vim starten und Hilfe aktualisieren:
:Helptags
Benutzen
NERDTree öffnen/schließen:
- :NERDTree - Side-by-Side Ansicht öffnen
- q - NERDTree schließen
- e . - Aktuelles Verzeichnis im aktuellen Fenster öffnen.
Hilfe:
- ? - Kurzhilfe anzeigen und verstecken
Navigation:
- Cursortasten oder hjkl-Tasten
- o, <Enter> - Verzeichnis öffnen und schließen
- O - Verzeichnis rekursiv öffnen
- x - übergeordnetes Verzeichnis schließen
- p - das Übergeordneten Verzeichnis anwählen
- P - die Basis des Verzeichnisbaumes anwählen
Datei zum Editieren öffnen:
- o, <Enter> - Datei öffnen
- t - Datei in neuen Tab öffnen
- s, i - Datei im vertikalen oder horizontalen Split öffnen
Bookmarks:
- B - Lesezeichen anzeigen
- o, <Enter> - zu Lesezeichen springen
- :Bookmark <name> - neues Lesezeichen erstellen
- D - Lesezeichen löschen
Arbeitsverzeichnis wechseln:
- u - die Baumwurzel auf deren übergeordnetes Verzeichnis setzen
- C - Ändere Basis des Verzeichnisbaumes im NERDTree
- cd - setzte Arbeitsverzeichnis neu
Ansicht:
- I - versteckte Dateien anzeigen oder wieder verstecken
BufExplorer
Listet die Vim Buffers und ermöglicht die einfache Auswahl eines der Buffer.
Normales arbeiten mit Buffer:
- :buffers - Liste vorhandene Buffer
- :b[uffer] [N] - bearbeite Buffer N
- :bn[ext] - wähle nächsten Buffer
- :bp[rev] - wähle vorherigen Buffer
- :bd[elete] [N] - schließt Buffer N
Installation
Auch hier, das Git Repository in das bundle Verzeichnis installieren:
cd ~/.vim/bundle git clone https://github.com/jlanzarotta/bufexplorer.git
Vim starten und Hilfe aktualisieren:
:Helptags
Benutzen
BufExplorer öffnen/schließen:
- :BufExplorer oder \be - öffnen und vorhandene Buffer anzeigen
- q - BufExplorer schließen
Hilfe:
- F1 - Kurzhilfe anzeigen und verstecken
Navigation:
- Cursortasten oder hjkl-Tasten
- o, <Enter> - Buffer öffnen
- t - Buffer in neuem Tab öffnen
- d - Buffer schließen
gundo
Vim legt nicht nur eine lineare Editier-History an, sondern speichert die Änderungen in einen Baum, so dass sämtliche gemachten Änderungen wiederhergestellt werden können.
Arbeiten mit der Vim-Editier-History:
- u - (undo) letzte Änderung rückgängig machen
- Ctrl-R - (redo) eine Rückgängig gemachte Änderung zurücknehmen
- :undolist
gundo hingegen zeigt den Vims History-Baum und lässt den Nutzer durch die History browsen.
Installation
Git Repository in das bundle Verzeichnis installieren:
cd ~/.vim/bundle git clone http://github.com/sjl/gundo.vim.git
Vim starten und Hilfe aktualisieren:
:Helptags
Benutzen
Öffnen/Schließen:
- :GundoShow - öffnen
- :GundoToggle - öffnen/schließen
- :GundoHide, q - schließen
Navigation:
- Cursortasten oder jk-Tasten
- o, <Enter> - Änderung auswählen
Zusätzliche Undo Konfiguration
- undofile - Lege Undo-Dateien an
- undodir - Verzeichnis für undo Dateien
" undofile and undodir settings if exists("+undofile") " undofile - This allows you to use undos after exiting and restarting. " This uses .vim-undo first, then ~/.vim/undo " :help undo-persistence " This is only present in 7.3+ if isdirectory($HOME . '/.vim/undo') == 0 :silent !mkdir -p ~/.vim/undo > /dev/null 2>&1 endif set undodir=./.vim-undo//,~/.vim/undo// set undofile endif
vimwiki
Unterstützt das Anlegen und Verwalten von Projektdokumentationen.
Funktionalität:
- Benutzt eigenen aber einfachen Markdown Syntax.
- Einfaches Anlegen und Verwalten von ToDo-Listen.
- Komfortables Erstellen und Bearbeiten von Tabellen.
- VimWiki Dokumente können untereinander verlinkt werden.
- Aus den VimWiki Dokumenten können HTML Seiten generieren werden.
Installation
Git Repository in das bundle Verzeichnis installieren:
cd ~/.vim/bundle git clone https://github.com/vimwiki/vimwiki.git
Vim starten und Hilfe aktualisieren:
:Helptags
Benutzen anhand eines Beispiels
Markdown - Syntax:
= Header1 = == Header2 == === Header3 === *bold* -- bold text _italic_ -- italic text * Bullet List Item - Bullet List item - Bullet List item
Markdown - Syntax:
[[VimWiki-Link|Bescheibung]] | Nummer | Beschreibung | |--------|--------------| | 1 | Eins | | 2 | Zwei |
Als Beispiel ein neues Projekt anlegen.
Datei: readme.wiki
Überschrift und Beschreibung einfügen.
Überschriften lassen sich mittels = und - in ihrer Hierarchiestufe festlegen.
Hier mal die Projektbeschreibung als fetter Text.
TODO Liste anlegen:
- Unterseite für
- Liste
- Tabelle
- HTML generieren
Checkboxen in Listen
Checkboxen zur TODO Liste hinzufügen:
- <C-Space> - Checkbox an, toggle Status: offen, erledigt
- gl<Space> - Checkbox entfernen
Hierarchieebene des Listeneintrag ändern:
- gll - Listen Eintrag nach Rechts verschieben (gLl - mit Untereinträgen)
- glh - Listen Eintrag nach Links verschieben (gLh - mit Untereinträgen)
Unterseite für Liste anlegen
Seite erstellen: und Verlinkung zeigen.
- <Enter>, + auf Wort oder Markierung - Link anlegen
- <Enter> auf Link - Link folgen
- <BS> - Seite zurück gehen
- <Tab>, <S-Tab> - gehe zum nächsten oder vorherigen Link der Seite
Liste mit -, * und Nummern erstellen.
Unterseite für Tabelle anlegen
Seite erstellen.
Einfache Tabelle manuell erstellen.
| Nr | Name | |----|------| | 1 | eins | | 2 | zwei |
Sich zwischen den Zellen bewegen (im Insert Mode):
- <Enter> - nächste Zeile, oder neue Zeile erstellen
- <Tab> - zur nächsten Zelle springen
- <S-Tab> - zur vorherigen Zelle springen
Die Größe der Zellen wird automatisch an deren Inhalt angepasst.
Tabelle mit 3 Spalten und 4 Zeilen erstellen.
:VimwikiTable 3 4
Lässt sich dann füllen mit:
| Nr | Name | Beschreibung | |-----|------|--------------| | 1 | eins | ne eins | | 2 | zwei | ne zwei | | ... | | | | | | |
HTML generieren
generieren:
:Vimwiki2HTML :VimwikiAll2HTML
generieren und im Browser aufrufen:
:Vimwiki2HTMLBrowse
Extra Konfigurationen
Zum einfacheren Aufrufen der Plugin-Funktionen.
nmap \g :GundoToggle<CR> nmap \n :NERDTreeToggle<CR> " \bs, \be, .. Are already used by BufExplorer nmap \bb :b#<CR>
Alternativ können die Funktionen auf die <F>-Tasten gemappt werden.