Ich versuche, ein neues Textobjekt in Evil zu erstellen. Zum Beispiel wird das Textobjekt iw nur Teilmengen von Strings auswählen, die Bindestriche enthalten. Ich möchte, dass das neue Textobjekt Wörter mit beliebigen Nicht-Leerzeichenzeichen abgleicht. Was ich bis jetzt bekommen habe ist:Emacs Evil-Modus: Wie erstellt man ein neues Textobjekt, um Wörter mit beliebigen Nicht-Leerzeichen auszuwählen?
(evil-define-text-object evil-inner-space (count &optional beg end type)
"Select inner space."
:extend-selection nil
(evil-regexp-range count beg end type "[ \n]" " " t))
(define-key evil-inner-text-objects-map " " 'evil-inner-space)
Dieser Code stimmt nicht überein Wörter am Ende einer Zeile korrekt zu entsprechen. Es funktioniert für Wörter am Anfang einer Zeile dank \ n.
Ich habe viele Dinge versucht, die nicht funktionierten. Das Problem für mich ist, dass, wenn etwas nicht funktioniert, ich nicht weiß, ob es aufgrund einer falschen Regexp oder Einschränkungen im Bösen-Regexp-Bereich ist. Zum Beispiel meldet die Verwendung von \ s - einen Fehler, der im Bösen eine Einschränkung darstellt.
Ich füge hinzu, dass das aktuelle Übel bereits ein inneres WORD Textobjekt an "i W" gebunden hat. – PythonNut
haha Ich habe das bei Websuchen nicht gefunden ... Ich sollte eines Tages das vim-Handbuch lesen. Danke – lionel