Как удаленно редактировать файлы через ssh?

Необходимо сказать groff какие макросы Вы хотите использовать. В этом случае Вы хотите

groff -ge -me -mwww grnexmpl.me > out.ps

Если Вы захотите видеть изображение принципиальной схемы, то Вам также будет нужно grnexample.g существующий в каталоге.

Я нашел, что это рабочим грогом предположило макросы и затем добавил www макросом, так как я видел, был HTML в исходном документе.

87
07.07.2019, 23:23
9 ответов

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

# issue all these cmds on local machine
sudo apt-get install sshfs 
sudo adduser <username> fuse

Теперь выполните процесс монтажа:

mkdir ~/remoteserv    
sshfs -o idmap=user <username>@<ipaddress>:/remotepath ~/remoteserv

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

68
27.01.2020, 19:30

Вы можете сделать это через SCP , как это: , как это:

vim scp://user@myserver[:port]//path/to/file.txt

Обратите внимание на две косынки // между сервером и путем, который необходим для правильного разрешения абсолютного пути. (Первая Slash синтаксика, в то время как вторая ствол указывает корневой каталог удаленного пользователя, как обычно. Чтобы начать в домашнем каталоге, вы сделаете [: Port] / ~/Path/to/file.txt .).) [: порт] не является обязательным.

Это обрабатывается Vim's Netrw.vim Стандартный плагин. Поддерживаются несколько других протоколов.

102
27.01.2020, 19:30

В зависимости от того, сколько файлов и какие файлы вы ожидаете редактировать, это, возможно, не совсем то, что вы хотите здесь сделать, но я думаю, что это стоит упомянуть. Если вам нужно редактировать файлы на удалённом сервере, но вы хотите использовать всё, что есть на вашей рабочей станции, то, возможно, вы захотите начать думать об использовании какой-нибудь системы Revision Control на ваших машинах. Таким образом, вы можете изменить локальные копии на вашей машине, используя выбранное вами программное обеспечение, зафиксировать изменения, а затем просто обновить локальные копии на целевой машине. Кроме редактирования файлов с помощью любого программного обеспечения, которое вам удобно, у вас есть дополнительное преимущество - это история изменений , связанная с каждым файлом, что всегда хорошо.

Вот список Контрольное программное обеспечение для редактирования , на всякий случай.

2
27.01.2020, 19:30

В зависимости от того, что вы имеете в виду, когда говорите, что не имеете прав редактировать настройки Vim, может быть способ использовать Vim на сервере так, как вы хотите. Если Вы не можете изменить пользователя .vimrc (потому что Вы входите в систему как пользователь с общим доступом, например), но Вы все еще можете создавать файлы, создавать их как файл с именем, например, Loom.vimrc, а затем вызывать Vim, используя переключатель -u:

vim -u ~/Loom.vimrc file_to_edit

Вы можете даже в этом случае использовать псевдоним: псевдоним vim='vim -u ~/Loom.vimrc' позволит вам использовать Vim обычным способом, и он все равно загрузит ваш пользовательский файл .vimrc. Этот псевдоним не будет сохраняться после того, как вы выйдете из системы, так что вам не нужно беспокоиться о том, что кто-то еще случайно использует ваш персонализированный Vim.

6
27.01.2020, 19:30

Чтобы расширить г-н Поттс ответ: Вы также можете сделать вышесказанное, а затем поместить что-то подобное в .bash_profile (или в то, что использует ваша оболочка):

if [[ "$(who mom loves | awk ' { print $1 }' )" == "Loom" ]]; then 
         alias vim="vim -u ~/.Loom_vimrc"  
         fi  

, где Loom — это ваш original userID, под которым вы входите в систему.

Если вы входите в систему как общая учетная запись (а не индивидуальная учетная запись, то sudo su - ing, то пусть фон Нойман помилует вашу душу, потому что вы потеряны.

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

1
27.01.2020, 19:30

Si ya tiene sesiones vim ejecutándose, use

:silent e scp://user@myserver[:port]//path/to/file.txt

El :silentdelante suprimirá el mensaje Press Enter to Continue

y

e scp://user@myserver[:port]//path/to/file.txtes el comando de modo Expara editar el archivo remnote.

Probado con BitVise SSHDejecutándose en Windows 10 y usando VIM ejecutándose en Ubuntu 16.04

1
27.01.2020, 19:30

Если вы в большей степени ориентированы на графический интерфейс -и используете один из наиболее -дружественных дистрибутивов Linux для новичков, таких как Ubuntu или Mint , это еще один вариант, который не требует любые другие установки.

У вас должен быть nemo в качестве файлового менеджера по умолчанию. Он может не называться «Nemo» в меню, поэтому зайдите в Help > Aboutвашего файлового менеджера (в приложение «Файлы» ), чтобы увидеть.

В nemo перейдите к File > Connect to server,введите данные вашего удаленного компьютера (Порт SSH по умолчанию — 22 ), а затем откройте файлы, как и любой файл на вашем локальном компьютере, в любом редакторе, который вы предпочитаете. Вы даже можете закрыть Nemo и продолжить работу в своем редакторе.

Из адресной строки видно, что используется протокол sftp.

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

0
17.06.2020, 14:32

Можно использовать несколько опций, а не только «scp»; см.:https://www.vim.org/scripts/script.php?script_id=1075

Мне больше нравится использовать "rsync", потому что для меня "diff" не работал корректно с scp.

Пример -запустить vim с файлом "/tmp/test" -на разных удаленных серверах (hostname01.domain.my и hostname02.domain.my и... ), используя bash -надставка, разрезная по вертикали:

vimdiff -O rsync://hostname{01,02,03}.domain.my:/tmp/test

3
01.07.2020, 12:06

Я довольно часто использую что-то вроде следующего

for i in hosta hostb hostc
do
ssh -t vim xx.txt
done

так что фокус в том

ssh -t vim xx.txt
-1
01.12.2020, 16:12

Теги

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