Как использовать GVIM, чтобы отредактировать отдаленный файл?

Я использую GVIM на Ubuntu 9.10. Я ищу правильный способ настроить GVIM, чтобы быть в состоянии отредактировать отдаленные файлы (HTML, PHP, CSS) для exemple ftp.

  • Когда я использую: e scp://username@remotehost/./path/to/file я добираюсь: error detected while processing BufEnter Auto commands for "*":E472: Command failed.
  • Когда я открываю файл на отдаленном через дельфина или Наутилус, я не могу использовать другие файлы с NERDTree.
  • Наконец, когда я редактирую на отдаленном файл через дельфина, права изменяются на междит доступа.

Таким образом, как использовать GVIM, чтобы отредактировать отдаленные файлы как на моем localhost?

26
задан pkaeding 26 January 2010 в 03:18
поделиться

5 ответов

Для того, чтобы NetRW работать без проблем, я считаю, что вам нужно не в режиме совместимости.

Попробуйте

: установить NoCompatible

, затем

: Редактировать SCP: // Хост / путь / к / файл

6
ответ дан 28 November 2019 в 06:36
поделиться

.

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

user@local:~/$ ssh -X user@host
...
user@host:~/$ gvim file

, когда последняя команда должна открывать GVIM на вашем Рабочий стол. Конечно, это зависит от удаленного хоста, имеющего X11 / GNOME / GVIM, установленный в первую очередь, что не может быть решением, которое вы ищете / вариант в вашем случае.

Примечание. Переадресация X11 может быть риском безопасности.

8
ответ дан 28 November 2019 в 06:36
поделиться

Если вам нужна удобочитаемость, вы могли бы использовать:

(new TimeSpan(1,0,0,0)).TotalSeconds

, хотя использование собственного конста может быть более ясным:)

-121--4086805-

Это не постоянное значение

http://en.wikipedia.org/wiki/Leap_second

-121--4086806-

EDIT: аутентификация ключа не требуется для открытия файлов поверх ssh. Vim предложит пароль.

Было бы полезно отметить, был ли netrw.vim загружен vim при его запуске.

:echo exists("g:loaded_netrwPlugin")

Для открытия файлов через ssh требуется открытый ключ локального компьютера в авторизованных ключах сервера. В следующем разделе справки в документации Vim это объясняется довольно хорошо.

:help netrw-ssh-hack

Быстрый способ экспорта открытого ключа - использование ssh-copy-id (если доступно).

ssh-copy-id user@host

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

:help netrw

HTH.

1
ответ дан 28 November 2019 в 06:36
поделиться

Согласно документе Bufenter обрабатывается после того, как файл будет прочитан, и буфер создал, поэтому я думаю, что NetRW успешно прочитал файл, но у вас есть плагин, который предполагает, что файл находится в локальной файловой системе и пытается получить доступ Это, например, запускать CTAGS.

Попробуйте отключить все ваши скрипты плагинов, кроме по умолчанию VIM, а затем редактировать файл.

Кроме того, попробуйте редактировать каталог, чтобы увидеть, может ли NETRW прочитать это - вам нужно поставить / на конец, чтобы NetRW знает, что это DIR.

0
ответ дан 28 November 2019 в 06:36
поделиться

Я не думал, что вы сможете напрямую редактировать удаленный файл, используя GVIM, работающий на месте. Однако, как указывали на другие, это дефинте возможно. Это выглядит очень интересно; Я проверю это. Я оставлю остальную часть моего поста здесь, если это полезно для кого-либо другого, как альтернативный метод. Этот метод будет работать, даже если у вас нет доступа SSH к файлу (т. Е. У вас только FTP, или S3 или что-то еще).

Вы можете получить этот эффект, хотя, связывая GVIM в графическое приложение для передачи файлов. Например, на OS X я использую Cyberduck для передачи файлов (FTP, SFTP и т. Д.). Затем у меня он настроил для использования GVIM в качестве моего редактора, поэтому я могу просто дважды щелкнуть файл в удаленном списке, и Cyberduck загрузит копию этого удаленного файла и открыть его в GVIM. Когда я сохраню его в GVIM, Cyberduck загружает файл обратно на удаленный хост.

Я уверен, что эта функциональность не уникальна для Cyberduck, и, вероятно, присутствует в большинстве приятных утилит передачи файлов.

-2
ответ дан 28 November 2019 в 06:36
поделиться
Другие вопросы по тегам:

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