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

Обновлено: 03.07.2024

Мне нужно отредактировать некоторые файлы, размещенные на каком-то сервере, с которым я мог бы связаться через ssh. Я бы предпочел отредактировать эти файлы в пользовательском vim на моей рабочей станции (у меня нет прав на изменение настроек vim на удаленном сервере). Иногда я хотел бы отредактировать файл с sublime text или другим графическим редактором. Конечно, я могу загрузить эти файлы, отредактировать их локально и загрузить их на сервер. Есть ли более элегантное решение?

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

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

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

Вы можете сделать это с помощью scp , как это:

Обратите внимание на две косые черты // между сервером и путем, необходимые для правильного разрешения абсолютного пути. (Первая косая черта является синтаксической, а вторая косая черта определяет корневой каталог удаленного пользователя, как обычно. Для запуска в домашнем каталоге вы должны сделать [:port]/

/path/to/file.txt .) [:port] является необязательным.

Это обрабатывается стандартным плагином va netrw.vim . Поддерживается несколько других протоколов.

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

Вы даже можете использовать псевдоним: alias vim='vim -u

/Loom.vimrc' позволит вам использовать Vim обычным способом, и он все равно загрузит ваш пользовательский .vimrc . Этот псевдоним не будет сохраняться после того, как вы выйдете из системы, так что вам не нужно беспокоиться о том, чтобы кто-либо случайно использовал ваш настроенный Vim.

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

Вот список системы контроля версий , на всякий случай.

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

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

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

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

Если у вас уже работают сеансы vim,

Протестировано с помощью BitVise SSHD , запущенного в Windows 10, и используя VIM-запуск на Ubuntu 16.04

Существуют четыре способа изменения файлов на сайте. Первый - через панель редактирования файлов, встроенную в CMS, на которой работает сайт. Второй способ - это замена файла изменённой версией через FTP (программа FileZilla). Третий способ аналогичен второму, но используя программы, которые умеют редактировать файлы на удалённых серверах без необходимости скачивать их к себе на компьютер (редакторы "Notepad++" и "Atom").

Рекомендуем ознакомиться со статьёй "Загрузка файлов на сайт с помощью FileZilla", в которой описан процесс работы с программой, которая может загрузить файл с вашего компьютера на сервер с сайтом. А так же с одной из статей. описывающих редактор файлов на сервере: "Средство разработки: Notepad++" или "Средство разработки: Atom"

Виртуальный хостинг

В верхнем меню панели администрирования найдите пункт "Хостинг". Кликните на него: Если виртуальный хостинг ещё не заказан, то список будет пуст. В этом случае рекомендуем ознакомиться со статьёй "Как заказать виртуальный хостинг".

Если виртуальный хостинг уже заказан, то необходимо перейти в его панель управления. Делается это несколькими способами. Первый - кликнуть на кнопку вызова выпадающего меню в списке, а затем кликнуть на кнопку "Перейти в панель": Либо можно кликнуть на название хостинга в списке, и в открывшемся окне изменения настроек найти кнопку "Меню". Оно вызовет то же самое выпадающее меню, в котором нужно кликнуть на пункт "Перейти в панель": Произойдёт переход на панель администрирования виртуальным хостингом. Через эту панель мы попробуем изменить файлы уже существующего сайта. Для этого в левом боковом меню найдите пункт "Главное" - "Менеджер файлов": Откроется список файлов на сервере. Навигация по этому списку осуществляется как по папкам на компьютере. То есть необходимо выбрать нужную папку и кликнуть два раза левой кнопкой мыши, чтобы открыть эту папку.

Попробуйте открыть папку с названием "www": Внутри неё можно найти папки с названиями, идентичными названиям сайтов. Зайдите в папку нужного сайта с помощью двойного клика по ней. Затем выберите нужный для редактирования файл, кликнув на него один раз и затем нажмите на кнопку "Изменить" в верхнем меню сайта: Откроется форма для изменения содержимого файла: После внесения измений в файл необходимо нажать на кнопку "Сохранить", чтобы изменения вступили в силу. Если закрыть форму без сохранения, то файл не изменится.

Я должен отредактировать некоторые файлы, размещенные на каком-либо сервере, к которому я мог бы обратиться через ssh.

Я бы предпочел отредактировать эти файлы в настроенном vim на моей рабочей станции (у меня нет прав на изменение настроек vim на удаленном сервере). Иногда я хотел бы отредактировать файл с помощью sublime text или другой графический редактор.

Конечно, я могу загрузить эти файлы, отредактировать их локально и загрузить обратно на сервер. Есть ли более элегантное решение?

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

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

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

Вы можете сделать это через scp следующим образом:

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

/path/to/file.txt .) [:port] необязательно.

Это обрабатывается стандартным плагином vim netrw.vim . Поддерживается несколько других протоколов.

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

Вы даже можете использовать псевдоним: alias vim='vim -u

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

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

Вот список Revision Control Software , на всякий случай.

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

где Loom - это ваш оригинальный идентификатор пользователя, в который вы входите как.

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

я программирую с eclipse и иногда использую текстовые редакторы GUI, такие как SciTE или vim. Тем не менее, я нахожусь в проекте, который требует, чтобы я редактировал файлы через ssh-соединение в окне SSH столбца 80.

Так как я должен (*shiver*) sudo vim прежде чем я могу открыть файл, я не уверен, как открыть файл в Редакторе снаружи терминала (это позволит мне Увидеть текст шире, чем 80 столбцов). Если командная строка была больше, я думаю, используя прямой vim это не проблема.

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

а затем смонтируйте удаленную файловую систему (проблема на локальном компьютере )

Как только это будет сделано, вы можете получить доступ к коду в

/ remote_code с любым из ваших инструментов GUI и без накладных расходов на пропускную способность использования ssh-X (однако вам все равно нужно хорошее соединение с низким пингом время.)

PS: при использовании ssh я могу сделать терминал настолько широким, насколько он соответствует моему экрану, а затем использовать его полную ширину, поэтому я боюсь, что не совсем понимаю вашу проблему.

помощью WinSCP - это SSH-клиент ftp-like. Редактор по умолчанию является примитивным, но может быть изменен.



есть различные варианты.

вы можете сделать терминал больше. ;)

Если у вас есть графическая среда, установленная на машине, в которую вы ssh, вы можете войти с ssh -X (или xdeep-putty, если вы находитесь в Windows), чтобы включить переадресацию окон. Затем вы можете запустить свой любимый редактор на удаленном компьютере, графический вывод которого перенаправляется.

наконец, вы можете подключить ssh-соединение в свою файловую систему, используя, например, предохранитель (аналогичные параметры могут существовать для операционных систем, отличных от linux). Это позволяет получить доступ к любому файлу на удаленной машине, как если бы он был в вашей файловой системе, с вашим любимым редактором, локально.

Я не уверен на 100%, что это работает для файлов, принадлежащих root, но если ваш рабочий стол-KDE , а ваша удаленная система-Linux (или почти любая форма *nix), вы можете получить konqueror для доступа к удаленной машине с помощью протокола "fish://". Оттуда вы можете открыть файл из konqueror с помощью kate или предпочтительного редактора, а konqueror позаботится о копировании файла на локальный компьютер и копировании его обратно при сохранении.

сбой, который X11 вперед является хорошим вариантом, но X11 через ssh для удаленных сайтов может быть медленным. "ssh-X-C" сжимает поток данных и может дать лучшую производительность.

в Windows вы можете использовать MobaXterm (http://mobaxterm.mobatek.net): он имеет встроенный SSH-клиент с очень полезным "SFTP-браузером".

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

Читайте также: