autocommand BufRead não está funcionando no vim ao salvar um buffer vazio

2

Estou tentando usar autocmd para obter alguns mapeamentos específicos de nome de arquivo. Eu segui algumas instruções online e escrevo o seguinte no meu vimrc :

autocmd BufRead,BufNewFile special.txt (some mappings here)

Funciona bem quando eu insiro um arquivo ou cria um novo buffer com o nome special.txt , mas não quando eu crio um buffer vazio (por exemplo, ao iniciar o vim sem argumento) e o salvo com um nome special.txt .

Mesmo um simples echomsg não funciona:

autocmd BufRead,BufNewFile special.txt echomsg test

e não há texto test no histórico de mensagens.

Mas na documentação de BufRead eu vejo

Also triggered for the filetypedetect group when executing ":filetype detect" and when writing an unnamed buffer in a way that the buffer gets a name.

Quando eu salvo um buffer vazio com o nome special.txt , o buffer recebe um nome e BufRead deve ser acionado. Mas na verdade não é. Existe alguma coisa que eu estou perdendo ou eu apenas tenho que usar outro evento autocommand?

E, caso seja útil, estou usando a versão de linha de comando do vim no pacote vim-gtk do repositório do Ubuntu.

    
por infmagic2047 17.10.2014 / 14:43

1 resposta

1

Você precisa interpretar o texto de ajuda assim:

Also triggered [only] for the filetypedetect group when (executing ":filetype detect" [or] when writing an unnamed buffer in a way that the buffer gets a name).

Então, este funciona:

:autocmd filetypedetect BufRead,BufNewFile special.txt echomsg "ftdetect test"
    
por 17.10.2014 / 15:14

Tags