Как я могу отредактировать несколько файлов в VIM?

Почему бы не зарегистрироваться в файл, current.log, который можно выследить-f к содержанию основ и затем использовать что-то как/usr/sbin/logrotate для вращения того файла. Можно указать в конфигурации, что требуется сделать, некоторые постповорачивают команды для переименования старого файла с добавленной датой и т.д. Это устраняет необходимость символьных ссылок полностью и может также упростить Ваш код входа.

Конечно, logrotate не может быть установлен в системе, для которой Вы разрабатываете.

173
24.12.2011, 19:21
10 ответов

В первую очередь, в энергии можно войти: (двоеточие) и затем помогает help, крыло :help для списка сам помогают темам, включая короткое учебное руководство. В рамках списка тем перемещают Ваш курсор через интересную тему и затем нажимают ctrl], и та тема будет открыта.

Хорошее место для Вас для запуска было бы темой

|usr_07.txt|  Editing more than one file

Хорошо, на Вашем ответе.

После стартовой энергии со списком файлов можно переместиться в следующий файл путем ввода :next или :n если коротко. :wnext коротко для записи текущие изменения, и затем переместитесь в следующий файл.

Существует также аналогичное :previous, :wprevious и :Next. (Отметьте это :p сокращение от :print. Сокращение от :previous :prev или :N.)

Для наблюдения, где Вы находитесь в списке файлов, входят :args и файл, в настоящее время будучи отредактированным появится в [] (скобки).

Пример:

vim foo.txt bar.txt
:args

результат:

[foo.txt] bar.txt
179
27.01.2020, 19:27

Команды для переключения между буферами:

:bf            # Go to first file.
:bl            # Go to last file
:bn            # Go to next file.
:bp            # Go to previous file.
:bw            # Close file.

:help buffer найти больше информации

Для знания имени файла используют Ctrl+G,:file или :f

38
27.01.2020, 19:27

можно открыть другой файл, в то время как энергия открыта с :tabe filename и переключаться на другой файл Вы вводите :tabn или :tabp для следующего и предыдущего соответственно.

Сочетания клавиш gT и gt могут также использоваться для переключения вкладок, когда Вы не находитесь в режиме редактирования (т.е. не во вставке, замените и т.д. режимы). В некоторых системах Ctrl+Alt+Page и Ctrl+Alt+Page вниз также позволяют переключение вкладки, но это не всегда работает (например, это не будет работать в терминале OS X 'из поля').

И Вы видите имя файла наверху приложения энергии.

55
27.01.2020, 19:27
  • 1
    Это. Также откройте файлы на вкладках с: vim -p file1 file2 –  Not Now 25.12.2011, 03:15
  • 2
    ПОРАЗИТЕ! Я никогда не сталкивался с этим прежде, несмотря на то, что использовал энергию в течение многих лет. Это изменяет все. –  me_and 21.08.2013, 16:13
  • 3
    Обратите внимание, что вкладки не предназначаются для работы с несколькими файлами. Они предназначаются для работы с несколькими разметками. Статья See. –  patryk.beza 14.10.2015, 12:26
  • 4
    В стороне: Если Вы уже находитесь в энергии и хотите добавить другой файл, можно использовать: :argadd filename и затем :next к нему. Аналогично, можно использовать :argdel filename удалить один из файлов в редактировании. Wissam Al-Roujoulah –  Luv2code 19.01.2017, 21:05

Другая опция кроме данных ответов, состоит в том, чтобы разделить окно с:

:sp
:vsp

:vsp для вертикального разделения. Затем используйте Ctrl+W <ARROW_KEYS> перемещаться в области.

27
27.01.2020, 19:27
  • 1
    Можно использовать :vs вместо :vsp –  Khaja Minhajuddin 03.06.2012, 11:09
  • 2
    Или даже просто Ctrl+W, v для вертикального разделения и Ctrl+W, s для горизонтального разделения. –  Ruslan 05.01.2015, 20:20
  • 3
    я использовал CTRL+W в течение многих лет и недавно я делаю большое VI редактирований в веб-страницах. Каждый раз я ввожу команду, даже не думая и... whammmm... вкладки браузера не стало! Я продолжаю забывать. Я действительно должен изучить новый ярлык. –  Jeach 09.02.2018, 18:56
:n -> Move to next file
:N -> Move to previous file
14
27.01.2020, 19:27

Я задал подобный вопрос в суперпользователе,

"Как скопировать и вставить между различными окнами удара и файлами, открытыми с VI?"

Ответ на мой вопрос был Вами, не может, но можно открыть два файла в одном окне удара с помощью VIM :split команда:

  1. Откройте файл с $ vim file1, откройте второй файл в рамках использования VIM :split file2 команда.
  2. Или, использовать $ vim -o file1 file2 от удара.
  3. Переключатель между файлами - переключает активный файл - в VIM с ctrl-w ctrl-w.
  4. Операция в качестве примера затем является копией (или рывок) в file1 yy, переключатель (3), затем вставьте (или поместите), p содержание в file2.
  5. Все остальное нормально, когда любое окно активно, таким образом :q выходы и :q! выходы силы.

Мой удар является черным и белым, таким образом, имя файла каждого экрана разрабатывается как обратная 'выбранная' строка с именем файла, процитированным там.

Woot!

10
27.01.2020, 19:27

Есть много способов сделать это. Первый, возможно, менее удобный, это вызов vim с файлами, которые вы хотите отредактировать - создайте:

vim first_file second_file ...

Вызов двух файлов в двух буферах. Для переключения с одного файла на другой используйте :n и :N. Чтобы перечислить редактируемые файлы, выполните команду :args. :буфер помощи поможет Вам больше в этом.


Это должно ответить на Ваш вопрос. Но вот более подробная информация:

Есть способ редактировать файлы более удобным способом, разделив экран консоли с помощью vim. Для этого откройте два кадра с помощью :split (:sp) или :vsplit (:vs) при использовании vim. Затем перемещайтесь в этих кадрах, используя комбинацию Ctrl + W > Ctrl + W. Также можно использовать Ctrl + W + стрелка или клавиша (H, J, K или L), соответствующие следующему кадру. После этого отредактируйте нужный файл с помощью :e имя_файла. :help opening-window поможет Вам в этом больше.

Теперь, если Вы хотите увидеть различия между файлами, используйте аргумент -d или вызовите программу vimdiff (это одно и то же) с соответствующими файлами. :help diff поможет вам в этом больше.

vim -d first_file second_file ...

Пожалуйста, дайте мне знать, если у вас возникнет какая-то проблема.

.
0
27.01.2020, 19:27

Я считаю, что самый удобный метод редактирования нескольких файлов - это использование вкладок. Вы можете открыть несколько файлов в отдельных вкладках через командную строку, как показано ниже:

vim -p file1.txt file2.txt

Или, если у вас уже открыт vim, вы можете открыть новый файл в новой вкладке, как показано ниже:

:tabe file2.txt

Когда вы открыли вкладки, используйте gt для просмотра следующей вкладки и gT для просмотра предыдущей вкладки.

Вы также можете перейти к первой вкладке с помощью 1gt, ко второй вкладке с помощью 2gt и т. д.

Закрыть вкладки можно с помощью :tabc

Наконец, можно переместить текущую вкладку в n-е место с помощью :ntabm, где n - любое число, большее или равное 0.

6
27.01.2020, 19:27

Мне нравится использовать разделенные окна - как горизонтальные, так и вертикальные - для редактирования нескольких файлов.

Я использую tmux, чтобы упростить управление этими окнами

https://tmux.github.io/ «Что такое терминальный мультиплексор? Он позволяет легко переключаться между несколькими программами в одной терминал, отсоедините их (они продолжают работать в фоновом режиме) и повторно подключите их к другому терминалу. И сделайте намного больше. См. руководство. "

Пример: просмотр файлов или выполнение тестов справа, редактирование теста и исходного кода файлы слева: enter image description here

1
27.01.2020, 19:27

:e #(filename) для переключения между двумя открытыми файлами

:p для предыдущего файла

:n для следующего файла

0
27.01.2020, 19:27

Теги

Похожие вопросы