Jak wyłączyć integrację vc emacsa na zamontowanych woluminach?

6

Używam Emacsa na OSX (Emacs24) i czasami muszę edytować pliki na zamontowanym woluminie sshfs. Jednak integracja vc Emacsa - konkretnie git - jest NAPRAWDĘ powolna w stosunku do montowań sshfs.

Chciałbym selektywnie wyłączyć tryb vc, zarówno w konfiguracji, jak i za pomocą .dir-locals.el. Jak mogę to zrobić?

Chris R
źródło

Odpowiedzi:

5

Jak wspomniał pmr, możesz usunąć git z listy backendów.

Domyślna lista backendów jest(RCS CVS SVN SCCS Bzr Git Hg Mtn Arch)

Istnieją różne sposoby ustawiania zmiennych w emacs.

Edycja ~/.emacspliku i dodanie kolejnych dwóch wierszy powinno załatwić sprawę (uwaga: Git jest usuwany z listy)

;; Disable git backend to speed up sshfs file load among other things
(setq vc-handled-backends (quote (RCS CVS SVN SCCS Bzr Hg Mtn Arch)))
Marc Piette
źródło
Dlaczego nie usunąć ich wszystkich?
Stéphane Gourichon
(setq vc-handled-backends (remove 'Git vc-handled-backends))
Radon Rosborough
0

Spróbowałbym zmodyfikować zmienne backcopy obsługiwane przez vc, które moja wersja Emacsa opisuje jako:

vc-handled-backends jest zmienną zdefiniowaną w `vc-hooks.el '. Jego wartość to (RCS CVS SVN SCCS Bzr Git Hg Mtn Arch)

Dokumentacja: Lista backendów kontroli wersji, dla których będzie używany VC. Wpisy na tej liście zostaną wypróbowane w celu ustalenia, czy plik znajduje się pod takim rodzajem kontroli wersji. Usunięcie wpisu z listy uniemożliwia aktywację VC podczas odwiedzania pliku zarządzanego przez ten backend. Pusta lista całkowicie wyłącza VC.

Możesz dostosować tę zmienną.

Ta zmienna została wprowadzona lub zmieniono jej domyślną wartość w wersji 23.1 Emacsa.

pmr
źródło
0

Myślę, że pisanie porad na tematvc-git-registered (lub nawet vc-registeredlub vc-find-file-hook) byłoby najlepszym sposobem postępowania.

Tam sprawdziłbyś ścieżkę pliku lub wartość jakiejś zmiennej, która byłaby ustawiona .dir-locals.el.

dgutov
źródło
0
(setq vc-ignore-dir-regexp
      (format "\\(%s\\)\\|\\(%s\\)"
              vc-ignore-dir-regexp
              tramp-file-name-regexp))

zakładając, że zamontowałeś na /tmp/mntnim elementy, powinien działać, dołączając kolejną linię formatowania \\|\\(%s\\)i dodając /tmp/mnt/*do listy ciągów

(setq vc-ignore-dir-regexp (format "\\(%s\\)\\|\\(%s\\)\\|\\(%s\\)"
                                     vc-ignore-dir-regexp
                                     tramp-file-name-regexp
                                     "/tmp/mnt/*"))

źródło

nie
źródło