BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Novo Vim: RegEx mais rápido e mais de 1000 correções

Novo Vim: RegEx mais rápido e mais de 1000 correções

Favoritos

A versão 7.4 do editor de textos Vim foi recentemente lançada, após mais de 1 ano em beta. A atual versão é mais robusta e traz como novidade um motor de busca mais rápido para tratamento de expressões regulares (RegEx).

"Corrigir todos os problemas, sejam pequenos ou grandes; fazer com que o Vim seja mais robusto" é o sexto desejo mais popular na lista das funcionalidades mais desejadas por usuários do Vim. A equipe do Vim levou isso em conta, e mais de mil correções e pequenas melhorias foram realizadas desde o lançamento da última versão (7.3) em agosto de 2010.

O novo motor de busca com regex usa novos algoritmos:

O que agora é chamado de "antigo" motor de busca para expressões regulares faz uso de um algoritmo de backtracking, que tenta fazer uma comparação da expressão com o texto de uma maneira, e quando há uma falha, volta atrás e tenta de outra forma. Esse procedimento funciona bem para padrões regex simples, porém para padrões complexos pode se tornar muito lento no caso de textos mais longos. O novo motor de busca usa uma máquina de estados, que tenta localizar todas as alternativas possíveis para o caractere atual, e armazena os estados possíveis do padrão regex. É um pouco mais lento para padrões simples, mas muito mais rápido para regex complexos e textos longos.

Há também uma interface Python melhorada, com o python-bindeval (que usa vim.bindeval em vez do eval embutido) e o objeto python-tabpage (para permitir o trabalho com tabpages).

Para obter uma lista completa de mudanças desde a versão 7.3, pode-se ver os arquivos de readme das versões 7.3 e 7.4 (o segundo é a lista as correções desde o lançamento do beta). Outra opção é instalar a nova versão e executar o comando ": help version7.4".

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT