Предотвращение версии Vim для Windows от разрушения разрешений других файловых систем


4

В настоящее время я использую версию gVim для Windows для редактирования исходных файлов на сетевом диске, сопоставленном с системой linux, а также локальных файлов, созданных в cygwin.

Проблема в том, что версия gVim для Windows уничтожает исходные права доступа к файлам в соответствующих системах. IE: файлы в cygwin по умолчанию имеют значение 077. При редактировании в vim-версии Windows они сохраняются как 777. Эта проблема даже не возникает при использовании ms-notepad (как и всех других редакторов, которые я пробовал), поэтому Я не совсем уверен, почему gVim делает это.

Возможным решением было бы использовать gVim от Cygwin для всего, но это довольно громоздко, так как для его поддержки требуется среда x11, и это вызывает некоторые проблемы при запуске некоторых команд из gVim (или в этом отношении vim) при работе над сетевой диск.

Любые идеи, как я мог бы сохранить существующие права доступа к файлам?

Редактировать: Сегодня утром, когда на другой машине проблема с Cygwin не возникла. Cygwin & amp; gVim были той же версии, однако на другом компьютере работает WinXP, в то время как на компьютере работает Win7.


Не уверен, имеет ли это значение или нет, но какой протокол вы используете для совместного использования сетевого диска с вашей системой Windows?
moberley

Samba. Я нашел еще одного человека с подобной проблемой при использовании в списке рассылки vim - однако решения не было.
dborba

Из любопытства, если у вас все еще есть эта проблема, что делает :set backupcopy? backup? writebackup? дать тебе? (Увидеть Vim FAQ , 7.3 .: Когда я сохраняю файл в Vim, права доступа к файлу меняются. )
peth

Ответы:


1

Я почти уверен, что это связано с различиями в том, как обрабатываются разрешения в Windows и Unix / Linux. По умолчанию файлы, созданные на общем ресурсе Samba из Windows, всегда создаются с разрешениями 777. Если backupcopy установлен в no Vim сохраняет файлы, создавая новый файл, а не записывая в существующий, так что это приведет к тому, что вы видите.

Итак, два возможных исправления:

  • Установить резервная копия вариант в VIM yes
  • Задавать create mask = 0644 (или что-то еще) в конфигурации Samba для рассматриваемого ресурса

Информация о правах доступа к файлам в Samba


0

Лучше всего, если в gVim есть настройка, которая касается сохраненных прав доступа к файлам. Если в gVim нет настройки для этого, возможно, вам не повезло. Однако, поскольку это, возможно, ошибка в Windows gVim, вы можете сообщить об этом разработчикам.


Выполнение поиска по справочнику vim и руководству пользователя не приводит к «разрешению», поэтому это не похоже на настройку. Я обязательно расскажу об ошибке, если не смогу найти жизнеспособное решение.
dborba
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.