C++ und vi/vim

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

C++ und vi/vim

Beitrag von Duff » 14.02.2008 12:38:43

Hallo,

ich muss einfach nochmal nachfragen.
Und zwar möchte ich mir die Sprache C++ ein wenig genauer anschauen und die Programme (Klassen- und Header-Dateien) mit einem editor schreiben.

Habe bisher noch nichts gefunden, was mich überzeugen konnte. Am liebsten würde ich das ganze im vi/vim realisieren. Doch gerne möchte ich auch mal die vorzüge von Code-Completion usw. nutzen können.

Habe in einem älteren/ähnlichen Thread damals diesen Link [1] genannt bekommen.
Aber irgendwie funktioniert es bei mir nicht wirklich.

Gibt es sonst noch Plugins, Einstellungen für den vi/vim???

[1] http://www.vim.org/scripts/script.php?script_id=1520
Oh, yeah!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 14.02.2008 17:28:43

Oder wie programmiert ihr in C++?
Oh, yeah!

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Beitrag von Meillo » 14.02.2008 17:43:46

Duff hat geschrieben:Oder wie programmiert ihr in C++?
Ich programmiere C mit:
- dem Vim
- dem "Kernighan & Ritchie" neben mir

btw: Code-Completion ist was für ... ;-) *SCNR*
Use ed once in a while!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 14.02.2008 17:54:54

Meillo hat geschrieben:
Duff hat geschrieben:Oder wie programmiert ihr in C++?
Ich programmiere C mit:
- dem Vim
- dem "Kernighan & Ritchie" neben mir
Was meinst du denn damit?
Hast du spezielle Einstellungen für den vim gespeichert?

Was ich mit Code-Completion meinte (weiß nicht ob es das richtige Wort dafür ist) sind so Sachen wie myObjectA. und dann bekomme ich die ganzen möglichen Methoden angezeigt.
Oh, yeah!

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Beitrag von Meillo » 14.02.2008 18:45:13

Duff hat geschrieben:Hast du spezielle Einstellungen für den vim gespeichert?
ich habe ':set cindent', sonst nichts besonderes.
Was ich mit Code-Completion meinte (weiß nicht ob es das richtige Wort dafür ist) sind so Sachen wie myObjectA. und dann bekomme ich die ganzen möglichen Methoden angezeigt.
Ja. ... ich programmiere wie gesagt C, da gibt's keine OO, und damit diese Anforderung nicht. Das meinte ich (nicht ohne schmunzeln ;-) )

... bei deinem Problem kann ich leider nicht weiterhelfen.

Und ich sehe ein, dass dieses Problem bei großen Anwendungen auch wirklich existiert. Wenn du nur eine Handvoll Klassen und Methoden hast, dann finde ich sollte man sein Programm im Kopf haben.
Denn dieses "Ctrl-Space"-Programmieren (der entsprechende Shortcut bei Eclipse) deutet oft auf "ich weiß auch nicht so recht was ich da tue" hin. (Ausnahme: große Projekte)
Use ed once in a while!

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Beitrag von mauser » 14.02.2008 19:49:56

Hey,

ich würde vorsichtig mal kdevelop in den Raum werfen. Das Programm ist interessant, aber ich vermute für einen Anfänger etwas zu überladen. Schön ist z.b. das man dort Compiler, Editor und Debugger unter einem Hut hat. Wenn du damit klar kommst ist es vll. interessant, aber es ist schon arg komplex am Anfang. Lohnt sich eigentlich nur bei grösseren Projekten..

Für kleinere Sachen greife ich auch immer zu vim. Code-completion ist da leider nicht drin, zumindest nicht über das hinaus was vim eh schon eingebaut hat (ctrl-p / vim 7). Aber wenn man nicht so oft damit arbeitet ist es doch auch nicht unbedingt nötig.
Wenn gleich es eine schöne Spielerei ist :)
Ich habe noch ein paar Shortcuts verbaut, z.b. für make.

Als Debugger eignet sich natürlich wieder der gdb. Du findest dafür auch ein paar grafische Frontends in den Repositories.

Gruss,
mauser

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 15.02.2008 08:31:47

Erst mal danke für die Antworten.

Den Befehl ctrl-p in vim kenne ich nicht. Werde ich mir aber mal anschauen bzw. ausprobieren.
Da ich noch beim Erlernen der Sprache bin, handelt es sich um kleine Projekte.

Habe auch mal das Programm geany probiert.

Kann mich aber einfach nicht entscheiden.
Oh, yeah!

Benutzeravatar
KabelSalat
Beiträge: 167
Registriert: 15.12.2002 14:46:41
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Beitrag von KabelSalat » 15.02.2008 08:57:15

Hallo Duff,

schaue dir mal die Seite an, das sollte in die Richtung gehen:

http://vim.sourceforge.net/scripts/scri ... ipt_id=213

HTH

goecke
Beiträge: 289
Registriert: 12.01.2007 11:57:27

Beitrag von goecke » 15.02.2008 09:08:59

Hi,

ich glaube du suchst

http://ctags.sourceforge.net/
http://www.vim.org/scripts/script.php?script_id=1520

habe ich beruflich unter Win laufen, sollte aber unter debian kein Problem darstellen

gruß
Johannes

PS:
Auf vim.org gibts viele plugins und makros z.B. align um Quellcode auszurichten

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 15.02.2008 09:16:17

Danke, sieht gut aus, aber ich bekomme es nicht hin.

Habe es wie es beschrieben ist gemacht. Das Verzeichnis .vim erstellt und
Copy the zip archive cvim.zip to $HOME/.vim/ and run
unzip cvim.zip
Wenn ich allerdings danach ein

Code: Alles auswählen

:h csupport
eingebe, wird nichts gefunden.

Was mache ich falsch???
Oh, yeah!

Benutzeravatar
KabelSalat
Beiträge: 167
Registriert: 15.12.2002 14:46:41
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Beitrag von KabelSalat » 15.02.2008 09:33:59

Hallo Duff,

ich glaube es wird auch keine direkte Hilfe angezeigt, bei mir geht es auch nicht.
Versuche mal

Code: Alles auswählen

vim foo.cpp
Dann sollte eigentlich schon der von dir editierte Kopf erscheinen.

Die Dateien sollten alle in deinem Home-Verzeichnis sein, schau dir dort mal die doc. und readme an.

HTH

goecke
Beiträge: 289
Registriert: 12.01.2007 11:57:27

Beitrag von goecke » 15.02.2008 09:45:59

[EDIT]
oh ich habe den Post von KabelSalat nicht gesehen.
die antwort bezieht sich auf meinen Post.
Welche Methode schöner schneller eleganter ist weiß ich nicht.-
[/EDIT]


äh hast du das richtige Plugin "OmniCppComplete" Scriptid = 1520

dann müssen im ~/.vim/ directory die folgenden Dateien enthalten sein.

Code: Alles auswählen

after/ftplugin/c.vim     
after/ftplugin/cpp.vim   
autoload/omni/common/debug.vim   
autoload/omni/common/utils.vim   
autoload/omni/cpp/complete.vim   
autoload/omni/cpp/includes.vim   
autoload/omni/cpp/items.vim   
autoload/omni/cpp/maycomplete.vim   
autoload/omni/cpp/namespaces.vim   
autoload/omni/cpp/settings.vim   
autoload/omni/cpp/tenizer.vim   
autoload/omni/cpp/utils.vim   
doc/omnicppcomplete.txt   
dann im Vim ein

Code: Alles auswählen

:helptags $HOME/.vim/doc 
:h omnicppcomplete 
und er sollte die hilfe zeigen.

wenn dann noch in der vim-Variable "tags" ein verweis auf deine tags datei steht sollte es IMHO funktionieren

HTH
Johannes

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 15.02.2008 10:01:10

KabelSalat hat geschrieben:Hallo Duff,

ich glaube es wird auch keine direkte Hilfe angezeigt, bei mir geht es auch nicht.
Versuche mal

Code: Alles auswählen

vim foo.cpp
Dann sollte eigentlich schon der von dir editierte Kopf erscheinen.

Die Dateien sollten alle in deinem Home-Verzeichnis sein, schau dir dort mal die doc. und readme an.

HTH
Sorry, aber wie genau meinst du das?
Welcher editiert Kopf?
Oh, yeah!

Benutzeravatar
KabelSalat
Beiträge: 167
Registriert: 15.12.2002 14:46:41
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Beitrag von KabelSalat » 15.02.2008 10:57:34

Hallo,

dieser Kopf einer c- oder cpp- Datei wird automatisch erstellt.

Code: Alles auswählen

/*


/*
 * =====================================================================================
 *
 *       Filename:  foo.cpp
 *
 *    Description:  
 *
 *        Version:  1.0
 *        Created:  15.02.2008 17:53:02 CST
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  XXX XXX (XX), linux@xxxxx.de
 *        Company:  
 *
 * =====================================================================================
 */


Das meinte ich.

Daran kannst du dann erkennen, dass das plugin läuft.

HTH

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 15.02.2008 11:08:05

Ok, dann hat das bei mir nicht funktioniert.

Weil der Kopf wird nicht automatisch gefüllt.
Oh, yeah!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 16.02.2008 10:40:58

goecke hat geschrieben:
dann im Vim ein

Code: Alles auswählen

:helptags $HOME/.vim/doc 
:h omnicppcomplete 
und er sollte die hilfe zeigen.

wenn dann noch in der vim-Variable "tags" ein verweis auf deine tags datei steht sollte es IMHO funktionieren

HTH
Johannes
Ok, dass mit dem Kopf funktioniert noch nicht, aber die Hilfe konnte ich nun aufrufen.

Was meinst du bitte genau mit der vim-Variablen "tags" und dem Verweis?
Oh, yeah!

Antworten