Vim mover palavra pula ponto

6

Estou usando o MacVim com spf13 e quando uso w para avançar uma palavra, os pontos são vistos como parte de a palavra.

     myObject.myMethod()
     ^       ^        ^
     |       |        |
cursor       |        |
             |        |
  where I want to go  |
                      |
where I'm actually moved

Existe uma configuração para isso?

Acompanhamento: Notei que o vim só se comportava assim com alguns arquivos. Para fileA.coffee avançar, salta os pontos, mas, para fileB.coffee , não. Isso está definido no nível do arquivo de alguma forma?

No entanto, nos arquivos que pularam o ponto ( fileA ) fazendo: set iskeyword-=. como sugerido pela Heptite funciona.

    
por Cotten 14.04.2014 / 09:06

3 respostas

8

É a opção 'iskeyword' . Você pode alterar esse comportamento simplesmente fazendo:

:set iskeyword-=.

Se isso não funcionar, significa que o caractere de período está incluído na opção como parte de um intervalo de caracteres em vez de individualmente, e você terá que verificar o valor (com o ponto de interrogação como parte do comando):

:verbose set iskeyword?

Em seguida, determine como modificá-lo adequadamente para excluir o período. Dê uma olhada nisso (com aspas simples como parte do comando):

:help 'iskeyword'

Devo avisá-lo de que ter o caractere de período incluído em 'iskeyword' não é um padrão do Vim, portanto, você pode ter um plug-in de tipo de arquivo ou um realce de sintaxe específico do idioma que esteja adicionando-o. A razão disso é que o ' iskeyword ' é usado para muitas coisas, incluindo certos átomos de expressões regulares, que podem ser usados no realce de sintaxe. Então, removê-lo pode "quebrar" outra coisa.

    
por 14.04.2014 / 09:15
0

Eu tive muitos problemas com o plugin neocomplete que foi adicionado ao spf13. A conclusão falhou em muitos casos, as pesquisas estão falhando e até mesmo o ESC não funciona dentro das palavras para retornar ao modo normal. A remoção do neocomplete e de todas as configurações relacionadas ao neocomplete resolveu a maioria desses problemas, embora o ESC ainda seja necessário duas vezes em determinadas situações para sair do modo Insert.

    
por 27.07.2015 / 22:19
0

O caminho certo é alterar a definição da palavra-chave.

Eu uso no vimrc:

set iskeyword=65-90,95,97-122,48-57 "the same: a-z,_,A-Z,0-9

Se você usar alguns plug-ins, como o ctrlp, precisará de algum trabalho extra para manter a configuração iskeyword ativa, porque existe uma grande quantidade de plugins mudando a palavra-chave toda vez que eles são executados.

Você pode mapear o líder + k para executar este comando

map <leader>k :set iskeyword=65-90,95,97-122,48-57<CR>

    
por 28.11.2016 / 16:30

Tags