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

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

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


person Mithun B    schedule 11.04.2019    source источник
comment
Я сомневаюсь, что в Vim есть такая опция, так как это не редактор с графическим интерфейсом.   -  person GiftZwergrapper    schedule 11.04.2019


Ответы (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 и оставьте другие сеансы в покое.

person bk2204    schedule 24.05.2019