Hallo zusammen,
ich suche einen guten Texteditor für Linux. Bisher verwendete ich Geany
oder gedit, aber ist nicht so zufriedenstellend ... als ich noch Win
hatte, war immer Notepad++ mein Editor. Der ist aber auch nicht so
optimal. Am besten gefallen würde mir sowas:
http://www.sublimetext.com/
den würde ich sogar kaufen, aber ich habe kein Paypal, dann wird es
sofort kompliziert :-( die Testversion läuft zwar unbeschränkt lange,
nervt aber mit einem Popup Window.
Gibt es einen vergleichbaren Editor, wenns geht kostenlos?
Sollte wirklich geeignet sein für Code Editieren, C, C++, VHDL. Und wenn
man noch externe Tools einbinden könnte, die man dann über ein Menü
aufrufen kann, wärs perfekt. Was gibt es noch so? was benutzt ihr?
Gruss: Tobias
Hi,
was vemisst du denn an Geany. Kannst du das ein wenig genauer
ausdrücken? Sonst kann man dir da 1000Vorschläge machen.
PS: Ich find Joe ganz gut.
Grüße,
Tobias schrieb:> Was gibt es noch so? was benutzt ihr?
warum nicht mal die beiden sehr bekannten Editoren anschauen vim und
emacs?
Es gibt für den VIM sogar ein dokus wie man ihn als programmieren
verwenden kann.
Beide editoren kann man beliebig anpassen. Welche funktionen brauchst du
denn?
VIM mit ein paar Plugins lässt keine Wünsche mehr offen. Es braucht zwar
etwas Einarbeitungszeit, hat man das aber einmal drin, ist er sehr
effizient.
Grüsse,
René
> Sollte wirklich geeignet sein für Code Editieren, C, C++, VHDL.
Code editiert man nicht, Code entwickelt man.
Und deswegen nimmt man dafür auch keinen Editor, sondern eine
Integrierte Entwicklungsumgebung (IDE).
Emacs.
Ist über Plugins erweiterbar, und es gibt für so ziemlich jede
(Programmier-) Sprache ein Plugin.
ich arbeite seit mehr als 20 Jahren damit, und könnte mir ein Leben ohne
Emacs nicht mehr vorstellen.
man sagt, der Emacs wäre ein tolles Betriebssystem, das einzige was ihm
fehlt wäre ein passabler Editor :-)
Thomas schrieb:> Code editiert man nicht, Code entwickelt man.>> Und deswegen nimmt man dafür auch keinen Editor, sondern eine> Integrierte Entwicklungsumgebung (IDE).
warum sollte man keine (Quell)code editieren können?
Und nicht jeder will eine übladene IDE haben wo man erst alles
abschalten muss um überhaupt sinnvoll arbeiten zu können. (ich kann
meine Klammern selber schließen und brauche dafür keine hilfe1)
Peter II schrieb:> warum nicht mal die beiden sehr bekannten Editoren anschauen vim und> emacs?
Lustig: immer, wenn jemand für Linux einen guten Editor sucht, schlägt
garantiert irgendwann jemand EMACS oder VIM vor.
Wer glaubt denn nicht, daß jemand, der für Linux einen Editor sucht,
schon längst von den beiden gehört hat und gerade deswegen nach einen
vernünftigen Editor sucht ;-)
Also ich habe mir Emacs natürlich angeschaut. Was mir fehlt:
- keine Tabs. Das ist ziemlich gewöhnungsbedürftig?
- Syntaxhighlighting ist OK, aber zusammengehörende Klammern werden
nicht hervorgehoben (in Geany z.B. kann man eine Klammer markieren, die
andere wird dann auch hervorgehoben - nützlich wenn man z.B. in C viele
Verschachtelungsebenen hat.)
- was ich bei Notepad++ besonders toll fand: wenn man auf ein Wort
doppelklickt, dann werden alle Vorkommnisse des Worts farbig
hervorgehoben. Kein Editor kann das unter Linux, jedenfalls keiner den
ich bisher angeschaut habe ... kann man es in Emacs?
Tobias schrieb:> - was ich bei Notepad++ besonders toll fand: wenn man auf ein Wort> doppelklickt, dann werden alle Vorkommnisse des Worts farbig> hervorgehoben. Kein Editor kann das unter Linux, jedenfalls keiner den> ich bisher angeschaut habe ... kann man es in Emacs?
Nun ja, der Eine mag so ein Feature, der Andere kann's nicht ausstehen,
wenn der Quelltext dauert blinkt und flimmert. Du wirst Dir schwertun,
einen Editor zu finden, der alles so macht, wie Du's Dir vorstellst.
Tobias schrieb:> keine Tabs. Das ist ziemlich gewöhnungsbedürftig?
kann ich mir kaum vorstellen, aber wenn der quelltext überall gleich
ausehen soll verwendet man eh keine Tabs.
> was ich bei Notepad++ besonders toll fand: wenn man auf ein Wort> doppelklickt, dann werden alle Vorkommnisse des Worts farbig> hervorgehoben. Kein Editor kann das unter Linux, jedenfalls keiner den> ich bisher angeschaut habe
also VIM kann das.
http://stackoverflow.com/questions/3431184/vim-highlight-all-occurrence-of-a-selected-word
(braucht dafür nicht mal in doppelklick ein * reicht)
> Syntaxhighlighting ist OK, aber zusammengehörende Klammern werden> nicht hervorgehoben (in Geany z.B. kann man eine Klammer markieren, die> andere wird dann auch hervorgehoben - nützlich wenn man z.B. in C viele> Verschachtelungsebenen hat.)
geht auch im VIM man kann sogar einfach zur andere klammer springen.
VIM wird wohl alles können was du brauchst, dafür musst man aber bereit
sein die doku zu lesen.
Thomas schrieb:>> Sollte wirklich geeignet sein für Code Editieren, C, C++, VHDL.>> Code editiert man nicht, Code entwickelt man.
Nope, Programme/Designs werden entwicklelt, Code wird editiert.
> Und deswegen nimmt man dafür auch keinen Editor, sondern eine> Integrierte Entwicklungsumgebung (IDE).
Nope, man setzt seine Toolchain selber auf:
Editor,Compiler, versionsverwaltung, skripte
Mit einer IDE ist man hinsichtlich der Prozesse dem IDE-anbieter völlig
ausgeliefert. Das mag für Einstieger günstig sein, der Profi wird nur
behindert.
MfG
Tobias schrieb:> Also ich habe mir Emacs natürlich angeschaut. Was mir fehlt:>> - keine Tabs. Das ist ziemlich gewöhnungsbedürftig?
Esc-X tabbar-mode
(falls du den tabbar-mode installiert hast)
> - Syntaxhighlighting ist OK, aber zusammengehörende Klammern werden> nicht hervorgehoben (in Geany z.B. kann man eine Klammer markieren, die> andere wird dann auch hervorgehoben - nützlich wenn man z.B. in C viele> Verschachtelungsebenen hat.)
Esc-X show-paren-mode
> - was ich bei Notepad++ besonders toll fand: wenn man auf ein Wort> doppelklickt, dann werden alle Vorkommnisse des Worts farbig> hervorgehoben. Kein Editor kann das unter Linux, jedenfalls keiner den> ich bisher angeschaut habe ... kann man es in Emacs?
Esc-X highlight-phrase (ob man das automatisieren kann mag ich jetzt
nicht raussuchen) Dafür kann man auch regesps highlighten, oder alle
zeilen als ganzes die einen regex enthalten oder oder oder...
Lass dich blos nicht von den VIM und Emacs Jüngern beeinflussen.
Das sind beides Relikte aus der Computersteinzeit.
Beide werden heute nur noch von ergrauten Computernostalgikern genutzt
die sich beharrlich dem Fortschritt verweigern.
Thomas schrieb:> Beide werden heute nur noch von ergrauten Computernostalgikern genutzt> die sich beharrlich dem Fortschritt verweigern.
der Nachwuchs arbeiten nur noch mit Toucscreen und ordnet fertige
Programmbausteine nur noch neu an, und denkt das ist Programmieren.
Thomas schrieb:> Lass dich blos nicht von den VIM und Emacs Jüngern beeinflussen.> Das sind beides Relikte aus der Computersteinzeit.> Beide werden heute nur noch von ergrauten Computernostalgikern genutzt> die sich beharrlich dem Fortschritt verweigern.
Du hast wahrscheinlich vollkommen recht.
Was verwendet der junge, dynamische, fortschrittliche, erfolglose Hacker
von Heute?
Ich nutze (da ich Notepad++ auch schmerzhaft vermisse) mEdit. Ist immer
noch nicht so schön wie NP++ aber für kleine Sachen reicht es. Ansonsten
schließe ich mich den IDE-Nutzern an.
Gruß Dennis
Tobias schrieb:> ... als ich noch Win> hatte, war immer Notepad++ mein Editor.
Notepad++ benutzt intern "Scintilla" als Editor-Komponente. Scintilla
ist Open-Source und cross-plattform verfügbar.
Wenn dir also Notepad++ gefallen hat, stehen die Chancen nicht schlecht,
dass du hier:
http://www.scintilla.org/ScintillaRelated.html
einen passenden Ersatz findest.
Ansonsten: Die "Klicki-Bunti-Editoren" von KDE mal angeschaut?
Kate/Kwrite?
Peter II schrieb:>> keine Tabs. Das ist ziemlich gewöhnungsbedürftig?>> kann ich mir kaum vorstellen, aber wenn der quelltext überall gleich> ausehen soll verwendet man eh keine Tabs.
Nein doch, er meint die diversen Reiterchen für die einzelnen Puffer. ;)
Michael Reinelt schrieb:> Esc-X tabbar-mode
Den kannte ich noch gar nicht. Vielleicht finde ich den ja sogar gut.
:)
Thomas schrieb:> Und deswegen nimmt man dafür auch keinen Editor, sondern eine> Integrierte Entwicklungsumgebung (IDE).
Yep. Die beiden bekanntesten davon unter Unix sind nun mal Vim und
Emacs.
VIM und EMACS! Oh Gott! Das sowas heutzutage noch empfohlen wird! Leute,
die beiden Editoren waren schon vor 20 Jahren Scheiße, überholt und
veraltet. Wacht endlich auf! Ihr schreibt doch hoffentlich auch nicht
mehr eure E-Mails mit pine und regt euch über die Leute auf, die HTML in
E-Mails verwenden. Damals war Joe als Kommandozeileneditor wenigstens
bedienbar.
Und dann noch die "tollen" Empfehlungen man soll doch mal das Handbuch
lesen und auswendig lernen usw. Ein guter Editor ist intuitiv bedienbar.
Da muss ich nichts auswendig lernen. So ein Editor ist doch kein
Selbstzweck, ich will damit ein Problem lösen. Guckt euch doch mal ein
iPhone oder ein Android Smartphone an. Da muss ich auch nicht erst ein
Handbuch auswendig lernen. So sollen Computer sein, Probleme lösen und
nicht mehr Probleme machen.
Ich hätte auch gern Notepad++ unter Linux. Leider gibts nichts
vergleichbares als Editor. Zum Programmieren ist Eclipse sehr gut. Zum
mal fix was editieren aber zu groß. Die nächste Version von Notepad++
soll ja auf QT basieren und funktioniert dann auch hoffentlich unter
Linux.
... schrieb:> VIM und EMACS! Oh Gott! Das sowas heutzutage noch empfohlen wird! Leute,> die beiden Editoren waren schon vor 20 Jahren Scheiße, überholt und> veraltet.
und du glaubst sie habe sich nicht weiter entwickelt?
> Guckt euch doch mal ein> iPhone oder ein Android Smartphone an. Da muss ich auch nicht erst ein> Handbuch auswendig lernen.
kann ich von mir nicht behhaupten, ich finde viele Sachen erst mit hilfe
von google (oder stelle dann fest das es einfach nicht geht). Intuitiv
ist anders.
Wie springt man denn im Notepad++ von der öffnenden Klammer zu der
schließenden? Das brauche ich regelmäßíg als Programmierer. Du
vermutlich nicht, weil du gar nicht weiss das es soetwas gibt. Oder eine
Zahl um 1 erhöhen auf Tastendruck?
Und wie lange brauchst du um 2 Wörter zu tauschen? Ich wette der VIM
nutzer ist schneller.
eine GUI ist halt nicht alles, ein editor darf auch mehr können.
> iPhone oder ein Android Smartphone
Auf meinem Android Smartphone habe ich den gleichen Editor wie auf
meinem Windows und Linux System: vim, d.h. 3 Systeme, 1 Editor.
Das relativiert den höheren Aufwand, sich darin einzuarbeiten.
Tobias schrieb:> Also ich habe mir Emacs natürlich angeschaut. Was mir fehlt:>> - keine Tabs. Das ist ziemlich gewöhnungsbedürftig?> - Syntaxhighlighting ist OK, aber zusammengehörende Klammern werden> nicht hervorgehoben (in Geany z.B. kann man eine Klammer markieren, die> andere wird dann auch hervorgehoben - nützlich wenn man z.B. in C viele> Verschachtelungsebenen hat.)> - was ich bei Notepad++ besonders toll fand: wenn man auf ein Wort> doppelklickt, dann werden alle Vorkommnisse des Worts farbig> hervorgehoben. Kein Editor kann das unter Linux, jedenfalls keiner den> ich bisher angeschaut habe ... kann man es in Emacs?
Vim kann das alles (siehe Anhang) und Emacs wahrscheinlich erst recht.
Diese Features sind aber auch nicht gerade neu oder für den
Editorentwickler schwierig zu implementieren. Deswegen kann ich mir gut
vorstellen, dass es sie in vielen anderen Editoren ebenfalls gibt.
Hallo zusammen,
erstmal vorab, ich mache auch immer noch sehr viel mit Vi. Schnell mal
eine Konsole auf und los gehts. Vor einigen Jahren hab ich mal eine
Kaffeetasse mit den wichtigen Vi Kommandos geschenkt bekommen. Wenn ich
die mal wieder sauber mache, kann ich die sogar noch lesen :) Brauch ich
aber nicht mehr.
Wenn man mit KDE arbeitet ist Kate eigentlich auch okay und unter
Windows ist Notepad++ unschlagbar. Aber vielleicht kommt ja auch mit der
alternative zum XServer einer auf die Idee einen neuen
Programmier-Editor zu bauen oder Notepad++ zu portieren. Ubuntu setzt ja
ab 13.10 'Mir' ein. Mal sehen was da noch kommt...
Bis dahin nutze ich Vi, Vim, Kate, Notepad++. Auf einem fremden Systeme
hab ich letztens sogar mit dem Editor von 'mc' arbeiten
können/dürfen/müssen :(
Grüße aus Berlin
Tobias schrieb:> dann werden alle Vorkommnisse des Worts farbig> hervorgehoben. Kein Editor kann das unter Linux, jedenfalls keiner den> ich bisher angeschaut habe ... kann man es in Emacs?
Klar, siehe beispiel. Emacs kann auch mehrerer dateien gleichzeitig
anzeigen (bspw. Makefile, Source und logdatei). Gut ist auch der
Diff-mode.
in zwei fenster zwei dateien vergleichen und auswählen ob der ausschnitt
aus Fenster1 oder aus fenster 2 übernommen wird.
Tobias schrieb:> Das ist GVIM den du da hast?
Ja. Der ist ja normalerweise im Vim enthalten, so dass man ihn je nach
Umgebung als Konsolen- oder X11-Variante aufrufen kann.
> was hast du denn da alles noch konfiguriert.
Nicht viel Spektakuläres.
Den Menübalken im obigen Screenshot habe ich normalerweise deaktiviert,
da er nur Platz braucht und nicht viel nützt (trotz der bis zu drei
Menüebenen deckt das Menü sowieso nur einen kleinen Anteil der
verfügbaren Funktionen ab).
Für LaTeX-Dateien wird die Rechtschreibprüfung aktiviert.
Dann habe ich noch ein paar Formatierungsparameter (Zeilenlänge,
Einrückung usw.) nach persönlichem Geschmack eingestellt. Für Projekte
mit davon abweichenden Richtlinien wird – abhängig vom Verzeichnis, in
dem sich die jeweilige Quelldatei befindet – automatisch ein anderer
Parametersatz eingestellt.
Für Python-Quellcode habe ich noch das Plugin pindent.vim mit ein paar
zusätzliche Hilfen zum Einrücken und Navigieren installiert.
Schließlich habe ich noch eine Umschaltung zwischen Normalschrift und
Riesenschrift über Funktionstasten konfiguriert. Das ist ganz praktisch,
wenn man andere Leute an den Editorinhalten teilhaben lassen möchte,
bspw. bei Demos, Vorträge u.ä.
Das war's eigentlich schon. Auf vim.org gibt es noch eine Unzahl
weiterer Plugins mit teilweise recht interessanten Features zum
Herunterladen. Man findet sich in der Liste der Plugins schnell zurecht,
da es eine Suchfunktion und zu jedem Plugin eine Beschreibung und eine
Benutzerbewertung gibt.
@Thomas
Tut mir leid, das hab ich mit WinMerge verwechselt. WinMerge soll in der
nächsten Version auf QT basieren. Das hätte ich auch gern unter Linux.
... schrieb:> @Thomas>> Tut mir leid, das hab ich mit WinMerge verwechselt. WinMerge soll in der> nächsten Version auf QT basieren. Das hätte ich auch gern unter Linux.
Probier mal 'meld'
Ich versuche mich grade in GVIM einzuarbeiten. Auch Emacs habe ich mir
mal installiert. Aber ich befürchte, ich werde wieder zu einem
altbekannten Editor zurückgehen, auch wenn mir dieser nicht gefällt....
der Grund ist schlicht - ich denke nicht, dass ich mich innert
nützlicher Frist in GVIM oder Emacs einarbeiten kann. Bei GVIM finde ich
ja nicht mal raus, wie man den konfiguriert, aber es ist bestimmt ein
guter Editor, auf den ersten Blick macht er einen sehr guten Eindruck,
aber ich bin vermutlich zu alt, um mich da noch einarbeiten zu können
:-/ oder wie lernt man GVIM? scheinbar kann man ja z.B. nicht mal
einfach so eine neue Datei anlegen und drauf los tippen, sondern man
muss da mit so Commands arbeiten? und eine solche Tab-Leiste, wie sie
Yalu hat, habe ich auch nicht gebacken bekommen.
Genau das was du beschreibst ist doch was VIM und Emacs gerade ausmacht:
Die Einarbeitung ist mühsam und dauert ewig.
Dann benötigt man noch einmal genau so lange um die wichtigsten Features
einzubauen und zu konfigurieren, die moderne IDEs von Haus aus
mitbringen.
Die wenigsten Menschen kommen damit klar.
Aber die wenigen die diesen Weg beschreiten erleben dafür auch ein
erhabenes, mythisches Gefühl eines echten Elitehackers.
Und das ist es worum es eigentlich geht, wenn man sich heutzutage noch
auf diese Computerurgesteine einlässt.
Tobias schrieb:> oder wie lernt man GVIM?
Ein guter Anfang ist gvimtutor. Der ist normalerweise bei Vim mit
dabei, also einfach von einem Konsolenfenster aus aufrufen.
> scheinbar kann man ja z.B. nicht mal einfach so eine neue Datei> anlegen und drauf los tippen, sondern man muss da mit so Commands> arbeiten?
Ja. Das erste Kommando in einem leeren Editorfenster ist normalerweise
"a" (append), das schaltet in den Insert-Modus. Dann kannst du nach
Herzenslust Text eingeben. Wenn du genug getippt hast, kehrst du mit der
ESC-Taste wieder in den Command-Modus zurück und tippst dort bspw. ":sav
<Dateiname>" (save as) oder ":q!" (quit without saving).
Die wichtigsten Kommandos findest du aber auch im Menü, das bei GVim
defaultmäßig aktiviert ist. Hinter den meisten Menüeinträgen steht auch
das Kommando, mit dem du die entsprechende Funktion per Tastatur
aufrufen kannst.
> und eine solche Tab-Leiste, wie sie Yalu hat, habe ich auch nicht> gebacken bekommen.
Einfach den Menüpunkt "File/Open Tab" anklicken :)
Aber wie schon geschrieben wurde: In Vim muss man sich einarbeiten. Das
geht nicht von heute auf morgen und schon gar nicht durch Versuch und
Irrtum, sondern durch Lesen von Manuals oder der eingebauten Hilfe.
Benutzt man den Editor nicht sehr häufig, sind diese Dinge schnell
wieder vergessen. Wenn du sie jedesmal wieder irgendwo nachschlagen
musst, bist du nicht schneller, sondern langsamer als mit einem
gewöhnlichen Editor. Es ist ja auch nicht sinnvoll, LaTeX erlernen, nur
um alle paar Monate einen Brief zu schreiben.
Hier sind einige Beispiele für Vim-Kommandos:
http://vim.wikia.com/wiki/Best_Vim_Tipshttp://rayninfo.co.uk/vimtips.html
Der eine wird es cool finden, mit wie wenig Tastendrücken komplizierte
Textoperationen gemeistert werden können, den anderen werden die
Beispiele völlig abschrecken. Letzteren sei gesagt, dass die teilweise
recht kryptisch erscheinenden Tastenfolgen meist Kombinationen aus
einfacheren Befehlselementen sind, die man keineswegs in voller Länge
auswendig lernen muss.
In Anbetracht dessen, dass diese Beispiele nur einen kleinen Teil des
Vim-Funktionsumfangs (der mittels Plugins sogar noch um ein Vielfaches
erweitert werden kann) abdecken, dürfte klar sein, warum so ein Editor
nicht über Menüs und Button-Leisten bedient wird. Menüs und Buttons
haben eben den großen Nachteil, dass sie in ihrer Anzahl stark begrenzt
sind und nicht miteinander zu komplexeren Funktionen kombiniert werden
können.
Es wird aber auch klar, dass wahrscheinlich kein Mensch auf der Welt den
vollen Funktionsumfang von Vim nutzt. Es gibt hier bei jedem Anwender so
etwas wie einen "aktiven Wortschatz", der die von ihm am häufigsten
benötigten Befehle enthält. Immer, wenn man eine tippaufwendige Aktion
öfters in ähnlicher Form ausführen muss, sucht man im Web nach einer
schnelleren Lösung, schreibt sie sich zunächst auf einen Spickzettel und
kann sie nach ein paar Malen auswendig. Dadurch wird der Wortschatz
ständig erweitert, und man kann den Editor mit der Zeit immer effektiver
nutzen.
Jetzt wird aber auch klar, warum langjährige Vim- oder Emacs-User oft
vom Typus "Mein-Editor-ist-der-einzig-wahre" sind: Selbst wenn es einen
moderneren Editor mit einem vergleichbaren Funktionsumfang gäbe, würden
sie bei einem Umstieg ihre gesamten Fähigkeiten wegschmeißen und wieder
bei Null anfangen. Und auch für den neuen Editor würden sie wieder
Monate, wenn nicht Jahre investieren, um die gewohnte Effektivität zu
erreichen.
Nicht dass der falsche Eindruck entsteht: Ich selber bin zwar
begeisterter Vim-User, aber nur ein kleines Licht im Vergleich zu denen,
die das Tool wirklich benutzen können. Ich habe damit auch nicht
deswegen angefangen, weil ich den Editor besonders cool fand, sondern
weil ich vor vielen Jahren auf Rechnern arbeitete bzw. arbeiten musste,
auf denen es nichts anderes als den vi gab. Immerhin bin ich aber soweit
fortgeschritten, dass ich bei der Erstellung längerer Fließtexte in Word
schneller bin, wenn ich diese erst in Vim eintippe und in Word dann nur
noch die Formatierung der Überschriften u.ä. vornehme. Auch diesen
Forenbeitrag habe ich mit Vim geschrieben.
Das schöne am Emacs: Was nicht passt wird passend gemacht. Immerhin ist
der von Haus aus eher sowas wie eine Lisp-IDE. Und komme bitte keiner
mit "aua, wie umständich!" - seid ihr Programmierer oder DAUs? ;-)
Der Vim hat ja eine eigene sprache (Vim script), wo man eigene Programme
und Plugins schreiben kann.
Ich selbst habe lediglich Makros geschrieben, und finde die
Funktionalität sehr praktisch und mächtiger als Makros bei anderen
Programmen.
Kenn jemand Vim Script genauer?