5

Мне понравилась интеграция Gnome с Nautilus и FTP, а также возможность монтировать удаленный каталог FTP как обычную закладку / каталог и двойной щелчок по любым удаленным файлам для открытия в любой неизмененной программе. Я также любил редактировать текстовые файлы с помощью GVim.

Однако если я дважды щелкну файл на Nautilus, чтобы открыть текстовый файл в Gvim, то сохранение файла займет около 10 секунд, и GVim будет зависать в течение этого времени. Основным раздражителем является то, что я не могу продолжить редактирование, пока текстовый редактор ожидает завершения записи, эта задержка прервала мой рабочий процесс и процесс мышления, и сохранение стало болезненным процессом. Другая проблема заключается в том, что я не думаю, что простая загрузка файла должна занимать столько времени.

Я знаю о внутренней поддержке FTP GVim, но они не так хорошо интегрированы с FTP Nautilus, и она страдает от той же проблемы.

Итак, несколько вопросов:

  1. Есть ли способ заставить GVim или GVFS сохранять в фоновом режиме, пока я продолжаю редактирование?
  2. Почему GVFS такой медленный? Есть ли способ настроить GVFS на использование одного постоянного соединения FTP вместо создания нового соединения FTP каждый раз?

Я на Gentoo Linux x86-64.

2 ответа2

0

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

Я (как user55325) испытал это с Kate и SFTP, а также с рядом других приложений, похоже, так оно и есть.

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

0

Предполагается, что вы уже отключили плагин netrw, который (по крайней мере, в Debian и Ubuntu) распространяется вместе со средой выполнения Vim. Это может показаться правильным способом, если только вам не нужен файл, который выглядит по какой-то причине локальным.

Если вы хотите рассматривать удаленный файл как локальный, вам лучше использовать систему VFS с более настраиваемой конфигурацией, чем gvfs. Например, вы можете рассмотреть FUSE модули curlftpfs или avfs . Первый, безусловно, позволяет восстановить соединение, когда время ожидания истекло, и довольно хорошо задокументировано.

Это действительно звучит так, как будто ваша проблема в том, что gVim считает ваш файл локальным, когда это не так, и делает все правильно, когда ввод / вывод заблокирован, ожидая открытия FTP-соединения. Использование монтирования FUSE, поддерживающего постоянное соединение, или правильное использование плагина netrw должны решить эти проблемы для вас.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .