Comando para “ir para o final da última linha que tenha conteúdo, no modo de inserção”

2

Com arquivos de texto plano, quando os reabro no Vim para adicionar conteúdo, quero ir até o final da última linha de conteúdo e entrar no modo de inserção. Em circunstâncias ideais, um simples GA após abrir o arquivo cuidaria disso. Infelizmente, eu tenho o hábito de adicionar algumas novas linhas extras no final do arquivo, e está provando um hábito difícil de se livrar.

Dado isso, qual é a maneira mais simples no Vim de dizer "vá para a última linha do arquivo que contém conteúdo, vá para o final dessa linha e entre no modo de inserção"? Eu acho que o cerne da minha pergunta é, como eu expresso o conceito de "última linha que tem conteúdo" para o Vim?

    
por sundar 30.07.2015 / 00:00

3 respostas

1

Você pode usar ?\w enter seguido por A

  • ?\w procura de volta pela primeira palavra
  • A coloca você no modo de inserção na última linha que contém o conteúdo
por 30.07.2015 / 11:35
1

Se você deseja sempre acessar a última linha de um arquivo que não é espaço em branco ou um determinado tipo de arquivo, insira um autocmd no seu ~/.vimrc . Por exemplo:

:autocmd BufRead *.txt :$;?\S?

Isso vai automaticamente para o final do arquivo e procura por um caractere que não seja espaço em branco, em qualquer arquivo que corresponda ao padrão de glob *.txt . Você então digita o por exemplo para adicionar coisas.

A mesma técnica pode ser usada para remover linhas em branco que você deixa no final de buffers quando você os escreve de volta no arquivo, portanto evitando o problema em primeiro lugar. Por exemplo:

:autocmd FileType python autocmd BufWritePre <buffer> :%s/\(\n\s*\)\+\%$//e

Este exemplo faz isso apenas para arquivos reconhecidos como filetype python (por exemplo, sufixo .py).

    
por 30.07.2015 / 13:45
0

Eu nunca trabalhei no Vim, mas vou propor alguma lógica:

  • Ir para o final do arquivo
  • Fazer backup de um caractere
  • Substituir nova linha por cadeia nula - se for bem sucedido, repita; se não, estamos prontos.
por 30.07.2015 / 07:57

Tags