Как открыть два разных файла с помощью редактора 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.