Как настроить vim запрос на открытие файла будет перенаправляться на уже открытый файл в более раннем терминале?

#vim #terminal #editor #vi #nautilus

#vim #терминал #редактор #vi #наутилус

Вопрос:

Я открыл файл, дважды щелкнув по значку файла в браузере файлов (скажем, из nautilus). Файл откроется в vim, запущенном на терминале (скажем, в терминале gnome). Допустим, я снова попытаюсь открыть тот же файл, дважды щелкнув значок файла в браузере файлов. На этот раз vim, открытый в терминале, выдаст вам раздражающее сообщение об открытии файла в режиме только для чтения и т. Д.

Мне нужен метод для прямого просмотра более старого терминала gnome, когда файл в нем уже открыт. Другие редакторы на основе графического интерфейса (например, gedit) получили эти опции. Если таких доступных опций нет, я собираюсь использовать gvim, если у него есть такая функция.

Комментарии:

1. Я сомневаюсь, что в Vim есть такая опция, поскольку в нем нет редактора на основе графического интерфейса.

Ответ №1:

Vim имеет клиент-серверные возможности, которые можно использовать для этой цели. По умолчанию, когда вы открываете gvim окно, запускается сервер. Имя сервера будет в строке заголовка, и по умолчанию первое GVIM , второе GVIM2 , следующее GVIM3 и так далее.

Можно открыть файл в том же окне, вызвав vim или gvim с --remote --remote-silent помощью опций или (последний не выводит ошибку, если сервер отсутствует). Вы можете указать другой сервер, отличный от первого, используя --servername SERVER .

Если ваша цель состоит в том, чтобы всегда использовать только один сеанс Vim, независимо от того, как вы вызываете программу, вы всегда можете использовать gvim и настроить GNOME для открытия файлов gvim --remote-silent , а также установить это в вашей конфигурации оболочки export EDITOR="gvim --remote-silent" . Тогда вы всегда будете открываться в одном окне, независимо от того, что вы делаете.

Если вы хотите, чтобы в одном окне открывались только файлы в графическом интерфейсе, и продолжаете использовать Vim командной строки для других задач, то оставьте свою конфигурацию оболочки, указывающую на vim и установите GNOME для открытия файлов gvim --remote-silent , чтобы он открывал все файлы из графического gvim интерфейса и оставлял ваши другие сеансы в покое.