¿Cómo tratar los guiones bajos como el espacio?

15

¿Es posible que vim trate los guiones bajos como espacios o exageraciones, entonces cuando uso la secuencia dw, no elimina la oración completa some_long_text_with_underscores, cuando el cursor está al principio?

jligeza
fuente

Respuestas:

22

dwelimina una palabra, y lo que constituye una palabra está definido por la iskeywordconfiguración. De :h word:

                                                        word
A word consists of a sequence of letters, digits and underscores, or a
sequence of other non-blank characters, separated with white space (spaces,
tabs, <EOL>).  This can be changed with the 'iskeyword' option.  An empty line
is also considered to be a word.

Para eliminar _de iskeyword, hacer:

set iskeyword-=_
muru
fuente
1
Resultó ser una espada de doble filo, ya que vim comenzó a tratar nombres largos de funciones como palabras separadas. Por ejemplo, una función de Python llamada ,, download_and_print () "tendrá color ,, y '', ya que esta es una palabra clave del lenguaje. También es imposible navegar con * / # entre llamadas de función. Sé que no fue parte de la pregunta, pero quería mencionar esto.
jligeza
@zmarszczony el resaltado de mi función funciona bien, pero */ #se ha ido.
muru