Atraso de movimento de Vim em linhas com 40 ou mais símbolos

2

Eu gosto de delimitar visualmente o código-fonte por longas linhas de comentário: Em C ++ eu uso 80 / caracteres, em Python eu uso 80 # caracteres, etc. Ao longo dos anos eu notei que o Vim ocasionalmente soluça respondendo por cerca de meio segundo mais ou menos) quando me desloco; hoje eu descobri que isso só ocorre nas minhas linhas delimitadoras.

Por exemplo:

line 1
line 2
////////////////////////////////////////////////////////////////////////////////
line 4
line 5

Quando o cursor está em qualquer lugar na linha 3, qualquer movimento (para cima, para baixo, página para cima, página para baixo, esquerda, direita, $ , 0 , ...) quase sempre exibe o atraso; em outras linhas isso não acontece.

Brincando com isso, descobri:

  • O atraso parece ocorrer em linhas com um total de 40 ou mais símbolos ( / , - , = , . , # etc) em qualquer lugar da linha, não incluindo _ (talvez porque o sublinhado esteja incluído na definição do Vim de word ).
  • O atraso não parece aumentar para linhas mais longas. Por exemplo, linhas com 1000% de caracteres co_de% têm um atraso semelhante a 40% de caracteres co_de%.
  • O atraso só ocorre quando se inicia um movimento "novo" a partir dessa linha. Usar a repetição da tecla OS para percorrer a linha não acrescenta atraso.
  • O atraso não parece relacionado a realces de sintaxe ou plug-ins: vejo o mesmo comportamento com / , / e vim -u NONE .
  • O GUI Vim (gvim) não parece ter esse problema.

Estou usando o MacVim 8.0 de macports no aplicativo Terminal em um MacBook Pro, mas o Vim 7.4 padrão fornecido pela Apple tem o mesmo comportamento.

Não consegui encontrar nenhuma menção a isso no Google, no Stack Overflow ou no Super User, mas é muito reproduzível no meu sistema.

Este é um problema conhecido? Existe uma configuração de tempo de execução ou opção de construção que controla isso (máximo de símbolos suportados em uma linha ou algo assim) ou uma solução alternativa que o alivia?

    
por Anders Johansson 30.09.2017 / 18:20

0 respostas