Sprunglink zum Inhalt Sprunglink zur Service-Navigation

Andreas Borutta

Service Navigation

Suche siteweit

Tipps zu Autohotkey – systemweit Autotexte und Makros nutzen

Hier geht es vor allem um ein Merkmal der Anwendungssoftware (Windows) Autohotkey:
Autotexte systemweit nutzen.

Was zeichnet die Anwendung Autohotkey von Chris Mallett aus?

Kurzes Inhaltsverzeichnis:
Vollständiges Inhaltsverzeichnis:

Neuste Tipps

Download – Dokumentation – Installation

Download

Download der aktuellen Version von Autohotkey

Dokumentation

Installation

Es gibt keine Besonderheiten beim Installieren von AutoHotkeyInstall.exe zu beachten. Der Installations-Dialog erklärt sich selbst.

Update

Um eine bestehende Version zu aktualisieren ist es nicht nötig, existierende Skripte zu sichern. Sie werden nicht überschrieben.

Es genügt, einfach die aktuellste Version zu laden und sie in das gleiche Verzeichnis zu installieren, worin schon die vorherige Version liegt.

Autotexte

Auf dieser Seite verwende ich den Begriff Autotext. Für die Funktion um die es geht, kursieren diverse andere alternative Begriffe:
Autovervollständigung, Autokorrektur, Autorechtschreibkorrektur, Autoersetzen, Hotstring,  …

Vokabular

:o:mfg::Mit freundlichen Grüßen                                      
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Autotext           hotstring               
   ^^^                          Autotext-Auslöser  hotstring abbreviation  
        ^^^^^^^^^^^^^^^^^^^^^^^ Autotext-Ergebnis  hotstring replacement        
 ^                              Autotext-Schalten Sier  hotstring option        

Autotexte nutzen – anhand eines einfachen Beispiels

Autotexte effizient nutzen

Hier empfehle ich drei Schritte, die Ihnen die Nutzung von Autotexten erleichtern

  1. Autotextdatei automatisch bei Neustart des Rechners aktivieren
    • Fügen Sie eine Verknüpfung der Autotextdatei in den Autostartordner ein: Rechtsklick auf Autotextdatei (Festhalten und ziehen) > Startmenü > Programme > Autostart > Rechte Maustaste loslassen > Verknüpfung hier erstellen
  2. Autotextdatei nach Änderungen automatisch neu aktivieren
    • Wenn Sie einen neuen Autotext in Ihre Autotextdatei eingefügt und die Datei gespeichert haben, müssen Sie eigentlich die Datei erneut aufrufen, damit der neue Autotext auch zur Verfügung steht. Das wäre unpraktisch.
      Fügen Sie folgenden Code ganz oben in Ihrer Autotextdatei ein:
      ; BEGIN
      ; Dieses Skript bewirkt, dass die Datei in der das Skript sich befindet
      ; automatisch neu geladen wird, wenn sie gespeichert wurde
      ; Achtung! Das Skript muss sich ganz oben in der Datei befinden.
      SetTimer,UPDATEDSCRIPT,1000
      UPDATEDSCRIPT:
      FileGetAttrib,attribs,%A_ScriptFullPath%
      IfInString,attribs,A
      {
      FileSetAttrib,-A,%A_ScriptFullPath%
      SplashTextOn,,,Updated script,
      Sleep,500
      Reload
      }
      Return 
      ; END
      
      Jetzt genügt es, nach dem Einfügen eines neuen Autotextes, die Datei einfach zu speichern
  3. Autotextdatei bequem im Texteditor öffnen

    Beim Klicken auf eine Datei mit der Endung ahk wird die Autotextdatei aktiviert. Um die Datei zu bearbeiten, muss sie jedoch im Texteditor geöffnet werden. Damit diese Aufgabe schnell und einfach erledigt werden kann, ist eine Verknüpfung im Startmenü hilfreich:

    • Rechtsklick auf Ihre Autotextdatei (Maustaste festhalten und ins Startmenü ziehen) > Maustaste loslassen > Verknüpfung hier erstellen > Eventuell einen passenden Namen wählen "Meine Autotextdatei im Texteditor öffnen"
    • Stellen Sie jetzt den Pfad Ihres Texteditors fest. Wenn es Notepad ist, finden Sie ihn in Startmenü > Programme > Zubehör > Editor > Rechtsklick > Eigenschaften > Reiterkarte Verknüpfung > Feld Ziel
      Kopieren Sie den Inhalt des Feldes. (Hier lautet er z.B. %SystemRoot%\system32\notepad.exe)
    • Fügen Sie den Pfad in die anfangs erstellte Verknüpfung ein:
      Startmenü > Rechtsklick auf "Meine Autotextdatei im Texteditor öffnen" > Eigenschaften > Feld Ziel
      Fügen Sie %SystemRoot%\system32\notepad.exe an den Anfang des Feldes ein und setzen Sie ein Leerzeichen danach. Danach könnte im Feld Ziel z.B. stehen:
      %SystemRoot%\system32\notepad.exe D:\autotexte\meine_autotexte.ahk

Umfangreiche Liste zur automatischen Korrektur von typischen Schreibfehlern

globale-autokorrektur.ahk (ca. 400 Einträge)

Zum Speichern: Rechtsklick > Speichern unter

Endzeichen nicht ausführen

Auslöser ktnr
Ergebnis 123456
Autotext :o:ktnr::123456
Bemerkung Normalerweise wird das Endzeichen, also das Zeichen nach dem Auslöser mit im Ergebnis ausgegeben. Egal ob es ein Leerzeichen, eine Absatzschaltung, ein Tabular oder ein Satzzeichen ist. In manchen Fällen möchten Sie dies vielleicht nicht.

Autotexte mit Bewegung der Einfügemarke

Auslöser kke
Ergebnis [|] ("|" soll den blinkenden Cursor symbolisieren)
Autotext :o:kke::[]{Left}
Bemerkung Manche Zeichenfolgen kommen oft vor, sind aber für weniger gut geübte 10-Finger-Tipper nicht ganz einfach flüssig blind zu tippen. Eckige Klammern sind dafür ein Beispiel. Wenn Sie sie mit Hilfe eines Autotextes eingeben, ist das Bewegen der Einfügemarke an die passende Stellen naheliegend. Im Ergebnis "wartet" die Einfügemarke dann zwischen den Klammern.

Kommentare setzen

Code ; Kommentar
Bemerkung Ein ; leitet einen Kommentar ein. Er reicht bis zum Ende der Zeile.

Geschweifte Klammern ausgeben

Auslöser kks
Ergebnis {}
Autotext ::kks::{{}{}}
Bemerkung Die geschweiften Klammern besitzen innerhalb von Autotexten eine besondere Funktion. Wenn Sie sie ausgeben möchten, müssen Sie sie kennzeichnen (sog. Escapen). Weil zum Kennzeichnen/ Escapen die geschweifte Klammer dient, habe ich diese kennzeichnen Zeichen, die nicht dargestellt werden fett dargestellt.

Mehrzeiliger Autotext

Auslöser test
Ergebnis eins
zwei
drei
Autotext ::test::
(
eins
zwei
drei
)
Bemerkung

Zeilenumbruch statt Absatzschaltung – für Textverarbeitungen

Auslöser test
Ergebnis eins
zwei
drei
Autotext :r0:test::
(join
eins+{Enter}
zwei+{Enter}
drei
)
Bemerkung +{Enter} entspricht der Eingabe von Umschalt+Enter. In einer Textverarbeitung wird so meist ein Zeilenumbruch erzeugt. Ein bloßes Enter dagegen bewirkt eine Absatzschaltung.

Skripte

Markiertes Wort online übersetzen - Deutsch-Englisch/ Englisch-Deutsch – systemweit per Tastenkürzel

Danke an Peter Lederer, der das Skript auf meine Anregung hin erstellt hat.

Was ist dafür nötig?

Wie nutzt man das Skript?

Markiertes Wort online in der Enzyklopädie Wikipedia nachschlagen – systemweit per Tastenkürzel

Danke an Peter Lederer, der das Skript auf meine Anregung hin erstellt hat.

Was ist dafür nötig?

Wie nutzt man das Skript?

Markiertes Wort bei Google nachschlagen - systemweit per Tastenkürzel

Danke an Peter Lederer, der das Skript auf meine Anregung hin erstellt hat.

Was ist dafür nötig?

Wie nutzt man das Skript?

Weiterführende Links

Deutschsprachig

Anliegen

Autotexte automatisch alphabetisch sortieren (Anliegen)

Autotexte werden anhand ihres Auslösers alphabetisch sortiert.

Autotexte in bestimmten Anwendungen erlauben/ ausschließen (Anliegen)

Vorschlag:

; Kürzel wirkt in jeder Anwendung
[all]
::k1::eins                 

; Kürzel wirkt überall, nur nicht in der Anwendung Openoffice
[-openoffice.exe]
:k2::zwei

; Kürzel wirkt nur in der Anwendung Thunderbird und Dialog
[+thunderbird.exe, +dialog.exe] 
::k3::drei

Stellungnahme des Autors von Autohotkey, Chris: It's a good idea and hopefully someday it will get implemented.

Anleitung zur Automatisierung von typischen Abfolgen (Anliegen)

Ich suche nach einer leicht verständlichen Anleitung um einfache wiederkehrende Abfolgen mit Hilfe eines Autohotkey-Makros zu automatisieren.

  1. Das Lesen und Verstehen der Anleitung soll für einen unerfahrenen Anwender nicht länger als 7 Minuten in Anspruch nehmen
  2. Das Erstellen eines hier skizzierten einfachen Makros soll nicht mehr als 6 Minuten in Anspruch nehmen
  3. Das Makro soll nur in einer spezifischen Anwendung, nehmen wir als Beispiel die Mail-Anwendung Thunderbird, wirksam sein. Genauer: es soll wirken, wenn die Anwendung den Fokus besitzt.
  4. Das Bestimmen eines eindeutigen Merkmals für die Anwendung soll so schnell und einfach wie möglich sein
  5. Das Makro soll nicht wirken, wenn bestimmte untergeordnete Fenster der Anwendung, wie das Entwurfs-Fenster, den Fokus besitzen
  6. Das Makro soll per Tastenkürzel ausführbar sein.
    Es soll auch ein Tastenkürzel aus einem einzelnen Buchstaben möglich sein. Dazu muss geprüft werden, ob der Cursor nicht in einem Texteingabefeld, wie z.B. der Suchbox steht, denn dort soll selbstverständlich der Buchstabe kein Makro auslösen.
  7. Das Tastenkürzel soll in anderen Anwendungen nicht blockiert sein
  8. Das Makro soll Befehle aufnehmen, die der Nutzer sonst aus dem Menü wählt:
    1. Menü Nachricht > Weiterleiten als > Anhang
    2. Feld 'An:' > report@hier-wird-spam-gefiltert.de
    3. Menü Datei > Jetzt senden
    Alle Befehle können auch mit der Tastatur ausgeführt werden. Der erste Befehl z.B. mit Alt+N, W, W, Pfeil rechts, A. Der dritte Befehl kann mit Strg+Enter ausgeführt werden.
  9. Es ist nicht erwünscht, dass das Makro getestet werden muss, um herauszufinden, ob eventuell Pausen an bestimmten Stellen eingefügt werden müssen
  10. Je präziser Felder in Dialogen (also Checkboxen, Radiobuttons, Textfelder, Auswahllisten,  …) "getroffen" werden können, desto besser. Dabei soll der Zeitaufwand um den passenden Code zu finden um die Felder präzise zu "treffen" so gering wie möglich sein.

Skriptideen

Markierten Text als Liste formatieren

Aufzählungen oder nummerierte Listen sind nützlich – auch z.B. in Text–Mails. Sie können die Lesbarkeit eines Textes erheblich verbessern.

Manuelles Formatieren mit manuell eingefügten Leerzeichen und Umbrüchen ist sehr aufwendig und fehlerträchtig. Besonders in einer längeren Liste würden Änderungen (z.B. in der Reihenfolge) immense erneute Arbeit bedeuten.

Beispiel vor dem Formatieren:

Text über der Liste. Text über der Liste. Text über der Liste. Text 
über der Liste. 

Listen kommen nicht selten vor und können Sachverhalte oft 
sehr viel übersichtlicher darstellen als Fließtext.

Eine Nummerierung macht es Lesern besonders leicht, in knapper
Form aus langen Listen zu zitieren.

. . .

Was tun, wenn man im Nachhinein etwas in eine Liste einfügen möchte?
Viel Handarbeit erwartete einen.

Text unter der Liste. Text unter der Liste. Text unter der Liste. Text
unter der Liste.

Wo ein Listenpunkt beginnt und endet, wird durch eingefügte Leerzeilen gekennzeichnet.

Beispiel nach dem Formatieren als geordnete Liste:

Text über der Liste. Text über der Liste. Text über der Liste. Text 
über der Liste. 

   1 Listen kommen nicht selten vor und können Sachverhalte oft 
     sehr viel übersichtlicher darstellen als Fließtext.

   2 Eine Nummerierung macht es Lesern besonders leicht, in knapper
     Form aus langen Listen zu zitieren.

     . . .

  13 Was tun, wenn man im Nachhinein etwas in eine Liste
     einfügen möchte? Viel Handarbeit erwartete einen.

Text unter der Liste. Text unter der Liste. Text unter der Liste. Text
unter der Liste.

Beispiel nach dem Formatieren als ungeordnete Liste:

Text über der Liste. Text über der Liste. Text über der Liste. Text 
über der Liste. 

   + Listen kommen nicht selten vor und können Sachverhalte oft 
     sehr viel übersichtlicher darstellen als Fließtext.

   + Eine Nummerierung macht es Lesern besonders leicht, in knapper
     Form aus langen Listen zu zitieren.

     . . .

   + Was tun, wenn man im Nachhinein etwas in eine Liste
     einfügen möchte? Viel Handarbeit erwartet einen.

Text unter der Liste. Text unter der Liste. Text unter der Liste. Text
unter der Liste.

Das Skript zählt die Anzahl der Listenpunkte und bestimmt automatisch die richtige Zahl der vorangehenden Leerzeichen, damit auch bei mehrstelligen Ziffern der Text der Listenpunkt bündig untereinander steht.

Neben der Möglichkeit eine nummerierte Liste zu erstellen, ist auch eine ungeordnete Liste (Aufzählung) interessant. Statt der Zahl steht dann vor jedem Listenpunkt ein +.

Listenpunkte werden durch Leerzeilen voneinander abgegrenzt.

Verbesserung des Skriptes hotstring4me

Dies ist eine Skizze eines Skriptes, welches das Anlegen von Autotexten beschleunigen und vereinfachen soll. Die Methode benötigt so wenige Schritte wie möglich (die Hände bleiben dabei auf der Tastatur).

Es gibt zwei Zielgruppen:

  1. Anwender, die viel schreiben (Journalisten …) und regelmäßig Autotexte erstellen
  2. Anwender, die Dialoge schätzen, die nicht mehr Entscheidungen abfragen als wirklich nötig

Ausgangssituation:

Schritte zum Anlegen eines Autotextes:

  1. Der Anwender markiert einen Text (im Beispiel ist es einer mit Zeilenumbrüchen):
    Dieses Beispiel
    enthält ein Semikolon ;und – sogar -
    Text in geschweiften {Klammern}
  2. Der Anwender startet das Skript hotstring4me mit dem Kürzel, z.B. Win+Q. Im Hintergrund wird der Text in die Zwischenablage kopiert. Ein Dialog öffnet:
    Autotext hinzufügen
    Auslöser
    (Maximale Länge: 30 Zeichen)
    Ergebnis
    Wirkungsbereich Global: Autotext gilt in jeder Anwendung
    Lokal: Autotext gilt nur in der aktuell geöffneten Anwendung
    Der Button Autotext hinzufügen ist aktiviert. Die ersten 10 Buchstaben des zuvor markierten Textes werden in dem Feld als Auslöser vorgeschlagen und sind vorausgewählt. So kann der Anwender den Auslöser bei Bedarf direkt überschreiben.
  3. Der Anwender ändert den Auslöser wie er es wünscht.
    Im Beispiel wählt er bsp
  4. Der Anwender wählt Enter um den Autotext hinzufügen (die aktivierte Button Autotext hinzufügen wird "gedrückt")

Ergebnis:

Weitere Eigenschaften von hotring4me:

Siehe auch die Diskussion zu diesem Thema im Forum (englischsprachig).