Uma maneira interna de fazer o Vim abrir um novo buffer com o arquivo?

Respostas:

18

Acho que você pode estar entendendo mal o que está vendo acontecer. :editnão fecha seu buffer atual. Apenas o substitui na janela atual . Se você digitar :buffersseu buffer anterior, ainda deverá estar listado. Ainda está aberto e na memória de Vim. A única maneira de fazê-los ir embora é correr :bdou :bw(ou, é :qclaro).

Então, para responder sua pergunta: :e newfile.txt

Seu buffer anterior agora é o alternate filedo buffer atual ( :help alternate-file). Você pode voltar para ele usando ctrl-^ou ctrl-6.

Existem comandos semelhantes a :edit

  • :split - divisão horizontal
  • :vsplit - divisão vertical

Ambos os comandos (encurtados :spe :vsrespectivamente) recebem um fileargumento opcional como o :editfazem. Portanto, se você deseja dividir verticalmente e criar um novo arquivo em um comando, digite::vs newfile.txt

Faça :help edit-introuma leitura para ter uma idéia de como o Vim manipula arquivos e :help windows-intropara ler em janelas, buffers e guias.

Tommy A
fonte
8

Eu posso realizar o comportamento usando isso, mas é meio chato ter que pressionar algumas teclas extras:

:enew         " shorthand: ene
:edit <file>  " shorthand: e

" Shorthand to do both
:ene|e <file>
jasonszhao
fonte
@JairLopez Isso abre uma nova divisão para mim. De :h new: "Isso se comporta como um": split "primeiro e, em seguida, um comando": enew "".
precisa saber é o seguinte