La solución más simple: usar ciWpara seleccionar una palabra delimitada por espacios en blanco.
El problema más grande tiene que ver con el valor del _personaje en la tabla de sintaxis . El problema es que _, por defecto, es un componente de símbolo en la tabla de sintaxis, y desea tratarlo como un componente de palabra.
Si está utilizando emacs 24.4, puede intentar habilitarlo superword-mode. No lo he probado yo mismo, por lo que su kilometraje puede variar.
Una alternativa es simplemente modificar la tabla de sintaxis usted mismo y decirle a Emacs que desea que trate el _carácter como un componente de la palabra, así:
(modify-syntax-entry ?_ "w")
Después de hacer eso, ciwfunciona como lo desea, de modo que seleccionará todo en abc_def_ghilugar de solo def.
Sin embargo, hacerlo de esta manera puede ser excesivo, especialmente si solo desea _que cuente como parte de la palabra para el objeto de texto. En cambio, puede aconsejar evil-inner-wordlo siguiente:
(defadvice evil-inner-word (around underscore-as-word activate)
(let ((table (copy-syntax-table (syntax-table))))
(modify-syntax-entry ?_ "w" table)
(with-syntax-table table
ad-do-it)))
Ahora, _sigue siendo un símbolo constituyente de todo, excepto del objeto de texto de la palabra interna, por ciwlo que hará exactamente lo que desee sin tocar la funcionalidad de nada más.
Puede leer más sobre cómo modificar tablas de sintaxis en el nodo EmacsWiki .
w,aw, etc.), se puede hacer lo mismo con las siguientes funciones también:evil-forward-word-begin,evil-forward-word-end,evil-backward-word-begin,evil-backward-word-end,evil-a-word,evil-inner-word. Nota: debe cambiarunderscore-as-worda valores diferentes, únicos (arbitrarios).