= Editoren = C++ Programme sind einfach Text in einer Datei; der C++ Kompiler (wir benutzen ''g++'') übersetzt diese dann in ausführbaren Maschinencode. Sie können diese Dateien mit einem Editor Ihrer Wahl bearbeiten. In der Vorlesung benutzen wir den Editor http://www.vim.org/Vim. Auf dieser Seite ein paar Kurzanleitungen zu den wichtigsten Editoren, die die Leute so zum Programme schreiben benutzen. == Vim == Was man über Vim als erstes wissen sollte, wenn man ihn benutzt, ist dass er zwei Modi hat: einen sogenannten ''insert mode'' in dem man Text eingibt, wie man das von einem normalen Editor bzw. Textverarbeitungsprogramm gewohnt ist, und einen ''command mode'' in dem man Befehle eingibt wie Speichern, Text ausschneiden / einfügen, etc. Hier eine Liste der wichtigsten Befehle, die man am Anfang braucht. Ob man im ''command mode'' oder im ''insert mode'' ist erkennt man an der Form des Cursors, welche Formen das bei Ihnen sind werden Sie schnell herausbekommen. [[attachment:vimrc.txt|Hier die persönliche .vimrc von Hannah Bast mit allen möglichen praktischen Tastenbelegungen für die Sachen die man häufig braucht]]. Einfach in das Home Verzeichnis kopieren. Unter Linux muss die Datei ''.vimrc'' heißen, unter Windows ''_vimrc''. ''':help (im command mode)''': Vim hat eine eingebaute Dokumentation und Hilfefunktion, wo alles, aber auch wirklich alles, drinsteht. Machen Sie als erstes ruhig mal '':help'' und lesen Sie sich durch was da alles so steht. '''i (im command mode)''': Wenn man im ''command mode'' ist (der default wenn man den Editor startet), wechselt man mit ''i'' in den ''insert mode''. Im ''insert mode'' kann man ganz normal Text eingeben. Mit ''ESC'' (Escape-Taste) wechselt man wieder in den ''command mode''. '''ESC (im insert mode)''': Wie gesagt, wenn man im ''insert mode'' ist wechselt ''ESC'' zurück in den ''command mode''.Dort können unter anderem folgende Befehle verwendet werden. ||||'''Datei- und Programmbefehle''' || ||''':e <
> ''' ||Öffne Datei || ||''':w<
> ''' ||Speichert Datei || ||''':w <
> ''' ||Speichern unter || ||''':q''' ||Den Editor verlassen. Wenn die letzte Version der Datei nicht gespeichert ist, gibt es Mecker. Wenn mehrere Dateien offen sind (siehe '':sp'' unten) dann schließt '':q'' das aktuelle Fenster. || ||''':wq''' ||Kann man einfach ganz simpel die zwei Befehle zu speichern und schließen kombinieren, sehr praktisch. || ||''':q! ''' ||Datei schließen und Änderungen verwerfen. || ||''':sp ''' ||Fenster wird gespalten und in dem neuen Bereich wird die Datei geöffnet. || ||''':tabnew ''' ||Datei in einem neuen (horizontalen - wie im Browser) Tab öffnen || ||||'''Editierbefehle''' || ||'''yy ''' ||Kopiere aktuelle Zeile || ||'''nyy ''' ||Kopiere n Zeilen || ||'''p ''' ||Kopierte Zeile(n) einfügen || ||'''dd''' ||Lösche aktuelle Zeile || ||'''ndd''' ||Lösche n Zeilen || ||'''dw''' ||Lösche ab hier bis zum nächsten Wort || ||cw ||Löscht bis zum nächsten Wort und wechselt in den ''insert mode'' || ||o / O ||Neue Zeile unten / Oben einfügen und in ''insert mode ''wechseln || ||||'''Ansichtbefehle''' || ||''':v''' ||Öffnet den sogenannten visual mode || ||''':se nu''' ''':set number''' ||Zeilennummern anzeigen. Wenn man das nicht will, einfach '':se nonu'' bzw.'' :set nonumber'' || ||:so $VIMRUNTIME/syntax/cpp.vim ||Syntax für C++ markieren || ||Ctrl+W ||Bei gespaltenem Fenster ein Fenster höher gehen. || ||Ctrl+W ||Bei gespaltenem Fenster ein Fenster tiefer gehen || ||Ctrl+W _ ||Bei gespaltenem Fenster aktuelle Datei ins Vollbild zoomen || ||F4 ||Switch zwischen *.h und *.cpp Datei. Vorher speichern, sonst gibts Ärger. (Funktioniert nur mit vimrc) || ||Strg-K ||Bei mehreren geöffneten Dokumenten Tabs nach oben im Vollbildmodus durchswitchen (Funktioniert nur mit vimrc) || ||'''Strg-M''' ||Bei mehreren geöffneten Dokumenten Tabs vertikal nach unten im Vollbildmodus durchswitchen (Funktioniert nur mit vimrc) || ||Strg-BildUp/Down ||Bei mehreren geöffneten (horizontalen) Tabs durchswitchen || == Nano == [[http://wiki.ubuntuusers.de/Nano|Wiki von ubuntuusers.de zu Nano]] == gedit (GUI text editor) == [[http://wiki.ubuntuusers.de/gedit|Wiki von ubuntuusers.de zu gedit]] == Emacs == Diejenigen die Emacs benutzen - es gibt ein google-style file fuer Emacs. Dann muss man sich nicht staendig aergern, dass man Tabs gemacht hat statt Leerzeichen... http://google-styleguide.googlecode.com/svn/trunk/google-c-style.el