2016-04-01 16 views
0

Şu anda şu kodu kullanıyorum. Her satır bir satırsonu karakteri ile başlar, ancak başka türlü değil, çalışır. Otomatik anahtar kümesinin, dizenin başlangıcını otomatik olarak sıyırmasıyla sonuçlanan birkaç varyasyonu denedim.Seçilen metindeki her satırın başına autohotkey ile dört boşluk ekleyebilir miyim?

SendInput, {space 4}%selected_text% 

Ve önceki satırın sonunda satır besleme veya satır başı karakteri (ler) seçmezseniz: dizenin başından dört boşluk ekleyerek

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 

cevap

2

deneyin yapıştırılması gerekir Seçiminizde

Not, bir metin satırı genellikle yeni satır karakteri ile başlamayacağından, yukarıdaki kod yalnızca seçimin başına dört karakter {space 4} ekler ve OP'nin orijinal kodu her yeni satır için dört boşluğu kullanır önceki satırsonu karakterine sahip ve sonra yeni satır ve dört boşluk ile değiştirilir).

+0

OP'yi okumadığınızı tahmin ediyorum. 'Her satır yeni satır karakteri ile başlar, ancak başka türlü değil, çalışır.' Diğer bir deyişle, OP zaten her satırda yeni bir alan ekledi. yeni satır karakteri artı dört boşluk. Ne yazık ki bu yaklaşım orijinal seçimin ilk satırını ihmal ediyor (çünkü daha önce yeni bir satır karakteri yok) ve kabul edilen cevap (AA) bu sorunu çözüyor. – PGilm

+0

ah görüyorum! aptal ben – Blauhirn

+1

İndirgemeyi geri alamıyorum. o ne lan. ne zamandan beri .. eğer mesajınızı düzenlerseniz, yapabilirim. lol bilmiyordu. afedersiniz. – Blauhirn

İlgili konular