Jak otworzyć dwa różne pliki za pomocą edytora vi?


20

Mam dwa pliki w różnych lokalizacjach i chcę otworzyć te dwa pliki za pomocą tego samego vipolecenia. Jak mogę to zrobić?

  • Lokalizacja pliku 1: /home/rs/rest.pl
  • Lokalizacja pliku 2: /home/dev/grd.pl

4
Jeśli chodzi o jego wartość, istnieje strona w wersji beta tylko dla Vi / Vim: vi.stackexchange.com
JPhi1618

Odpowiedzi:


25

Jak zauważyła Zanna , użyj wielu argumentów do Vi. Jednak Vi (m) domyślnie nie pokazuje plików jednocześnie. Są ładowane do buforów i możesz przełączać się do następnych (lub poprzednich) buforów za pomocą :bni :bp. Jeśli chcesz zobaczyć pliki w tym samym czasie, użyj systemu Windows (dzieli):

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

Lub zakładki:

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

Jednak bufory są tym, czego Vim używa do manipulowania plikami, kartami i oknami, są jedynie sposobami wizualnego ich rozmieszczenia. Przyzwyczaj się do używania buforów bezpośrednio, zamiast przez wiele okien lub kart.

(Te opcje dotyczą także systemu Ubuntu vi, który jest vim.tinydomyślnie. vim-tinyJest wbudowany +windows, więc karty i okna są włączone).

Zobacz też:


12

Możesz wywołać call vi (lub vim) z wieloma argumentami

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

Jesteś w pierwszym pliku, ale oba są otwarte. Możesz przełączać się między nimi za pomocą :n(następnego pliku) i :N(ostatniego pliku) (naciśnij, escaby w razie potrzeby wyjść z trybu wstawiania).

Zauważyłem, że pliki te znajdują się w katalogach domowych różnych użytkowników, więc możesz nie mieć uprawnień jako zwykły użytkownik. Aby edytować pliki, których użytkownik nie ma wystarczających uprawnień do edycji, będziesz potrzebować sudo. Możesz uruchomić polecenie za pomocą sudopoczątkowo lub użyć sztuczki podczas zapisywania pliku:w !sudo tee %


2
+1 za :w !sudo tee %lewę!
nalzok

1

Jeśli chcesz wyświetlić dwa pliki sąsiadująco, użyj

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

wprowadź opis zdjęcia tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.