Ein paar Fragen zu BBedit

Hallo @Atarimaster,

Danke für die Hinweise, werde ich mal ausprobieren.
Projekte anzulegen nur um Tabs zu haben ist zu umständlich, schließlich möchte ich auch mal Dateien aus verschiedenen Projekten vergleichen können.

Smultron macht es wie beim PC und ist sehr praktisch.
Die Tastenkombinationen fürs Einrücken finde ich sehr umständlich, denn beim Programmieren braucht man das doch dauert.
 
Danke für die Hinweise, werde ich mal ausprobieren.
Projekte anzulegen nur um Tabs zu haben ist zu umständlich, schließlich möchte ich auch mal Dateien aus verschiedenen Projekten vergleichen können.

Ich habe Smultron leider nicht mehr auf dem Rechner (und im Moment auch keine Lust, es zu installieren) und weiß deshalb nicht, wie das Programm vorgeht. Ich nehme aber an: Wenn man schon eine Datei geöffnet hat und öffnet dann weitere Dateien, werden automatisch Tabs angelegt, oder?

Nun, das geht genau so tatsächlich nicht in TextMate, mit ein paar Umwegen schon. Hier ein paar Methoden, in TextMate zu einer Tab-Darstellung zu kommen:

1. Einfach mehrere Dateien (oder halt einen ganzen Ordner) auf das TextMate-Icon im Dock ziehen: Es wird automatisch ein Projekt angelegt.
2. Weitere Dateien hinzufügen: Entweder ziehe ich sie vom Finder-Fenster in den Drawer des Projekts (das dürfen auch Dateien aus anderen Verzeichnissen als dem ursprünglichen sein) -- oder ich drücke shift+command+A, dann erhalte ich den gewohnten Öffnen-Dialog und kann die gewünschte(n) Datei(en) auswählen... das ist doch auch nicht wirklich komplizierter als command+O.
3. Nehmen wir an, Du hast schon eine Datei geöffnet und möchtest jetzt weitere Dateien in Tabs hinzufügen. Leider gibt es keinen Befehl wie »lege neues Projekt mit aktueller Datei an« -- möglicherweise ließe sich das mit einem bundle command lösen, aber meine bisherigen Versuche in diese Richtung waren nicht erfolgreich. Die einzige Möglichkeit, die mir einfällt: Per ctrl-cmnd-N ein neues Projekt anlegen und dann das Icon in der Titelzeile der bereits geöffneten Datei (das vor dem Dateinamen) in den Drawer des Projekt ziehen. Zugegebenermaßen nicht sehr komfortabel; außerdem hat man die Datei dann zweimal geöffnet; einmal als separates Fenster und einmal im Projekt.

Ob Du das neu angelegte Projekt dann sichern willst (um später noch einmal auf genau diese Zusammenstellung der Dateien zugreifen zu können) oder nicht, bleibt Dir dann selbst überlassen.

Wie gesagt, dass sind natürlich Umwege -- ob Du diese Umwege in Kauf nehmen willst, um die anderen (sehr guten!) Funktionen von TextMate nutzen zu können; oder ob Dir das Tab-Handling von Smultron so wichtig ist, dass Du dieses Programm vorziehst, kannst natürlich nur Du entscheiden. Schließlich ist Smultron ebenfalls ein sehr gutes Programm.


Die Tastenkombinationen fürs Einrücken finde ich sehr umständlich, denn beim Programmieren braucht man das doch dauert.

Tja, das option+commando+5 von TextWrangler ist tatsächlich ein »Fingerbrecher« -- ich habe wohl nicht so einen dicken Daumen wie UDH5... ;-)
Zum Hintergrund: Eigentlich lauten die Tastenkombinationen command+[ und command+] -- die eckigen Klammern liegen auf einem US-amerikanischen Keyboard rechts neben der P-Taste (dort, wo auf einer deutschen Tastatur Ü und das Plus-Zeichen liegen) und sind ohne zusätzliche Tasten wie shift oder option erreichbar.
Auf einer US-Tastatur ist die Kombination also recht einfach. Dummerweise liegen die eckigen Klammern auf einer deutschen ja auf option+5 und option+6, so dass die Tastenkombis zum Ein-/Ausrücken zu option+commando+5/6 kumulieren.

Die in TextMate verfügbare Kombi von option+Tab bzw. option+shift-Tab gefällt mir persönlich sogar besser als die Variante, nur Tab zu drücken... aber das ist natürlich Geschmackssache.

Und nur so ganz nebenbei: Du würdest Dich wundern, wie selten Du in TextMate Blöcke ein- oder ausrücken musst, in der Regel erledigt das Programm (bei entsprechender Einstellung) das nämlich schon automagisch für Dich.
 
Da ist der Daumen - der ist nicht dick :D

attachment.php


Wie drückt ihr denn Apfel + Alt - etwa mit zwei Fingern? (MacBook, Lombard, Pismo ... hatte immer nur eine Alt-Taste)
 

Anhänge

  • Bild 2.png
    Bild 2.png
    60,6 KB · Aufrufe: 218
Sodele, nun habe ich mehrere Stunden mit TextMate gearbeitet und kann bestätigen, dass es Spaß macht damit zu arbeiten. Die Bundles habe ich noch nicht gebraucht, aber am meisten hat mich wirklich das Einrücken begeistert und das Klammern setzen bei Funktionen (in php).

Die Tastenkombination zum Einrücken habe ich übrigens nicht entdecken können in der Hilfe.
Wie hast Du das herausgefunden?

Grüße und Nächtle.
Guido
 
aber am meisten hat mich wirklich das Einrücken begeistert und das Klammern setzen bei Funktionen (in php).

Hast Du in den Einstellungen unter »Text Editing« auch »Re-indent pasted text« aktiviert? – Ist auch eine nützliche Hilfe!


Die Tastenkombination zum Einrücken habe ich übrigens nicht entdecken können in der Hilfe.
Wie hast Du das herausgefunden?

Das steht in der TextMate-Hilfe unter Kapitel 4.6.1 Increase/Decrease Indent Level. Außerdem habe ich die TextMate Mailing-List abonniert; kann gut sein, dass ich das ursprünglich da mal irgendwo gelesen habe, bevor ich den entsprechenden Abschnitt in der Hilfe entdeckt habe.
Wie alle Computeruser habe ich es nämlich nicht so mit dem Lesen von Anleitungen. ;-)


Grüße und Nächtle.

Jau, Nacht… ich werd mich jetzt auch mal zur Ruh’ begeben…
 
So jetzt habe ich auch nochmal eine Frage zu TextMate.
ICh editieren gerade ein PHP file und in einem echo Befehl möchte den HTML Tag <br/> eingegeben.
ICh habe in den Snippets abgegeben das soll per ctrl+ return erfolgen.

Er Setzt aber immer anstatt <br> ein \n ein.
Mr ist schon klar daß das ne neueZeile ist, also das Äquivalent zu <br> in HTML.
Aber ich möchte kein \n sondern ein <br> haben, sonst hätte ich das so festgelegt.
Macht er aber partout nicht, obwohl es im Snippet korrekt abgegeben ist.
In einem HTML File macht er es natürlich richtig mit <br>

Das finde ich aber ziemlich Panne, denn ich gebe das ja für die HTML Ausgabe an.
Wollte ich ein \n haben, würde ich das explizit angeben.
Also warum ist Textmate so eigenmächtig und setzt mit das andere Zeichen ein nur weil ich ein PHP File habe??????

Das nervt echt...
 
Also, erstmal: TextMate setzt das \n nicht ein, weil Du in einem PHP-File, sondern weil Du in einem PHP-Bereich bist: Wenn Du in der gleichen Datei, aber außerhalb der PHP-Delimiter <?php und ?> mal ctrl-Return tippst, wirst Du sehen, dass wie von HTML-Dateien gewohnt das <br /> erscheint.

Ich nehme mal, dass TextMates Dokument-Parsing nicht so weit geht, festzustellen, dass der Textcursor sich innerhalb von Anführungszeichen, vor denen ein echo steht, befindet -- was nötig wäre, damit TextMate wissen kann, dass Du nun einen HTML-spezifischen Shortcut benutzen willst und keinen PHP-spezifischen.

Kommen wir aber nun zur Problemlösung:
Du kannst entweder im Source Bundle, Snippet »Newline – \n« das Key Equivalent ctrl+Return löschen (zumindest sollte das funktionieren, ich hab's nicht ausprobiert). Oder Du legst Dir im PHP Bundle ein neues Snippet mit neuen Key Equivalent (etwa shift+ctrl+Return oder wie auch immer) an. Dann trägst Du im Eingabebereich bpsw. <br /> ein, bei »Scope Selector« tippst Du »source.php« ein... und bei »Activation« wählst Du halt »Key Equivalent« mit dem gewünschten Tastaturkürzel.

Das sollte Dir weiterhelfen, ansonsten melde Dich nochmal.
 
Also wenn ich im PHP Bundle eine neues Snippet anlege mit derselben Tastenkombi für <br /> wie im HTML Snippet gehts.

Was ich mich schon immer Frage: Was hat es denn mit dem Scope selector auf sich?
Der Rest ist eigentlich schon klar,aber was ist dieser Scope Selector und warum gerade Source.php?


Danke für den Tip, Atarimeister.
Programmierst du TestMate mit oder warum kennst Du Dich damit so gut aus?

Grüße Mondmann
 
Also wenn ich im PHP Bundle eine neues Snippet anlege mit derselben Tastenkombi für <br /> wie im HTML Snippet gehts.
Was ich mich schon immer Frage: Was hat es denn mit dem Scope selector auf sich?
Der Rest ist eigentlich schon klar,aber was ist dieser Scope Selector

TextMate ist ja ein Editor, der sich für etliche Programmier-, Script- und Auszeichnungssprachen eignen soll.
Darum gibt es die Möglichkeit, Commands und Snippets auf bestimmte Gültigkeitsbereiche (= scopes) zu beschränken: Dass beim Betätigen von ctrl+Return die Zeichenkette <br /> ausgegeben wird, ist in HTML (und, wie wir gesehen haben, u.U. auch in PHP) nützlich -- aber in anderen Sprachen, sagen wir mal Objective-C oder AppleScript, brauchst Du diese Zeichenkette eben nicht. In Anbetracht der Tatsache, dass dem Anwender nur eine begrenzte Zahl an Tastaturkürzeln zur Verfügung steht -- man hat ja schließlich nicht unendliche viele Tasten auf dem Keyboard ;-) und sinnvolle Kürzel gibt es noch viel weniger -- ist es also hilfreich, dass Commands und Snippets auf eine bestimmte Umgebung begrenzt werden: In HTML ergibt ctrl+Return halt die genannte Zeichenkette, in anderen Sprachen kann man dieses Kürzel dann mit irgendetwas belegen, was in diesen Sprachen sinnvoll ist.

In welcher Sprache Du nun gerade arbeitest, entscheidet TextMate einerseits anhand der Dateiendung; aber auch innerhalb der Dateien kann es unterschiedliche Sprachen identifizieren: Es ist ja bspw. möglich, dass innerhalb einer Datei HTML-, PHP- und JavaScript-Code vorliegt. TextMate schaltet dann nicht nur das Syntax-Coloring um, sondern halt auch die der jeweiligen Sprache zugeordneten Commands und Snippets; je nachdem, in welchem Codebereich sich der Textcursor gerade befindet.


und warum gerade Source.php?

Kurzfassung: Damit machst Du TextMate halt klar, dass Du gerade ein Snippet/Command für PHP bearbeitest. Wenn Du neue anlegst, schaust Du halt nach, was bei anderen, vergleichbaren Kommandos für die gleiche Sprache beim Scopte Selector eingetragen ist und übernimmst das.
Für die Langfassung verweise ich jetzt auf die TextMate-Hilfe, hauptsächlich Abschnitt 12.4 »Naming Conventions« und Kapitel 13 »Scope Selectors«. Das zusammenzufassen, wird mir jetzt doch zu viel. ;-)


Programmierst du TestMate mit oder warum kennst Du Dich damit so gut aus?

Nein, ich nutze es nur sehr häufig.
Und obwohl ich seit knapp anderthalb Jahren registrierter User bin, habe ich noch längst nicht alle Möglichkeiten kennengelernt, geschweige denn ausgeschöpft. Das ist es, was mir an TextMate so gut gefällt: Man kann sehr schnell erfolgreich damit arbeiten, die Oberfläche ist elegant-schlicht und nicht mit allem möglichen Schnickschnack zugepflastert, wie ich das bei manchen anderen Programmen gesehen habe (vor allem unter Windows, aber auch auf dem Mac). Dabei ist das Programm aber extrem weit ausbaufähig und konfigurierbar; wenn man mal mehr braucht, findet man meistens auch eine sehr gute Lösung.
 
Irgendwie hatte ich hier eine Antwort geschrieben....wo ist die denn nur?
Also ich weiß nimmer was ich geschrieben habe,aber vielen Dank für die Tips so geht es...

Mir ist heute noch was seltsames aufgefallen:
Habe ich mit Textmate eine Datei offen, die extern geändert wird, zb. von einem andere editor, dann merkt das Textmate nicht.

Also vielleicht gibts das ja nur unter Windows denn Textwrangler ist genau so doof. Unter Windows merkt das mein Editor (jeder!) und fragt mich ob ich die neue, extern geänderte Version öffnen will. So merke ich, daß die Datei geändert wurde und kann entscheiden ob oder ob nicht.

Wie merke ich das denn mit Textmate????

Ich benötige das feature eigentlich schon relativ oft ...

Grüße Mondmann
 
Und nochwas was ich nicht verstehe:

Ich lege ein neues snippet an.
Ein eigenes Bundle und darin ein Snippet mit Scop für php. Also source.php.

Das snippet enthält PHP Code:

Code:
<?php

/*index.php*/

include '../inc/header_eb1.php';

echo $topnav;
echo '<div id="container">';

echo '<a name="oben" ></a><img src="../img/bg_header.jpg" alt="Header" height="16" width="778" />       ';

echo $header;
echo $config;
echo $meta;
USW...

Naja so ähnlich wird dann meine Seite zusammengebaut. Dieses etwas größere file brauche ich immer wenn ich eine neue Seite anfange.

Das Problem hierbei ist, daß TextMate mir die variablen nicht übernimmt Also anstatt
echo $header;
echo $config;
echo $meta;

steht nur

echo ;
echo ;
echo ;

Das verstehe ich absolut nicht?
Was macht denn da Textmate schon wieder was ich nicht verstehe???
der soll die Variablen so einfügen wie ich sie haben will!

Vielleicht kannst du das dazu sagen:)

Grüße Mondmann
 
Also vielleicht gibts das ja nur unter Windows denn Textwrangler ist genau so doof.
Wenn ich ein und den selben Text in TextWrangler, BBedit und TextEdit öffne, reagieren TextWrangler und BBedit sofort auf die Änderungen, nur TextEdit bleibt außen vor.
 
Das Problem hierbei ist, daß TextMate mir die variablen nicht übernimmt Also anstatt
echo $header;
echo $config;
echo $meta;

steht nur

echo ;
echo ;
echo ;

Das verstehe ich absolut nicht?
Was macht denn da Textmate schon wieder was ich nicht verstehe???
der soll die Variablen so einfügen wie ich sie haben will!

TextMate nutzt das Dollarzeichen $ ja auch für programmeigene Variablen in den Snippets, deshalb musst Du sie, wenn Du sie in den Snippets ausgeben willst, per Backslash maskieren.
Schreib also:
Code:
echo \$header;
echo \$config;
echo \$meta;

... und schon funktioniert’s.
 
Wenn ich ein und den selben Text in TextWrangler, BBedit und TextEdit öffne, reagieren TextWrangler und BBedit sofort auf die Änderungen

… und TextMate macht das genauso: Sobald Du TextMate wieder nach vorne holst, wird die geänderte Datei geladen.
Hinweis an Mondmann: Das geschieht, ohne dass TextMate nachfragt oder einen Hinweis ausgibt; vielleicht ist Dir das deshalb entgangen. Meiner Meinung nach könnte ein Hinweis, dass die Datei extern geändert wurde, vielleicht nicht schaden (ich persönlich vermisse so einen Hinweis allerdings nicht); aber die ungeänderte Version auch optional beizubehalten, halte ich für ein »unsauberes« Verhalten. Da läufst Du ja Gefahr, dass die beiden Programme sich gegenseitig ihre jeweiligen Versionen überschreiben.
 
TextMate nutzt das Dollarzeichen $ ja auch für programmeigene Variablen in den Snippets, deshalb musst Du sie, wenn Du sie in den Snippets ausgeben willst, per Backslash maskieren.
Schreib also:
Code:
echo \$header;
echo \$config;
echo \$meta;

... und schon funktioniert’s.

Okidoki,danke.

Ich habe gestern auch noch festgestellt, daß es TM externe Änderungen übernimmt,ohne nachzufragen.
Ist halt noch ein kleines Windows-Überbleibsel, drum hab ichs erst nicht gesehen.
Ist in anderen Programmen auch so.

Wenn ich allerdings mit TM eine Datei offen habe und diese dann neu vom FTP Server herunterlade (also herunterlade und überschreibe), dann zeigt mir TM definitiv nicht die neue Version an. Erst wenn ich diese schließe und neu öffne...
 
Wenn ich allerdings mit TM eine Datei offen habe und diese dann neu vom FTP Server herunterlade (also herunterlade und überschreibe), dann zeigt mir TM definitiv nicht die neue Version an. Erst wenn ich diese schließe und neu öffne...

Ich habe gerade folgendes ausprobiert:
1. Ich lade eine Datei mit Yummy FTP runter, öffne sie in TextMate, ändere und sichere sie. Dann lade ich sie erneute vom Server runter – wechsele zu TM, und die Datei wird sofort neugeladen; ich sehe also wieder die Version, die noch auf dem Server liegt.

2. Ich ändere die Datei in TM, und sichere sie nicht, TextMate zeigt sie mir in diesem Moment also als »ungesicherte Datei« an (erkennbar an dem hellen Icon in der Titelzeile des Fensters und dem dunklen Punkt im Schließen-Feld). Nun lade ich sie erneut runter: Und tatsächlich, TextMate lädt die Datei nicht neu, wirft auch keine Meldung aus.

Und merkwürdig: Ich hab dann mal ein bisschen hin- und herprobiert, hatte die Datei teilweise gleichzeitig in TextMate und TextWrangler geöffnet und geändert... und irgendwann habe ich mal nach erneutem Download von TextMate die Meldung bekommen, dass die Datei extern geändert wurde. Ich habe allerdings noch nicht herausgefunden, wann genau diese Meldung erscheint.


Allerdings muss ich auch sagen, dass mir keine Situation einfällt, in der ich eine geänderte und ungesicherte Datei neu vom Server runterladen sollte/wollte. Vielleicht hast Du da mal ein Beispiel?
 
Nein im Moment nicht.
Daß es mit ungesicherten Dateien nicht geht erscheint mir logisch, da diese Datei ja noch temporär gehalten wird und erst bei sichern als diese Datei mit Namen und Dateiendung gespeichert wird.

In diesem Moment hat TextMate also keine Zugriff auf die datei und kann somit auch nicht feststellen, ob diese geändert wurde oder nicht.
Ich weiß nicht ob es so ist,aber so erkläre ich es mir...
 
Wie teilt man eigentlich TM mit, dass er in ISO 8859-7 speichern soll?
 
Wie teilt man eigentlich TM mit, dass er in ISO 8859-7 speichern soll?

Gar nicht: Dieses encoding beherrscht TextMate nicht.
Dürfte vermutlich auch schwierig werden, den Autor davon zu überzeugen, das einzubauen: Er ist erklärter UTF-8-Freund – was meiner Meinung nach auch nicht ganz unberechtigt ist.

Wenn es Dir also nur darum geht, griechische Zeichen zu benutzen, wäre das Sichern als UTF-8 das richtige Mittel… aber wenn Du zwingenderweise das encoding ISO 8859-7 brauchst, bleibt Dir die Suche nach einem anderen Editor – oder Du konvertierst die UTF-8-Dokumente von TextMate anschließend mit einem anderen Programm nach ISO 8859-7; das sollte eigentlich mit Hilfe von Cyclone funktionieren.
 
Zurück
Oben Unten