Welchen ed hast du verwendet? Den von GNU oder den der Heirloom-Tools? Letzterer sollte problemlos mit UTF-8 umgehen koennen.myyers hat geschrieben: Aber ed hat sich wie ein Ferkel ver-
halten und mir mehrmals die Kodierung versaut.
Ed will nicht mit non-ASCII-Zeichen ... Problem: tmux!?
Ed will nicht mit non-ASCII-Zeichen ... Problem: tmux!?
Beitraege abgespaltet von: http://debianforum.de/forum/viewtopic.php?f=15&t=132716
Use ed once in a while!
Re: Wie stark seid ihr mit einem Editoren verbunden?
Den von GNU; mit utf-8 kann er ja schon umgehen, irgendwie, aber unterMeillo hat geschrieben:Welchen ed hast du verwendet? Den von GNU oder den der Heirloom-Tools? Letzterer sollte problemlos mit UTF-8 umgehen koennen.myyers hat geschrieben: Aber ed hat sich wie ein Ferkel ver-
halten und mir mehrmals die Kodierung versaut.
bestimmten Bedingungen, die ich jetzt nicht ganz genau untersucht habe,
werden auf einmal alle dt. Sonderzeichen mit Platzhaltern ersetzt.
Wie auch immer, habe mal ed von heirloom kompiliert, den gerade
geschilderten Fall nicht getestet (ich will damit jetzt nicht gross Zeit
verlieren) aber eine Sache, um Schwierigkeiten hervorzurufen, klappt
immer noch problemlos.
In einer Testdatei beispielsweise ein Steuerzeichen einfügen, in vim mit
CTRL-V-M, und sich die Datei dann in ed anschauen, das ergibt dann sowas,
nach dem Steuerzeichen:
Code: Alles auswählen
27 : ☃┼⎽e⎼├ ├e│├ be±☃┼┼☃┼± ⎺° °☃┌e:
28 ec▒⎺ ↑e '▮⎼ b┌▒↓°☃┌e\┼┬' ≠ ed ├e⎽├↓├│├
machen.
Das aber nur am Rande, ich habe grad keine Zeit für so lustige Spielereien.
Re: Wie stark seid ihr mit einem Editoren verbunden?
Dann will ich auch nur kurz was dazu sagen: Scheint, als ob da was anderes (z.B. dein Terminal) kaputt waere. Wenn du mal wieder Zeit hast, dann melde dich und wir nehmen uns der Sache an.myyers hat geschrieben: Wie auch immer, habe mal ed von heirloom kompiliert, den gerade
geschilderten Fall nicht getestet (ich will damit jetzt nicht gross Zeit
verlieren) aber eine Sache, um Schwierigkeiten hervorzurufen, klappt
immer noch problemlos.
In einer Testdatei beispielsweise ein Steuerzeichen einfügen, in vim mit
CTRL-V-M, und sich die Datei dann in ed anschauen, das ergibt dann sowas,
nach dem Steuerzeichen:und nach dem Schliessen von ed, muss ich ein reset des TerminalsCode: Alles auswählen
27 : ☃┼⎽e⎼├ ├e│├ be±☃┼┼☃┼± ⎺° °☃┌e: 28 ec▒⎺ ↑e '▮⎼ b┌▒↓°☃┌e\┼┬' ≠ ed ├e⎽├↓├│├
machen.
Das aber nur am Rande, ich habe grad keine Zeit für so lustige Spielereien.
Bei mir mit dem Heirloom ed:
Code: Alles auswählen
:-& printf "a\rbäöüß\n" >/tmp/a
:-& od -c /tmp/a
0000000 a \r b 303 244 303 266 303 274 303 237 \n
0000014
:-& ed /tmp/a
12
p
bäöüß
l
a\015bäöüß
q
:-&
Code: Alles auswählen
@->-- printf "a\rbäöüß\n" >/tmp/a
@->-- od -c /tmp/a
0000000 a \r b 303 244 303 266 303 274 303 237 \n
0000014
@->-- ed /tmp/a
12
p
bäöüß
l
a\rb\303\244\303\266\303\274\303\237$
q
@->--
Use ed once in a while!
Re: Wie stark seid ihr mit einem Editoren verbunden?
Na, 'n bisschen prokrastinieren geht doch immerMeillo hat geschrieben: [...] Dann will ich auch nur kurz was dazu sagen: Scheint, als ob da was anderes (z.B. dein Terminal) kaputt waere. Wenn du mal wieder Zeit hast, dann melde dich und wir nehmen uns der Sache an.
Ein schneller Test hat gezeigt, der Übeltäter ist: tmux
Ohne den läuft es in jedem Terminal(emulator) wie es soll.
Re: Wie stark seid ihr mit einem Editoren verbunden?
Teste `tmux -u' und evtl. `echo "set-window-option -g utf8 on" >>~/.tmux.conf'. Ist das Problem dann geloest? Wenn ja, dann koennte es am Locale gelegen haben.myyers hat geschrieben: Ein schneller Test hat gezeigt, der Übeltäter ist: tmux
Ohne den läuft es in jedem Terminal(emulator) wie es soll.
Use ed once in a while!
Re: Wie stark seid ihr mit einem Editoren verbunden?
Also erstmal, alle Probleme scheinen von tmux herzurühren. Das ist schön, dennMeillo hat geschrieben:Teste `tmux -u' und evtl. `echo "set-window-option -g utf8 on" >>~/.tmux.conf'. Ist das Problem dann geloest? Wenn ja, dann koennte es am Locale gelegen haben.myyers hat geschrieben: Ein schneller Test hat gezeigt, der Übeltäter ist: tmux
Ohne den läuft es in jedem Terminal(emulator) wie es soll.
ab & an, wenn man nicht damit arbeiten *muss*, bringt ed richtig Spass.
Die obigen Vorschläge jedoch haben nix gebracht. Die locale hier ist übrigens: de_DE.UTF-8
Re: Ed will nicht mit non-ASCII-Zeichen ... Problem: tmux!?
So, wenn ich das richtig verstehe, hat das anscheinend was mit ncurses zu
tun. Das Problem tritt immer dann auf, wenn ich vorher ein entsprechendes
Programm aufgerufen habe: lynx, mutt beispielsweise. Auch ohne tmux.
Wenn ich es *nach* ed und der genannten Datei aufrufe, tritt es es in diesen
Programmen auch auf.
tun. Das Problem tritt immer dann auf, wenn ich vorher ein entsprechendes
Programm aufgerufen habe: lynx, mutt beispielsweise. Auch ohne tmux.
Wenn ich es *nach* ed und der genannten Datei aufrufe, tritt es es in diesen
Programmen auch auf.
Re: Ed will nicht mit non-ASCII-Zeichen ... Problem: tmux!?
Vielleicht kann mal jemand ausprobieren, ob er das reproduzieren kann:
In eine Datei ein Steuerzeichen für Wagenrücklauf beispielsweise einfügen.
In der Datei steht dann nur:
^M
Dann in Terminal oder Terminal-Emulator:
Bei mir sieht das dann -- zum Test danach eingegeben `pwd` -- so aus:
In eine Datei ein Steuerzeichen für Wagenrücklauf beispielsweise einfügen.
In der Datei steht dann nur:
^M
Dann in Terminal oder Terminal-Emulator:
Code: Alles auswählen
cat datei
Code: Alles auswählen
do! cat bla
d⎺! ⎻┬d
/▒⎺└e/▒├├☃┼±
d⎺!
Re: Ed will nicht mit non-ASCII-Zeichen ... Problem: tmux!?
Ist das in allen Terminals bei dir so?
Versuche mal ein ^H (= Backspace). Gibt dein Terminal auch bei Folgendem den Geist auf?
Macht es einen Unterschied, ob du das `\b' bei printf, oder ^H (mit ^V eingegeben) verwendest?
Versuche mal ein ^H (= Backspace). Gibt dein Terminal auch bei Folgendem den Geist auf?
Code: Alles auswählen
printf 'H\bMaus\n'
Use ed once in a while!
Re: Ed will nicht mit non-ASCII-Zeichen ... Problem: tmux!?
So was ähnliches hatte ich schon versucht. Nein, nichts von alledem schafft Probleme.Meillo hat geschrieben:Ist das in allen Terminals bei dir so?
Versuche mal ein ^H (= Backspace). Gibt dein Terminal auch bei Folgendem den Geist auf?Macht es einen Unterschied, ob du das `\b' bei printf, oder ^H (mit ^V eingegeben) verwendest?Code: Alles auswählen
printf 'H\bMaus\n'
Und ja, es passiert auf der Console (tty) und in allen Terminal-Emulatoren, die ich hier habe,
gnome-terminal, terminator, xterm, rxvt-unicode (letztere habe ich jetzt extra zum Testen installiert)
Die einzige Ausnahme ist emacs-term.
Re: Ed will nicht mit non-ASCII-Zeichen ... Problem: tmux!?
Schau mal ob das bei dir ebenso ablaeuft:
Das zeigt die Ausgabe von ed, lesbar dargestellt von od(1). Damit sollte das Terminal ganz bleiben und wir sehen evtl. vorhandene seltsame Zeichen.
Code: Alles auswählen
$ printf 'H\bMaus\n' >/tmp/a
$ echo p | ed - /tmp/a | od -c
0000000 H \b M a u s \n
0000007
$
Use ed once in a while!
Re: Ed will nicht mit non-ASCII-Zeichen ... Problem: tmux!?
Das sieht bei genauso aus.Meillo hat geschrieben:Schau mal ob das bei dir ebenso ablaeuft:Das zeigt die Ausgabe von ed, lesbar dargestellt von od(1). Damit sollte das Terminal ganz bleiben und wir sehen evtl. vorhandene seltsame Zeichen.Code: Alles auswählen
$ printf 'H\bMaus\n' >/tmp/a $ echo p | ed - /tmp/a | od -c 0000000 H \b M a u s \n 0000007 $
Re: Ed will nicht mit non-ASCII-Zeichen ... Problem: tmux!?
Hmm, das macht mich ratlos.myyers hat geschrieben: Das sieht bei genauso aus.
Use ed once in a while!
Re: Ed will nicht mit non-ASCII-Zeichen ... Problem: tmux!?
Hoppla. — Mal wieder dran rumprobierit. Es funktioniert doch, und zwar alle
Zeichen ausser: ^N. Ist mir nicht aufgefallen, weil das zum Test mit drin stand.
Steht das überhaupt für etwas?
Zeichen ausser: ^N. Ist mir nicht aufgefallen, weil das zum Test mit drin stand.
Steht das überhaupt für etwas?
Re: Ed will nicht mit non-ASCII-Zeichen ... Problem: tmux!?
^N ist \016 ist SO (= shift out). Hab keine Ahnung was das macht, ausser dass ich bestaetigen kann, dass es auch mein Terminal kaputt macht.myyers hat geschrieben:Hoppla. — Mal wieder dran rumprobierit. Es funktioniert doch, und zwar alle
Zeichen ausser: ^N. Ist mir nicht aufgefallen, weil das zum Test mit drin stand.
Steht das überhaupt für etwas?
Um von den ^X Umschreibungen auf die Steuerzeichen zu kommen, kannst du einfach in ASCII vom Zeichencode des Grossbuchstabens (hier 'X') dezimal 64 abziehen. Die ascii(7) ist normalerweise zweispaltig, da kannst du einfach auf der gleichen Zeile nach links gehen. Damit wird auch klar, warum die Umschreibungen so heissen.
Use ed once in a while!