Come aprire due diversi file usando l'editor vi?


20

Ho due file in posizioni diverse e voglio aprire questi due file con lo stesso vicomando. Come posso farlo?

  • Posizione file 1: /home/rs/rest.pl
  • Posizione del file 2: /home/dev/grd.pl

4
Per quello che vale, esiste un sito beta solo per Vi / Vim: vi.stackexchange.com
JPhi1618,

Risposte:


25

Come notato da Zanna , usa più argomenti per Vi. Tuttavia, Vi (m) per impostazione predefinita non mostra i file contemporaneamente. Sono caricati in buffer e puoi passare ai buffer successivi (o precedenti) usando :bne :bp. Se vuoi vedere i file allo stesso tempo, usa windows (divide):

vim /some/file1 /some/file2 -o # horizontal split
vim /some/file1 /some/file2 -O # vertical split

O schede:

vim /some/file1 /some/file2 -p # Open up to 10 files in tabs

Tuttavia, i buffer sono ciò che Vim utilizza effettivamente per manipolare file, schede e finestre sono solo modi per disporli visivamente. Abituati ad usare direttamente i buffer, anziché tramite più finestre o schede.

(Queste opzioni si applicano anche a Ubuntu vi, che è vim.tinydi default. vim-tinyÈ costruito con +windows, quindi le schede e le finestre sono abilitate.)

Guarda anche:


12

Puoi chiamare call vi (o vim) con più argomenti

vi /home/rs/rest.pl /home/dev/grd.pl

Sei nel primo file, ma entrambi sono aperti. È possibile passare da uno all'altro usando :n(file successivo) e :N(ultimo file) (premere escper uscire dalla modalità di inserimento, se necessario).

Ho notato che questi file si trovano nelle home directory di utenti diversi, quindi potresti non avere i permessi come utente normale. Per modificare i file che l'utente non dispone di autorizzazioni sufficienti per la modifica, è necessario sudo. È possibile eseguire il comando sudoinizialmente o utilizzare un trucco durante il salvataggio del file:w !sudo tee %


2
+1 per il :w !sudo tee %trucco!
nalzok,

1

Se ti piace visualizzare i due file affiancati in orizzontale, usa

vi -o /home/rs/rest.pl /home/dev/grd.pl

inserisci qui la descrizione dell'immagine

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.