key-bindings – Definir el objeto de texto que depende del operador actual

Pregunta:

Tengo curiosidad por saber si es posible hacer que un objeto de texto sea consciente de su operador. En particular, estoy escribiendo un objeto de texto para entornos LaTeX, donde quiero un comportamiento diferente según el operador. Por ejemplo, considere el siguiente fragmento de LaTeX:

\begin{example}
  Hello world
\end{example}

Aquí es más conveniente que die borre el contenido de forma lineal, mientras que cie borra "Hola mundo", pero conserva la sangría, es decir, da

\begin{example}
  |
\end{example}

donde | es el cursor.

Respuesta:

El siguiente ejemplo se acerca a lo que está pidiendo:

onoremap <expr> w '<esc>' . v:operator . v:count1 . (v:operator ==# 'd' ? 'aw' : 'iw')

Crea un objeto de texto w que es aw , en caso de que lo use el operador de eliminación, es decir, dw = daw , o iw otro modo, por ejemplo cw = ciw .

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım