AD Teaching Wiki:

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 den Vorlesungen benutzen wir den Editor Vim. Auf dieser Seite finden Sie 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.

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 <filename>

Öffne Datei <filename>

:w

Speichert Datei

:w <filename>

Speichern unter <filename>

: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 <file>

Fenster wird gespalten und in dem neuen Bereich wird die Datei <file> geöffnet.

:tabnew <file>

Datei <file> 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 <Pfeil nach oben>

Bei gespaltenem Fenster ein Fenster höher gehen.

Ctrl+W <Pfeil nach unten>

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

Wiki von ubuntuusers.de zu Nano

gedit (GUI text editor)

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

AD Teaching Wiki: Editoren (last edited 2017-10-12 18:12:35 by adpult)