VIM: Cria uma função para gerar várias linhas de buffer

1

Eu tenho cerca de noventa arquivos de configuração que eu preciso adicionar um bloco quase idêntico de código adicional para, com apenas duas instâncias de uma única palavra que diferem a cada vez. Eu gostaria muito de repetir o menor esforço possível.

É possível, no VIM, escrever uma função que gere um bloco de texto dependendo de um argumento e o alimente no buffer ou o cole após a posição atual do cursor? E, em caso afirmativo, que documentação eu deveria estar investigando?

    
por Shadur 28.10.2011 / 16:23

2 respostas

2

Eu gosto de snipMate , pode ser usado, por exemplo, para escrever newconf , pressione Tab , que expande newconf para algum modelo especificado e coloca o cursor em uma posição (e nas próximas por Tab presses subseqüentes). Hart para explicar, aparentemente este vídeo explica isso (eu acho, nenhum plugin aqui). Não tenho certeza se é a melhor solução, mas no geral é bem útil.

Talvez sed , patch ou mesmo Coccinelle ("patch semântico") possa ajudar também.

    
por 28.10.2011 / 16:46
2

Você pode fazer isso diretamente de dentro do VIM, personalizando também o seu arquivo .vimrc, usando abreviações.

em .vimrc:

:ab _mytxt ################################################################################^M# This is a comment^Mkey1=value1^Mkey2=value2^M#^Mecho "Hello, World!"^M################################################################################

no vi, no modo de inserção, basta digitar _mytxt e o vim irá substituí-lo automaticamente pelo texto não abreviado.

_mytxt

torna-se

################################################################################
# This is a comment
key1=value1
key2=value2
#
echo "Hello, World!"
################################################################################

Basta ler o arquivo .vimrc e personalizá-lo. Você também pode olhar para os costumes do arquivo .exrc, que muitas vezes são utilizáveis pelo VIM.

    
por 28.10.2011 / 18:20

Tags