SciTE - Hotkeys unlimited, Neue Funktionen (Run selected Code, Move selection left/right/up/down u.a.)

  • Edit: Jetzt als AddOn!!


    !! DEMO ANGUCKEN !!


    Hi,
    ich bin ja ein Tastaturfreak und somit versuche ich natürlich die Maus möglichst nicht zu benutzen.
    In Sublime Text haben mir viele der möglichen Editoroperationen sehr gut gefallen. Ich versuche mal soviel, wie möglich davon in SciTE umzusetzen.
    Für den Anfang:
    • (markierte) Zeile(n) auf/ab bewegen mit Strg+Shift+PfeilAuf /+PfeilAb
    • Markierung aufheben mit Strg+U
    • Benachbarte Zeichen (li. u. re. vom Cursor) tauschen mit Strg+Shift+T


    Die Datei bei euren Lua-Dateien speichern, Pfadaufruf anpassen. Hier ist mein persönlicher Lua-Pfad als Propertie hinterlegt.
    Den Programmaufruf in der SciTEStartup.lua hinter "EventClass:BeginEvents()" einfügen:



    NEUE VERSION in Post #2


    In Planung:
    - zeitgleiches Editieren an Mehrfachvorkommen einer Auswahl (z.B. eine Variable selektieren, Auswahl auf alle od. Schritt-für-Schritt weitere Vorkommen erweitern, Änderung Inhalt in allen Selektionen)
    - Alignment bei Zuweisungen (mehrere Zuweisungen untereinander, markieren und am "=" ausrichten)

  • Hotkeys
    SciTE hat ja bereits alle Sequenzen von Ctrl+Key vorbelegt. Das ist natürlich unschön, da man für eigene Hotkeys dann auf umständliche Kombinationen zurückgreifen muss, die einem fast die Finger brechen. Oder man muss die voreingestellten Hotkeys ummappen.


    Aber das hat ein Ende. Die Lösung: Cascading Hotkeys
    Das funktioniert recht simpel. Ich habe mir als Trigger die Sequenz "Ctrl+Win" ausgewählt. Das beißt sich mit keinem anderen Hotkey und läßt sich schön mit 2 Fingern einer Hand erledigen. Ist dieser Hotkey gedrückt, läßt man die Win-Taste wieder los aber hält die Ctrl-Taste weiterhin gedrückt und wählt nun die beliebige Taste für die zweite Ctrl+Key-Sequenz. Somit ergeben sich Hotkeys der Form: "Ctrl+Win, Ctrl+X" oder "Ctrl+Win, Ctrl+F2" usw..


    Alle Tasten der Standardtastatur, ohne Sonderzeichen, habe ich vorbereitet in der angehängten Datei. Will man eine Sequenz nutzen, muss nur der Kommentar aus der entsprechenden Zeile entfernt und die gewünschte Aktion hinterlegt werden. Was in SciTEUser.properties an command-Befehlen für Hotkeys hinterlegt ist, kann man ebenso in diesem Skript aufrufen. Wenn es Probleme bei der Umsetzung gibt, einfach melden.


    Markierten Code ausführen
    Mir passiert es öfter mal, dass ich aus einem Projekt einzelne Codesequenzen ausführen möchte ohne jedoch das Skript selbst zu starten. Bisher habe ich dann immer eine Testdatei geöffnet, den entsprechenden Code hineinkopiert, auf fehlende Includes geprüft und dann ausgeführt.
    Das habe ich nun automatisiert. Per Hotkey wird:
    - markierter Code in eine separate Datei geschrieben ( __TMP__RunSelected.au3 im Ordner des aktuellen Skripts )
    - aus dem offenen Skript werden die Includes ausgelesen und mit in die Datei geschrieben
    - die Datei wird im Editor geöffnet und sofort ausgeführt
    - bei erneuter Nutzung wird die Datei überschrieben, somit nur diese eine zusätzliche Datei im entsprechenden Skript-Ordner


    Markierten Inhalt aus einer Zeile verschieben
    Ich hatte ja bereits in der Version 0.1 das Verschieben von kpl. Zeilen auf Hotkeys gelegt.
    Nun habe ich zusätzlich integriert, dass selektierter Text in alle Richtungen verschoben werden kann. Sequenz: "Ctrl+Alt+ [Pfeil li/ re/ auf/ ab]"


    Kommentar in Zeile anspringen
    Setzt den Cursor vor das Zeichen für den Kommentarstart, sofern die Zeile einen Kommentar enthält.


    Markierungen
    - Variable unter Cursor ohne "$" markieren (markiert auch jede andere Zeichenkette ohne NonWordCharacter)
    - Variable unter Cursor mit "$" markieren
    - kpl. Zeile markieren


    Einbinden in SciTE, wie in Post #1 beschrieben.


    Ausgabe einer Auflistung der Hotkeys in die Konsole mit "Ctrl+Win, Ctrl+0"



  • Ich habe in letzter Zeit versucht mir anzugewöhnen mehr mit der Tastatur zu arbeiten. Es ist einfach schneller. Von dem her hört sich das schon mal sehr vielversprechend an :thumbup: .
    Wenn ich endlich mal wieder Zeit habe ein wenig zu scripten probiere ich deine Erweiterungen mal aus. ;)

  • Ich hoffe, du hast die im Startpost verlinkte AddOn-Variante (OwnHotKeys) verwendet. Die ist noch komfortabler und umfangreicher als die Variante aus diesem Thread hier. ;-)

    Hi BugFix !

    Schon etwas älter der Thread ;), daher meine Frage : "Ist das so noch aktuell ?"

    Zitat

    Exzellent! Völlig unterschätzter Thread imo.

    Der Aussage schließe ich mich an :thumbup:.


    Der AddOn-Link im Startbeitrag funktioniert nicht mehr (Forumsupdate) - hier die neue Variante :

    SciTE-AddOn: OwnHotKeys (inkl. Installer)


    Nebenbei : DEMO-ANGUCKEN liefert mir eine leere Seite.

    EDIT : Flashplayer wird benötigt


    Gruß Musashi

  • Ist das so noch aktuell ?"

    Grundsätzlich ja.


    Es gibt aber inzwischen Änderungen in der SciTE Version. Dadurch

    - funktioniert der Installer nicht mehr (manuelle Installation erforderlich)

    - die neueste SciTE Version kann keine externen Bibliotheken einbinden (hier erforderlich: shell.dll), lässt sich beheben, indem man einfach die SciTE.exe gegen die der Vorversion tauscht.


    Wenn Probleme auftauchen, einfach fragen.


    Edit:

    Die Probleme beziehen sich auf die OHK-Version. In dieser Version verwende ich require nicht, somit ist die fehlende Bibliothekeneinbindung hier nicht relevant.