Як відкрити два різні файли за допомогою редактора vi?


20

У мене два файли в різних місцях, і я хочу відкрити ці два файли з однією viкомандою. Як я можу це зробити?

  • Розташування файлу 1: /home/rs/rest.pl
  • Файл 2: /home/dev/grd.pl

4
Чого варто, є бета-сайт лише для Vi / Vim: vi.stackexchange.com
JPhi1618

Відповіді:


25

Як зазначила Занна , використовуйте кілька аргументів для Vi. Однак Vi (m) за замовчуванням не показує файли одразу. Вони завантажуються в буфери, і ви можете перейти до наступних (або попередніх) буферів за допомогою :bnі :bp. Якщо ви хочете одночасно бачити файли, використовуйте windows (розщеплення):

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

Або вкладки:

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

Однак буфери - це те, що Vim насправді використовує для обробки файлів, вкладок та вікон - це лише способи візуального їх упорядкування. Звикайте безпосередньо використовувати буфери, замість кількох вікон або вкладок.

(Ці параметри також застосовуються до Ubuntu vi, яка vim.tinyза замовчуванням vim-tinyпобудована +windows, тому вкладені вкладки та вікна.)

Дивись також:


12

Ви можете викликати виклик vi (або vim) з кількома аргументами

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

Ви знаходитесь у першому файлі, але обидва відкриті. Ви можете перемикатися між ними, використовуючи :n(наступний файл) і :N(останній файл) (натисніть, escщоб вийти з режиму вставки, якщо потрібно).

Я помічаю, що ці файли містяться в домашніх довідниках різних користувачів, тому ви, можливо, не маєте дозволу як звичайний користувач. Щоб редагувати файли, у яких ваш користувач не має достатнього дозволу на редагування, вам знадобиться sudo. Ви можете запустити команду sudoспочатку або скористатися хитрістю, зберігаючи файл:w !sudo tee %


2
+1 за :w !sudo tee %трюк!
nalzok

1

Якщо ви хочете переглянути два файли, викладені горизонтально, використовуйте

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

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.