Un modo integrato per far aprire a Vim un nuovo buffer con file?


Risposte:


18

Penso che potresti fraintendere quello che stai vedendo accadere. :editnon chiude il buffer corrente. Lo sostituisce semplicemente nella finestra corrente . Se si digita :buffersil buffer precedente dovrebbe essere comunque elencato. È ancora aperto e nella memoria di Vim. L'unico modo per farli andare via è correre :bdo :bw(o :qovviamente).

Quindi, per rispondere alla tua domanda: :e newfile.txt

Il buffer precedente è ora il alternate filebuffer corrente ( :help alternate-file). Puoi tornare ad esso usando ctrl-^o ctrl-6.

Ci sono comandi simili a :edit

  • :split - divisione orizzontale
  • :vsplit - divisione verticale

Entrambi questi comandi (abbreviati :spe :vsrispettivamente) accettano un fileargomento opzionale come :editfa. Quindi, se si desidera dividere verticalmente e creare un nuovo file in un comando, digitare::vs newfile.txt

Dai :help edit-introuna lettura per avere un'idea di come Vim gestisce i file e :help windows-introper leggere su finestre, buffer e schede.


8

Posso ottenere questo comportamento usando questo, ma è un po 'fastidioso dover fare alcuni tasti extra:

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

" Shorthand to do both
:ene|e <file>

@JairLopez Questo mi apre una nuova divisione per me. Da :h new: "Questo si comporta prima come un": split "e poi un comando": enew "."
jasonszhao,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.