Klammern ersetzen

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

kneedeep
Posts: 10
Joined: 13 Jan 2018, 07:21

Klammern ersetzen

18 Jan 2018, 11:19

Hallo,

ich möchte, sowohl wenn ich eine runde, als auch wenn ich eine eckige Klammer öffne, diese automatisch auch wieder schließen und dann zur Eingabe zwischen diese beiden springen.
Diese Funktionen auf Strg+8 bzw. Strg+9 legen war einfach. Ich hätte es aber sehr gerne auf die öffnenden Klammern auf der Tastatur gemappt (Also auf Shift+8 und AltGr+8).

Bisher habe ich das so gemacht:

Code: Select all

^8:: 			
  SendInput, {(} 
  SendInput, {)}
  SendInput, {Left} 
Return
^9:: 			
  SendInput, {[} 
  SendInput, {]}
  SendInput, {Left} 
Return
Ersetze ich das

Code: Select all

^8::
durch

Code: Select all

(::
oder

Code: Select all

+8::
bekomme ich ")))" oder noch mehr Klammern als Ausgabe für eine eingegebene "(". Witzigerweise funktioniert es scheinbar, wenn ich die rechte Shifttaste benutze.
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Klammern ersetzen

18 Jan 2018, 11:47

Confirmed (was ich allerdings nicht witzig finde) :wtf: Sieht reichlich nach nem bug aus. Ctrl+8 ergibt dieses phänomen z.b. nicht.

Code: Select all

^8::   ; vor drücken von Ctrl+8 den zu beklammernden content markieren
      Send, ^c   ; kopiert den potentiellen klammerinhalt
      Send, % "(" . ClipBoard . ")"   ; beklammert den inhalt der zwischenablage und spuckt ihn aus
      Return
kneedeep
Posts: 10
Joined: 13 Jan 2018, 07:21

Re: Klammern ersetzen

18 Jan 2018, 11:49

Achso. Ohh. Da ich absoluter Anfänger in AHK bin, hätte ich nie in Erwägung gezogen, dass es nicht an mir liegt :)
just me
Posts: 9442
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Klammern ersetzen

18 Jan 2018, 12:18

Moin,

welche AHK Version benutzt Du? Lexikos hat sich in letzter Zeit ziemlich heftig mit den HotKeys beschäftigt und auch viel nachbessern müssen.

Edit: Du solltest aber in Fällen, in denen per Send Anweisung das Zeichen gesendet wird, das den HotKey auslöst, der HotKey-Definition ein $ Zeichen voranstellen.
:arrow: Folgende Modifikatorsymbole sind zum Definieren von Hotkeys möglich
kneedeep
Posts: 10
Joined: 13 Jan 2018, 07:21

Re: Klammern ersetzen

18 Jan 2018, 12:52

Okay, das $-Zeichen ergänze ich dann auch im restlichen Skript. Danke.

Ich habe Version 1.1.27.04
User avatar
divanebaba
Posts: 805
Joined: 20 Dec 2016, 03:53
Location: Diaspora

Re: Klammern ersetzen

18 Jan 2018, 20:54

Die runde Klammer braucht aber kein Escape-Zeichen (meiner Erfahrung nach :mrgreen: ):

Code: Select all

$(::sendinput {(}{)}{left} ; umständlich aber auch noch richtig
$(::sendinput (){left} ; funktioniert ebenso
Einfach nur ein toller Typ. :mrgreen:
kneedeep
Posts: 10
Joined: 13 Jan 2018, 07:21

Re: Klammern ersetzen

19 Jan 2018, 14:09

Danke für eure Hilfe. So funktioniert es nun wie gewünscht:

Code: Select all

$(:: 			
  SendInput, {(} 
  SendInput, {)}
  SendInput, {Left} 
Return

Ralt & 8::	
  SendInput, {[} 
  SendInput, {]}
  SendInput, {Left} 
Return
Bei der runden Klammer muss das $-Zeichen vor der Klammer stehen, bei der eckigen Klammer darf sie es nicht. Die direkte Eingabe einer geschlossenen Klammer funktioniert nicht.

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: gero and 23 guests