Навигация с использованием SSH

10

Я знаю, что можно использовать vim scp://host/path/to/fileдля редактирования локально удаленных файлов, а затем обновить удаленный компьютер при сохранении ( :w). Однако я хотел бы знать, возможно ли перемещаться по каталогам с помощью ssh (или есть плагин для этого)

NERDTree не поддерживает его, и при просмотре папок, хотя netrw позволяет мне перемещаться по каталогам, открытие файла не работает.

lesurp
источник

Ответы:

13

Вместо указания Vim / Netrw на файл:

scp://host/path/file

укажите на каталог:

scp://host/path/

Это дает вам тот же список и те же ярлыки, как если бы вы просматривали свой компьютер.

romainl
источник
Вы пробовали это при удаленном Unixдоступе с вашего компьютера для доступа к папкам на компьютере с Windows ... Я только что попробовал vim scp://user@10.1.4.4//C:/Users/user/Desktop/tmp/, и он просто выдал мне пустой экран, с ошибкой 'ls' is not recognized as an internal or external commandпри попытке: vim scp://user@10.1.4.4//C:/Users/user/Desktop/tmp/filename.. он работает нормально.
alpha_989
Из этого кажется, что vimвыдает команду ls, когда он входит в систему на удаленном компьютере ... и потому, что это компьютер с Windows .. нет ls.. и команда не выполняется. Возможно ли, чтобы vim просматривал windowsкаталоги через ssh, используя netrwплагин или что-то еще? Я используюVIM 8.1
alpha_989
2
Обратите внимание, что косая черта после scp://host//path/необходима для того, чтобы это работало; в противном случае vim попытается открыть путь как обычный файл, который будет загружен пустым.
koyae
1

К сожалению, я забыл открыть этот вопрос!

Поэтому проблема заключалась в том, что в моей версии netrw (упакованной с vim-gnome в Debian Jessie) изменение файла из проводника (через ssh) не использовало бы правильный URI (из памяти, '@' в ' user @ host 'отсутствует). Он открыл пустой файл (потому что ничего не нашел), но все равно сохранил новый файл, используя хороший URI (эффективно перезаписывая исходный файл).

Ответ @ user21497 также помог мне, потому что я никогда не находил ярлык «новый файл», что очень удобно, потому что использование «: e» создает файл локально.

Наконец, этот вопрос помог мне лучше ориентироваться с помощью netrw (возвращаясь к проводнику после открытия файла с помощью: Ex)

Спасибо за помощь ребята !

lesurp
источник
0

Я не уверен, что вы подразумеваете под "уведомить новый файл"; если вы хотите создать новый файл, при просмотре через scp: // имя_хоста / каталог просто нажмите «%», как если бы вы находились в локальном каталоге, чтобы создать новый файл. Смотрите: помогите netrw-%. Вы можете создать каталог, используя d (: help netrw-d). Если вы хотите изменить уже существующий файл, выберите его курсором поверх имени файла на дисплее netrw и нажмите <cr>(есть и другие методы выбора, включая v, o, t и т. Д.). Смотрите: help netrw-quickmap для обзора этого. Я только что попробовал это и не получил пустой файл (когда существовал ранее). Новый файл, конечно, будет пустым.

user21497
источник