Wie ignoriert man weiße Räume in Emacs bösen Umgebungen?

576
godblessfq

Ich habe von hier http://kana.github.io/config/vim/surround.html erfahren, dass yss auf der aktuellen Zeile ausgeführt werden sollte und führende Leerzeichen ignoriert. Es enthält jedoch immer den führenden Leerraum auf meiner Maschine, der schlecht aussieht. Ich benutze Emacs 24.3. Irgendwelche Ideen? Vielen Dank!

1
Vielleicht sollten Sie dies dem Autor von böse Umgebung melden. Denken Sie im Moment daran, dass dies ein Unterschied im Verhalten zwischen Vim-Surround und Böse-Surround ist. echristopherson vor 10 Jahren 0
OK, ich habe das Problem auf Git Hub erstellt. godblessfq vor 10 Jahren 1

1 Antwort auf die Frage

0
chen bin

Definiere dein eigenes böses Textobjekt, ein Linienobjekt mit Leerzeichen

Hier ist das komplette Setup (getestet mit Übel 1.0.9-):

(defmacro define-and-bind-text-object (key start-regex end-regex) (let ((inner-name (make-symbol "inner-name")) (outer-name (make-symbol "outer-name"))) `(progn (evil-define-text-object ,inner-name (count &optional beg end type) (evil-regexp-range count beg end type ,start-regex ,end-regex t)) (evil-define-text-object ,outer-name (count &optional beg end type) (evil-regexp-range count beg end type ,start-regex ,end-regex nil)) (define-key evil-inner-text-objects-map ,key (quote ,inner-name)) (define-key evil-outer-text-objects-map ,key (quote ,outer-name)))))  ;; trimmed line (define-and-bind-text-object "l" "^ *" " *$") 

Obiger Code funktioniert nicht mit der neuesten Dev-Version, ich habe den Entwickler bereits benachrichtigt. https://bitbucket.org/lyro/evil/issue/478/new-text-object-created-from-regex-hang

Danke mein Herr. Ich finde Smartparens auch sehr praktisch, wenn ich Text zitieren möchte. godblessfq vor 9 Jahren 0