--withborder --fgcolor blue --bgcolor white --##author Dominik Bacher --##title Vi IMproved --date today --footer Dominik Bacher - ViImproved --##header ViIMproved --- --beginslidetop --color red __ ___ ___ __ __ _ \ \ / (_) |_ _| \/ |_ __ _ __ _____ _____ __| | \ \ / /| | | || |\/| | '_ \| '__/ _ \ \ / / _ \/ _` | \ V / | | | || | | | |_) | | | (_) \ V / __/ (_| | \_/ |_| |___|_| |_| .__/|_| \___/ \_/ \___|\__,_| |_| --color blue --endslidetop --##--------------------------------------------------------------------------- --newpage agenda --heading Agenda --beginoutput * Was ist Vim --- * Die wichtigesen Befehle --- * Navigation und Fenster --- * Text Markieren und Kopieren --- * Textbearbeitung --- * Shell / Make --- * Bookmarks --- * Programmieren mit Vim --- * Macros --- * Faltung --endoutput --##- Was ist Vimm ------------------------------------------------------------ --newpage Vim --heading Vim --beginshelloutput * Weiterentwicklung des Texteditors vi * 1991 von Bram Mooleaar veroeffentlicht * Unterscheidet sich zu den meisten Editoren durch verschiedene Betriebs-Modi (Eingabe- und Befehlsmmodus) * laesst sich komplet ohne Tastatur bedienen --- * mit 10 Finger!!! --endshelloutput --##- Die wichtigesen Befehle ------------------------------------------------- --newpage Die wichtigesen Befehle --heading Die wichtigesen --beginoutput * :q - Programm beenden * :w - Speichern * :q! - Programm beenden ohne zu speichern * > - nach rechts einruecken * < - nach links einruecken * ! - durch externes Kommando filtern * ~ - tauscht gross klein schreibung * gq - formatieren (Blocksatz) --endoutput --- --beginoutput * :21,42w datei - Speichert Zeile 21 bis 42 in neue datei * :21,42w >> datei - haengt die Zeilen an eine datei an * :w !lp - gibt die datei direkt an Drucker weiter --endoutput --##- Navigation und Fenster -------------------------------------------------- --newpage Navigation und Fenster --heading Navigation und Fenster --beginoutput * :split * :Ex(plorer) * :Sex/Vex/Hex(plorer) --endoutput --- --beginshelloutput $ vim -o datei1 datei2 ... - horizontal split --- $ vim -O datei1 datei2 ... - vertical split --- $ vim -d datei1 datei2 - diff modus --endshelloutput --- --beginshelloutput <<<<<<< .mine $ vim +10 .ssh/known_hosts ======= $ vim +10 ~/.ssh/known_hosts >>>>>>> .r178 --- $ vim +/install README --endshelloutput --newpage --beginoutput * :n :N :3n 3N :rew :last --- * :files --endoutput --- --beginoutput * zt - aktuelle Zeile nach oben scrollen * zz - aktuelle Zeile in die mitte scrollen * zb - aktuelle Zeile nach unten scrollen --endoutput --- --beginoutput [strg] + [w] - Zwischen Fenster wechseln --endoutput --##- Text Markieren und Kopieren --------------------------------------------- --newpage Text markieren und kopieren --heading Text markieren und kopieren --beginoutput * V - Zeilenweise markieren * v - Zeichenweise markieren * gv - markierung erneuert aktivieren --endoutput --- --beginoutput * y5y - 5 zeilen kopiere * p - hinter courser einfuegen * P - vor courser einfugen * d5d - 5 zeilen ausschneiden * [d][d][p] - zeilen vertausen * [x][p] - zeichen vertauschen * ["]+[*]+[p] - aus systembuffer einfuegen * ["]+[*]+[y]+[3]+[w] - in systembuffer schreiben --endoutput --##- Textbearbeitung --------------------------------------------------------- --newpage Textbearbeitung --heading Textbearbeitung --beginoutput * [strg] + [n] * [strg] + [p] Wortvervollstaendigung --endoutput --- --beginoutput * gf - Datei unter dem Cursor editieren * # * - Wort unter dem Cursor suchen * / - Datei durchsuchen --endoutput --- --beginoutput * :set spell - Rechtschreibpruefung * :set spelllang - Sprache angeben --endoutput --##- Shell / Make ------------------------------------------------------------ --newpage Shell / Make --heading Shell / Make --beginoutput * :!ls * :r !ls --endoutput --- --beginoutput * :make * :cn :cp - zwischen Fehler springen * :cl :cf - Fehlerliste ausgeben --endoutput --##- Bookmarks --------------------------------------------------------------- --newpage Bookmarks --heading Bookmarks --beginoutput * ma - bookmark a erstellen * `a - springt zur linie * ms - verschiebt text an bookmark * me - fuegt text an ende der Zeile ein * :marks - infos zu bookmarks --endoutput --- --beginoutput * [ - Springt an anfang der letzten aenderung * ] - Springt ans ender der letzten aenderung * $ - Zeilenende * ^ - Zeilenanfang * [strg] + [o] - voherige courser position * [tab] - zurueckspringen --endoutput --##- Programmieren mit Vim --------------------------------------------------- --newpage Programmieren mit Vim --heading Programmieren mit Vim --beginoutput * w/e/b - in Klammmern springen --endoutput --- --beginoutput * :sy on/off * :set syntax=wiki * :set list/nolist - zeilenende anzeigen --endoutput --- --beginoutput --boldon ctag: --boldoff * :TlistAddFiles * :TlistAddFilesRecursive * :Tlist --endoutput --##- Macros ------------------------------------------------------------------ --newpage Macros --heading Macros --endoutput * qa - Macro aufzeichnen * q - Aufzeichnung beenden * 5@a - wendet die aufzeichnung 5 mal an --beginoutput --##- Faltung ----------------------------------------------------------------- --newpage Faltung --heading Faltung --beginoutput * zf - Faltung erzeugen * zd zE - loescht Faltung (kanzes file) * zo zc zO zC - Faltung oefnen/schliesen (rekursiv) * [z ]z - zum Anfang/Ende springen --endoutput --- --beginoutput * set foldmethod= --- * manual - manuel und nicht speichern * indent - anhand der einrueckung * expr - anhand der verschachtelung * syntax - Syntax-Hilighting bestimmt faltbare Regionen * marker - manuel und speichern --endoutput --- --beginoutput * :mkview * :loadview --endoutput --##- Files Verschluesseln ---------------------------------------------------- --newpage Verschluesselung --heading Verschluesseln --beginoutput * :set key=lalala --endoutput --##- Taschenrechner ---------------------------------------------------------- --newpage Taschenrechner --heading Taschenrechner --beginoutput * [strg] + [r] + [=] --endoutput --- --beginoutput * [strg] + [a] - inkrementieren * [strg] + [x] - dekrementieren --endoutput --##- Sonstiges --------------------------------------------------------------- --newpage Sonstiges --heading Sonstiges --beginoutput * [strg] + [v] 065 * [strg] + [v] x41 --endoutput --- --beginoutput * :e scp://host/datei --endoutput --## .vimrc ------------------------------------------------------------------- --newpage .vimrc --heading .vimrc --beginoutput * set shell=bash * set background=dark * syntax on * set wildmenu * set tabstop=2 * set shiftwidth=2 * set expandtab * set number * set showmode * --endoutput --##- Addons ------------------------------------------------------------------ --newpage Addons --heading Addons --beginoutput * wildmenu * ctag * minibuffexplorer --endoutput --- --beginoutput * Vimperator extension fuer Firefox * Vi plugin fuer Firefox * set -o vi / bindkey -v - vi in bash/zsh --endoutput --##- Beispiele --------------------------------------------------------------- --newpage Beispiele Sortieren: Hans Bob Peter Andreas Makros: Nummerieren: umbauen: Auskommentieren: --##--------------------------------------------------------------------------- --newpage quellen --heading Quellen * http://www.ngolde.de/tpp.html * http://www.linux-user.de/ausgabe/2004/11/052-tpp/index.html * http://www-user.tu-chemnitz.de/~hot/VIM/Tips_und_Tricks.html * http://www.friedhoff.org/playingvim.html * http://www.stellwag.eu/2005/08/22/hack-4-ein-paar-shorties/ * http://www.habermann-net.de/de/ide.html * http://www.faqs.org/docs/Linux-HOWTO/C-editing-with-VIM-HOWTO.html