Ich bin in der Lage, Ascii Kunst in Emacs picture-mode
zeichnen, indem Sie nach links, nach unten, oben und rechts mit den j,h,k,l
Tasten in evil-normal-mode
verschieben.Artist Mode Evil Integration
Um dies zu tun ich diese Bindungen verwendet:
(nmap :keymaps 'picture-mode-map "k" (lambda() (picture-movement-up) (picture-self-insert (string-to-char "."))) "j" (lambda() (picture-movement-down) (picture-self-insert (string-to-char "."))) "h" (lambda() (picture-movement-left) (picture-self-insert (string-to-char "."))) "l" (lambda() (picture-movement-right) (picture-self-insert (string-to-char "."))))
Was ich erwarte, dass eine einzelne Insertion der .
ist und für die Bewegung mit der entsprechenden picture-movement
Funktion geändert werden.
Wenn ich jedoch diese Bindungen ausprobierte, war die Richtung des einzufügenden Textes richtig, aber 46 Zeichen wurden sofort eingefügt. Und der Charakter war der Schlüssel, den ich bedrängte, nicht die Periode.
Zum Beispiel, wenn ich l
gedrückt habe, würde ich llllllllllllllllllllllllllllllllllllllllllllll
sofort statt nur einer allmählichen Abfolge von Perioden bekommen, wie ich l
weiter pressing.
Warum bekomme ich dieses Verhalten und wie kann ich mein erwartetes Verhalten erreichen?
Ich bemerkte, dass es ein ungewöhnliches Verhalten gab. Wenn ich 'image-insert' benutze, um ein Zeichen einzufügen, wenn ich am Anfang einer Zeile bin, springt es, wie es scheint, zu einer bestimmten Anzahl von Leerzeichen vorwärts. Es variiert jedes Mal. Aber scheint 1 größer zu sein als die Leerzeichen aus der vorherigen Zeit. Aber 'picture-self-insert' fügt ein Zeichen am Anfang der Zeile ein, wie wir es erwarten würden. Das liegt vielleicht außerhalb des Rahmens meiner Frage, aber haben Sie eine Idee, warum das so ist? Ich habe alle Modi entfernt, die mit der Einrückung zusammenhingen, und das passiert immer noch. – Piglet
Dies liegt daran, dass 'picture-self-insert'' image-update-wanted-column' aufruft, bevor es 'image-insert' aufruft. Sie könnten versuchen, es vor dem 'image-insert'-Aufruf gleich zu nennen:' (Bild-Update-Soll-Spalte (nicht (eq this-Befehl last-Befehl))) '. –