Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.editoren > #565 > unrolled thread

Re: Ausrichtung

Started byHeiko Schlichting <heiko@cis.fu-berlin.de>
First post2025-05-06 16:21 +0000
Last post2025-05-06 18:39 +0200
Articles 2 — 2 participants

Back to article view | Back to de.comp.editoren

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Ausrichtung Heiko Schlichting <heiko@cis.fu-berlin.de> - 2025-05-06 16:21 +0000
    Re: Ausrichtung Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2025-05-06 18:39 +0200

#565 — Re: Ausrichtung

FromHeiko Schlichting <heiko@cis.fu-berlin.de>
Date2025-05-06 16:21 +0000
SubjectRe: Ausrichtung
Message-ID<m7ur8hFd2c5U1@mid.uni-berlin.de>
Stefan Ram <ram@zedat.fu-berlin.de> wrote:
> Seit Jahren wünsche ich mir, daß Editoren automatisch 
> an Zeichen ausrichten könnten.

Es mag zwar etwas schneller gehen, wenn man das direkt im Editor machen
kann, aber den entsprechenden Teil zu markieren und dann durch ein winziges
perl- oder awk Script zu schicken, was die Zeilen in zwei Teile aufteilt
und diese auf Basis des längsten ersten Teils mit printf wieder ausgibt,
sollte für die meisten immer noch ausreichend schnell sein.

Wer es doch schneller haben will und es oft benötigt, kann sich auch eine
entsprechende vimscript-Funktion schreiben, wobei mir das für diesen
Anwendungsfall deutlich schwerer fiele als in perl.

Heiko

[toc] | [next] | [standalone]


#566

FromJanis Papanagnou <janis_papanagnou+ng@hotmail.com>
Date2025-05-06 18:39 +0200
Message-ID<vvde08$3c1up$1@dont-email.me>
In reply to#565
On 06.05.2025 18:21, Heiko Schlichting wrote:
> Stefan Ram <ram@zedat.fu-berlin.de> wrote:
>> Seit Jahren wünsche ich mir, daß Editoren automatisch 
>> an Zeichen ausrichten könnten.
> 
> Es mag zwar etwas schneller gehen, wenn man das direkt im Editor machen
> kann, aber den entsprechenden Teil zu markieren und dann durch ein winziges
> perl- oder awk Script zu schicken, was die Zeilen in zwei Teile aufteilt
> und diese auf Basis des längsten ersten Teils mit printf wieder ausgibt,
> sollte für die meisten immer noch ausreichend schnell sein.

Tatsächlich waren das auch meine Überlegungen als ich den Post las,
und mein erster grober _Entwurf_ (ohne Fehlerbehandlung) in Awk ist

awk -v sym="$1" '
{
    pos = index($0, sym)
    if (pos > max) max = pos
    lft[NR] = substr($0, 1, pos-1)
    rgt[NR] = substr($0, pos+length(sym))
}
END {
    for (i=1; i<=NR; i++)
        printf "%-*s%s%s\n", max-1, lft[i], sym, rgt[i]
}'

Aus dem Vi/Vim/Gvim heraus dann mit dem '!' Kommando aufzurufen.

> Wer es doch schneller haben will und es oft benötigt, kann sich auch eine
> entsprechende vimscript-Funktion schreiben, wobei mir das für diesen
> Anwendungsfall deutlich schwerer fiele als in perl.

Dito. (Nutze Vi bzw. Vim seit Jahrzehnten und habe im Vim noch nie
Vimscript eingesetzt.)

Trotzdem schade, dass solch eine Alignment-Funktion im Vim nicht als
Standardfunktion verfügbar ist; es ist ja durchaus eine nicht selten
benötigte Funktion in verschiedenen textuellen Kontexten.

Janis

[toc] | [prev] | [standalone]


Back to top | Article view | de.comp.editoren


csiph-web