você pode forçar Vim para mostrar uma linha em branco no final de um arquivo?
-
05-07-2019 - |
Pergunta
Quando abro um arquivo de texto no bloco de notas, ele mostra uma linha em branco se não houver um retorno de carro no final da última linha que contém o texto. No entanto, no Vim não mostrar esta linha em branco. Outra coisa que notei é que o editor Vim acrescenta um retorno de carro para a última linha por padrão (mesmo que ele não mostrá-lo). Eu posso dizer, porque se eu abrir um arquivo no bloco de notas que foi criado no Vim, ele mostra uma linha em branco no final do arquivo.
De qualquer forma, eu posso viver com estas duas diferenças, mas eu estou querendo saber se existe uma opção no Vim que permite alternar esse comportamento.
Graças
PS - GVim 7.2
[Update]
Será que isso faz sentido para estar no servidor falha vez?
[Update 2]
Vou reformular isso ... Eu preciso saber quando há um retorno de carro no final do arquivo de linha única (programas de bloco de notas uma linha extra com nenhum texto, com Vim eu não posso dizer). Isto é devido a um programa Progress que lê um arquivo de texto (espera uma única linha, mas com um retorno de carro) e analisa o texto para algum propósito. Se não houver um retorno de carro, Progresso trata a linha como se fosse nulo.
[Solução Solution] Uma maneira que eu encontrei para garantir que há um retorno de carro (mas certifique-se que não adicionar um segundo) é ter a certeza que tenho o fim opção de linha de gravação ligado de (: conjunto EOL) e, em seguida, basta fazer uma escrever / salvar. Isto irá colocar um fim de linha no arquivo se ele não estiver lá. Caso contrário, ele não adicionar um novo.
Solução
:help endofline
explica como você poderia parar vim de adicionar uma nova linha extra.
Outras dicas
Parece que vim trata de nova linha como um terminador de linha, enquanto trata bloco de notas-lo como um separador de linha: de http://en.wikipedia.org/wiki/Newline
Há também alguma confusão se novas linhas terminar ou linhas separadas. Se uma nova linha é considerada uma separador, não haverá nova linha após a última linha de um arquivo. o convenção geral sobre a maioria dos sistemas é para adicionar uma nova linha, mesmo após a última A linha, ou seja, para tratar a nova linha como uma linha de o Exterminador do Futuro. Alguns programas têm problemas de processamento a última linha de um arquivo se ele não é nova linha terminada. Por outro lado, os programas que esperar nova linha a ser usado como um separador de vontade interpretar uma nova linha final como começando um novo (vazio) A linha. Isso pode resultar em uma contagem de linha diferente que está sendo relatado para o arquivo, mas é de outra maneira geralmente inofensivas.
Se bem me lembro, em sistemas Unix-y um arquivo de texto deve ser terminada com uma nova linha.
Uma opção Vim útil é
set list
Ele vai ajudar você ver todos os finais de linhas caracteres (e possivelmente outros caracteres geralmente invisíveis). Então, você será capaz de ver esta última FimDeLinha diretamente no Vim e não apenas no bloco de notas.
Quando você abrir o arquivo no VIM a linha de status deve dizer [noeol]
após o nome do arquivo. Então essa é uma indicação. Como Manni disse, você pode mudar este ajuste usando tanto a opção endofline
fora ea opção binary
diante. Você pode definir esta como configurações padrão em um arquivo .vimrc
.