Открыть локальное текстовое приложение для редактирования удаленного текстового файла с помощью ssh?
Итак, я нахожусь в терминале VPS с помощью ssh.
В нормальном случае я мог просто запустить локально
mate <file>
и он запускает TextMate с этим файлом.
Можно ли использовать ту же команду и как-то открыть локальное приложение TextMate, но отредактировать удаленный файл?
Было бы хорошо, если вы работаете в VPS и не хотите постоянно использовать vim.
Ответы
Ответ 1
Решение заключается в установке удаленной системы с помощью sshfs
. В OS X sshfs
можно, например, установить с помощью Homebrew.
Файловая система монтируется через SSH с использованием ваших обычных учетных данных SSH или ключа, поэтому это очень просто сделать, а затем вы перемещаете его, как если бы это был локальный каталог и пользовались преимуществами доступа ко всем вашим локальным инструментам.
Ответ 2
У вас есть разные варианты:
- монтирование удаленной файловой системы с использованием (Mac) плавкого предохранителя (как рекомендовано вором),
- синхронизировать удаленный каталог:
- с rsync (как рекомендовано eglasius),
- с SCM (например, git или hg или другими),
- или, и это было бы моим предпочтительным способом, используйте Emacs (например, Aquamacs, в вашем случае) и используйте режим tramp для редактирования удаленных файлов.
Я делал это через несколько лет для некоторых проектов, и он отлично работал как для локальных сетей, так и для WAN.
Если вы хотите придерживаться TextMate, то фиктивное решение идеально.
Ответ 3
В качестве альтернативы вы можете синхронизировать папку с rsync поверх ssh.
Таким образом, вы работаете локально, и пусть rsync синхронизирует его с сервером для вас. Это может быть либо явно инициировано вами, либо запущено в демоне.
Ответ 4
Если вы сделаете ssh в другое поле, вы можете открыть файл, используя cat, и подключить его к локальному файлу.
Я не думаю, что вы можете передать его в редактор в локальном поле.
Ответ 5
Другой вариант - использовать один из двух доступных пакетов Textmate Sync - оба используют rsync и ssh, чтобы синхронизировать удаленные и локальные папки.
Единственное слово предупреждения, которое я бы добавил, это первая синхронизация, которая очистит удалённую папку и заменит ее содержимым из локальной папки.
Ответ 6
http://kennethreitz.com/remote-textmate-development-via-ssh-and-rsync.html