Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.editoren > #565 > unrolled thread
| Started by | Heiko Schlichting <heiko@cis.fu-berlin.de> |
|---|---|
| First post | 2025-05-06 16:21 +0000 |
| Last post | 2025-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.
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
| From | Heiko Schlichting <heiko@cis.fu-berlin.de> |
|---|---|
| Date | 2025-05-06 16:21 +0000 |
| Subject | Re: 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]
| From | Janis Papanagnou <janis_papanagnou+ng@hotmail.com> |
|---|---|
| Date | 2025-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