Ich habe ein Problem , bei dem Emacs versucht, mit tramp einen anderen Computer zu kontaktieren, wenn ich versuche, zufällige Emacs-Vorgänge auszuführen, z. B. org-capture
eine Datei in ein anderes (lokales) Verzeichnis dired
umzubenennen, vermutlich wegen einer Art automatischer Vervollständigung oder eines Verlaufs Argumentation. Dies führt zu viel Hängen und Warten, da der Maschinentramp, mit dem versucht wird, eine Verbindung herzustellen, nicht verfügbar ist.
Wie kann ich verhindern, dass Emacs bei anderen rudimentären Operationen nach Tramp-Dateien / Speicherorten sucht? Wie kann ich feststellen, wo und wie Emacs auf die Idee kommt, dass es in einer Remote-Datei / einem Remote-Speicherort nach Vorgängen wie org-capture
und suchen muss dired-do-rename
?
C-f
direkt nach dem DrückenR
. Hilft das?(setq recentf-exclude '("~$" "/tmp/" "/ssh:" "/sudo:"))
Ich habe das vor einigen Jahren eingerichtet. Remote-Dateien in der Liste der letzten Dateien zu haben, verursachte mir einige Probleme, aber ich erinnere mich nicht an die Details. Möglicherweise müssen Sie alle Remote-Dateien manuell aus der Liste der zuletzt verwendeten Dateien entfernen. Seine Position wird durch die Variable definiertrecentf-save-file
.debug-on-quit
indem Sie dasM-x
Debuggen beim Beenden umschaltenRET
und dann drücken,C-g
wenn Emacs hängt. Es würde einen Stacktrace drucken, es könnte helfen, das Problem zu debuggenAntworten:
Ich vermute, dass ein Teil des Codes aufgrund eines Hooks oder einer Empfehlung aktiviert wird, die
remote-file-p
anstelle von verwendet werden solltetramp-tramp-file-p
. Lesen Sie die Dokumentation von beiden und durchsuchen Sie die installierten Pakete nach dem letztgenannten Symbol. Ersetzen Sie es gegebenenfalls. Wenn das Problem dadurch behoben wird, öffnen Sie Pull-Anforderungen.quelle