Sublime Text 2 Wrapping-Auswahl in Tag

78

Wenn Sie in ST2 Text markieren und alt+ shift+ w(unter Windows) drücken, wird die aktuelle Auswahl in <p></p>Tags eingeschlossen. Aber gibt es eine Möglichkeit anzugeben, mit welchem Tag umbrochen werden soll? Weil ich vielleicht in eine Spanne oder stattdessen in eine Div einwickeln möchte.

Lars
quelle
@Chef Danke, das ist der Trick. Ich habe dies als Antwort unten hinzugefügt.
Lars
@Chef sollte derjenige sein, der die Antwort hinzufügt.
AGS
6
Emmet funktioniert, aber nur als zusätzliche Anmerkung. Ich glaube, die ctrl+shift+wBindung fügt einfach einen Ausschnitt ein. Anschließend werden die Cursor innerhalb der erstellten Tags platziert. Von dort aus sollten Sie in der Lage sein, beliebigen Inhalt für das Tag einzugeben.
Skuroda
3
Die Standardeinstellung ist Alt+ Shift+ wzum Umschließen von Tags. Ihre Verknüpfung schließt das gesamte Fenster mit allen Registerkarten unter Windows. Ich habe alle Rückgängig-Funktionen verloren, um das auszuprobieren.
Benutzer

Antworten:

78

Platzieren Sie mit Emmet den Cursor in dem Tag, den Sie umbrechen möchten, und drücken Sie ctrl+ w(für MacOS) oder Alt+ Shift+ W(für Windows). Daraufhin wird ein Feld angezeigt, in das Sie den Tag eingeben können, mit dem Sie umbrechen möchten.

Lars
quelle
10
Bist du auf Windows? Versuchen Sie Alt-Shift-W. In Windows ist Strg + W eine Verknüpfung zum Schließen der Registerkarte.
Lars
21
Wenn Sie unter Windows mit installiertem Emmet-Paket großartigen Text verwenden, müssen Sie Umschalt + Strg + G
am_
6
auf Sublime Text 3 funktionierte es mit STRG + UMSCHALT + G sowie mit ALT + UMSCHALT + W
Mik
4
Emmet ist hierfür nicht erforderlich.
Shivams
3
Emmet ist großartig. Ich liebe es, aber Sie brauchen es nicht für diese Funktion. Siehe die Antwort von @ janaspage auf dieser Seite.
Sugardaddy
23

Einzelne Zeile

Wenn Sie dies konvertieren möchten

Lorem ipsum dolor sit amet.

dazu

<div>Lorem ipsum dolor sit amet.</div>  

mach das:

  • Wählen Sie den Text aus oder drücken Sie CTRL+ L(es wird die aktuelle Zeile ausgewählt)
  • Drücken Sie ALT+ SHIFT+W
  • Geben Sie das gewünschte Tag ein (das Standard-p-Tag wird überschrieben)

Mehrere Zeilen

Wenn Sie dies konvertieren möchten

Item 1
Item 2
Item 3

dazu

<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>

mach das:

  • Wählen Sie den Text aus oder drücken Sie mehrmals CTRL+L
  • Drücken Sie CTRL+ SHIFT+ L(es wird eine Auswahl pro Zeile getroffen)
  • Drücken Sie ALT+ SHIFT+W
  • Geben Sie das gewünschte Tag ein (das Standard-p-Tag wird überschrieben)

Sie können den Text auch mit SHIFT+ auswählen MOUSE RIGHT BUTTONund in diesem Fall den zweiten Schritt überspringen.

Verwenden von Emmet

Wenn Sie dies konvertieren möchten

Item 1
Item 2
Item 3

dazu

<nav>
  <ul class="nav">
    <li class="nav-item1"><a href="">Item 1</a></li>
    <li class="nav-item2"><a href="">Item 2</a></li>
    <li class="nav-item3"><a href="">Item 3</a></li>
  </ul>
</nav>

mach das:

  • Wählen Sie den Text aus
  • Drücken Sie SHIFT+ CTRL+ G( mit Abkürzung umbrechen )
  • Geben Sie nav> ul.nav> li.nav-item $ *> a ein

Hinweis für Mac-Benutzer:

ALT+ SHIFT+ W= CTRL+ SHIFT+W

CTRL+ SHIFT+ L= CMD+ SHIFT+L

Gustavo
quelle
Beeindruckend. Dies ist eine viel bessere Antwort :)
Shivams
5

Erstellen Sie beispielsweise ein benutzerdefiniertes Snippet, um ein Span-Tag einzufügen. Gehen Sie zum App-Menü: Tools > New Snippet ...und kopieren Sie das folgende Snippet in das Fenster:

<snippet>
    <content><![CDATA[
<span style="color:#0000FF">$SELECTION$1</span>
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>span</tabTrigger>
    <description>HTML - span - color - blue</description>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>source.html</scope>
</snippet>

... speichern Sie dann das Snippet in einer Datei mit z. B. html-span--colorName und binden Sie dieses Snippet an eine Tastenkombination in Preferences > Key Bindings-User, um einen neuen Schlüsseleintrag zu erstellen, zum Beispiel:

{ "keys": ["alt+shift+c"], "command": "insert_snippet", "args": { "name": "Packages/User/html-span--color.sublime-snippet" } }

Es wird angenommen, dass ein Speicherort des Snippets das Packages/User/Verzeichnis ist.

Wählen Sie nun einen beliebigen Text aus, den Sie in das span-Tag einbinden möchten, und drücken Sie Alt+ Shift+ coder geben Sie 'span' ein. Drücken Sie Tab, ein Cursor wird auf die gewünschte Position innerhalb des Tags gesetzt. Geben Sie einfach Ihren Text ein.

Ich habe die Snippet- und Schlüsselbindung mit Sublime Text 3 unter Ubuntu Linux erfolgreich getestet.

Vladimir S.
quelle
1
Dies scheint sich in SublimeText3 bewegt zu haben: Jetzt ist es zurückTools > Developer > New Snippet...
Paul Sturm
5

Die Antworten sind alle gut. Hier befinden sich Tastenkombinationen zum Anpassen:

In der Voreinstellung : Tastenkombinationen - Standard :

{ 
  "keys": ["ctrl+shift+w"], "command": "insert_snippet", 
  "args": { "name": "Packages/XML/long-tag.sublime-snippet" } 
}

Wenn Sie Emmet haben, ist die Emmet-Version

{ "keys": ["super+shift+w"], "command": "wrap_as_you_type"}

Bearbeiten Sie sie in den Einstellungen: Tastenkombinationen - Benutzer nach Ihren Wünschen,

Phillip Chan
quelle
1

Um Ihnen das Leben zu erleichtern, während Sie sich in Sublime text3 befinden: Geben Sie eine dieser Optionen ein ( p, h1, div, Kopfzeile, Fußzeile, Titel ...) und drücken Sie beispielsweise die Tabulatortaste, wenn Sie div möchten. Geben Sie einfach div ein und drücken Sie die Tabulatortaste

mwangaben
quelle
1
Dies hilft in diesem Fall nicht wirklich, da das OP davon spricht, vorhandenen Text in ein Tag zu packen und nicht von vorne zu beginnen.
Sugardaddy
0

Geben Sie in ST2 ein Tag ohne Klammern ein und drücken Sie die Tabulatortaste. Sie erhalten automatisch ein offenes und ein geschlossenes Tag


quelle
Willkommen bei SO und vielen Dank für die Beantwortung einer Frage. Würden Sie bitte mehr Kontext für Ihre Antwort angeben? Weitere Tipps finden Sie in der Hilfe .
Richard Erickson
-5

Dieses System zum Einfügen von Snippets ist im Vergleich zu dem in Dreamweaver bereitgestellten Mechanismus sehr umständlich. In diesem Fall erstellen Sie ein Snippet jeglicher Art. Es wird in einer In-RAM-Bibliothek gespeichert und in einer Verzeichnisstruktur angezeigt. Sie deklarieren, ob das Snippet vom Typ INSERT (an der Cursorposition) oder vom Typ SPAN (über ausgewählten Text) ist. Im ersten Fall wird das gesamte Snippet eingefügt. Im zweiten Fall wird das Snippet mit einem "Vorher" -Teil und einem "Nachher" -Teil erstellt. Normalerweise ist der "After" -Teil nur das schließende Tag. Um den Modus HIER EINFÜGEN zu verwenden, positionieren Sie den Cursor, doppelklicken Sie auf das Snippet in der Bibliothek und es wird an der Cursorposition eingefügt. Um den SPAN SELECTED TEXT-Modus zu verwenden, markieren Sie den gewünschten Text und doppelklicken Sie auf das Snippet in der Bibliothek. Der ausgewählte Text ist vom "Vorher" umgeben. und "nach" Teilen des Snippets. Dies ist sehr intuitiv, einfach zu bedienen und ermöglicht es dem Benutzer, unbegrenzt viele Arten von Snippets zu erstellen, die ausgewählten Text umfassen können. WÜRDEN EINIGE SEHR SMART PROGRAMMER BITTE EINE ERWEITERUNG WIE DIESES FÜR SUBLIME 3 BAUEN? Hinweis: Im Vergleich dazu ist Bracket Highlighter ein Sublime-Plugin mit einer Wrapping-Funktion, die anscheinend über solche Funktionen verfügt. Bei näherer Betrachtung ist die Verwendung jedoch viel zu umständlich, wenn Sie eine effiziente Snippet-Bibliothek im laufenden Betrieb erstellen möchten. Danke, Peter Rosti Bracket Highlighter ist ein Sublime-Plugin mit einer Wrapping-Funktion, die anscheinend über solche Funktionen verfügt. Bei näherer Betrachtung ist die Verwendung jedoch viel zu umständlich, wenn Sie eine effiziente Snippet-Bibliothek im laufenden Betrieb erstellen möchten. Danke, Peter Rosti Bracket Highlighter ist ein Sublime-Plugin mit einer Wrapping-Funktion, die anscheinend über solche Funktionen verfügt. Bei näherer Betrachtung ist die Verwendung jedoch viel zu umständlich, wenn Sie eine effiziente Snippet-Bibliothek im laufenden Betrieb erstellen möchten. Danke, Peter Rosti

Peter R.
quelle