🐧 Vim советы – редактируйте удаленные файлы с помощью Vim на Linux

Мануал

Vim – это один из лучших, легко настраиваемых текстовых редакторов, который обладает множеством уникальных функций, которых нет в других текстовых редакторах.

Сегодня мы обсудим одну из полезных функций – редактирование файлов удаленной системы из локальной.

Смысл трюка: мы можем редактировать файл, хранящийся в удаленной системе Linux, без необходимости входить в него через SSH или любым другим способом.

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

Однако есть также способ редактировать удаленные файлы с помощью Vim из вашей локальной системы.

Начиная с версии Vim 7.x, плагин netrw.vim устанавливается как стандартный.

Этот плагин позволяет редактировать файлы через ftp, rcp, scp или http.

Что такое плагин Netrw?

Для тех, кто интересуется, плагин Netrw поддерживает локальное и удаленное редактирование, чтение и запись файлов по сети.

Он также поддерживает просмотр как локальных, так и удаленных каталогов.

Для получения более подробной информации введите: help netrw в вашей сессии vim.

Давайте посмотрим, как редактировать файлы, хранящиеся в удаленной системе Linux, из нашей локальной системы с помощью Vim.

Как редактировать удаленные файлы с Vim на Linux

Редактировать удаленный файл с помощью Vim очень просто:

vim scp://user@remotesystem//path_to_file

Пример:

У меня есть текстовый файл с именем info.txt в моей удаленной системе со следующей строкой.

Welcome to Itsecforu

Теперь я собираюсь отредактировать этот файл, внести в него некоторые изменения, а затем сохранить и закрыть файл.

Все из моей локальной системы!

Для этого я просто запускаю следующую команду:

$ vim scp://itsecforu@192.168.225.22/info.txt

Здесь следует обратить внимание на следующие три вещи.

1. user@remotesystem (например, itsecforu@192.168.225.22) – Здесь itsecforu – имя пользователя удаленной системы. 192.168.225.22 – это IP-адрес удаленной системы.

2. Одиночная косая черта (/) – если вы хотите редактировать файл, который хранится в каталоге $HOME удаленной системы, вы должны использовать завершающую косую черту, чтобы отделить IP-адрес или имя хоста удаленной системы от пути к файлу.

В приведенном выше случае я сохранил файл info.txt в каталоге $ HOME, поэтому использовал одну косую черту.

3. // (Двойная косая черта) – чтобы указать полный путь к файлу, вы должны использовать двойную косую черту.

Одна косая черта (/) используется для отделения IP-адреса или имени хоста удаленной системы от фактического пути к файлу.

И еще одна косая черта используется для указания абсолютного (полного) пути к удаленному файлу.

Например, допустим, вы редактируете файл с именем info.txt, который находится в каталоге /home/itsecforu/Documents/ вашей удаленной системы.

В этом случае команда будет такой:

$ vim scp://itsecforu@192.168.225.22//home/itsecforu/Documents/info.txt

Обратите внимание на двойную косую черту между IP-адресом удаленной системы и путем к файлу.

Двойная косая черта требуется только при упоминании абсолютного пути к удаленному файлу.

Проверьте содержимое удаленного файла из вашей локальной системы:

$ ssh itsecforu@192.168.225.22 cat info.txt
itsecforu@192.168.225.22's password: 
Welcome to itsecforu
В некоторых случаях вы могли бы изменить порт SSH по умолчанию в целях безопасности.
В этом случае, упомяните порт SSH:
$ vim scp://itsecforu@192.168.225.22:2200/info.txt

Замените 2200 на ваш номер порта SSH.

Если у вас нет доступа по ssh/scp, вы можете использовать другие протоколы, например, ftp, как показано ниже.

$ vim ftp://user@remotesystem/path/to/file

Как редактировать удаленные файлы в сеансе Vim

Если вы уже находитесь в сеансе Vim, вы можете редактировать удаленные файлы из вашей локальной системы, как показано ниже.

Откройте файл из Vim в новом буфере, выполнив следующую команду:

:e scp://itsecforu@192.168.225.22/info.txt
Сделайте изменения в файле и нажмите клавишу ESC и введите :wq, чтобы сохранить и закрыть файл.
Вы также можете открыть файл в новой вкладке, выполнив:
:tabe scp://itsecforu@192.168.225.22/info.txt
Надеюсь это вам поможет.
Я буду публиковать больше советов Vim!
Продолжайте посещать наши ресурсы!
Как всегда комментарии приветствуются!

Добавить комментарий