2009-08-14 9 views
14

Per esempio, ho attualmente questo:Come posso configurare vim in modo che i comandi di movimento includano caratteri di sottolineatura e CamelCase, ma il completamento li ignorerà?

set iskeyword-=_ 

Questo ha l'effetto di rendere questo lavoro:

foo_bar 

Se il cursore si trova su "f", premendo w si sposta il cursore alla sottolineatura. Premendo di nuovo si passa alla "b" nella barra. Questo è l'effetto desiderato per il movimento, ma ha l'indesiderato effetto collaterale di interrompere il completamento. Stessa storia con i token CamelCase. Ad esempio,

Se ho questo:

foo_bar 

e digito foo_<CTRL+N> non ottengo "foo_bar" come opzione di completamento.

risposta

15

Installare camelcase motion plugin e seguire l'esempio nella pagina per sovrascrivere il mapping predefinito w con quello di CamelCase. Ciò farà sì che i movimenti seguano CamelCase, ma non richiederà modifiche a iskeyword. In alternativa è possibile utilizzare i mapping alternativi preceduti da virgole (la mia preferenza), ,w, ,e ecc. Per fare movimenti CamelCase.

+0

Impressionante. Grazie. Ho mantenuto i movimenti originali di wbe, però. +1 per correggere anche CamelCase, che non faceva parte della mia domanda originale :) – g33kz0r