2016-04-01 7 views
0

Ich benutze den folgenden Code im Moment. Es funktioniert, wenn jede Zeile mit einem Zeilenumbruchzeichen beginnt, aber nicht anders. Ich habe ein paar Variationen versucht, die dazu führen, dass Autohotkey automatisch den Anfang der Zeichenfolge entfernt.Wie füge ich am Anfang jeder Zeile in einem ausgewählten Text mit autohotkey vier Leerzeichen hinzu?

AppsKey:: 
    oldClipBoard := ClipboardAll ; old Clipboard 
    clipboard = ; Emptying clipboard to prepare for ClipWait 
    SendInput, ^c ; Copying the selected text (Crtl+C) 
    ClipWait 

    selected_text := Clipboard 

    StringReplace, selected_text , selected_text , `r`n , `n , All 

    placeholder := "`n " 
    StringReplace, selected_text , selected_text , `n , %placeholder% , All 

    SendInput, %selected_text% 

    ClipBoard := oldClipBoard ; restore ClipBoard 

    return 

Antwort

2

Versuchen Sie, die vier Räume zu Beginn der Zeichenfolge Hinzufügen eingefügt werden:

SendInput, {space 4}%selected_text% 

und wählen Sie nicht den Zeilenvorschub oder Wagenrücklaufzeichen (e) am Ende der vorherigen Zeile in deiner Auswahl.

Hinweis: Da eine Auswahl von Text normalerweise nicht mit einem Zeilenumbruchzeichen beginnt, fügt der obige Code nur die vier Zeichen {space 4} an den Anfang der Auswahl und der ursprüngliche Code des OP behandelt die vier Leerzeichen für jede neue Zeile habe das vorhergehende Newline-Zeichen, das dann durch die Newline und vier Leerzeichen ersetzt wird).

+0

Ich nehme an, Sie haben das OP nicht gelesen. 'Es funktioniert, wenn jede Zeile mit einem Newline-Zeichen beginnt, aber nicht anders. Mit anderen Worten, das OP hatte bereits Code, der die vier Leerzeichen bei jeder neuen Zeile ** hinzufügte, was durch Ersetzen des Zeilenvorschubzeichens' n mit erreicht wurde das Newline-Zeichen plus vier Leerzeichen. Leider vernachlässigt dieser Ansatz die allererste Zeile der ursprünglichen Auswahl (weil es keinen vorherigen neuen Zeilencharakter gibt) und die akzeptierte Antwort (AA) löst dieses Problem. – PGilm

+0

ah ich sehe! wie dumm von mir. – Blauhirn

+1

Ich kann den Downvote nicht rückgängig machen. wtf. seit wann ist das .. wenn du deinen Beitrag redest, kann ich das. wusste das nicht lol. Es tut uns leid. – Blauhirn