Verwenden von Tramp für Protokolle


8

Ich versuche, Tramp mit auto-revert-tail-modezu verwenden, um ein Ende eines Remote-Protokolls auszuführen. Jedes Mal, wenn das Protokoll aktualisiert wird (was häufig der Fall ist), springt der Bildschirm kurz zum Ende der Datei und dann zurück zu meinem aktuellen Speicherort in der Datei. Gibt es eine Möglichkeit, diese häufigen Sprünge zu verhindern? Ich möchte einfach nur die aktuellste Version der Datei durchsuchen können, ohne jedoch bei jedem Update an den unteren Rand der Datei gesendet zu werden.

Gibt es auch eine Möglichkeit, die häufigen Aktualisierungen in der Statusleiste zu beruhigen / stumm zu schalten? "Tramp Inserting: ..." "Tramp Codierung: ...."

Antworten:


11

auto-revert-tail-modeist großartig, aber es hat seine Grenzen. Daher bevorzuge ich einen asynchronen Shell-Befehl. Öffnen Sie das Remote-Verzeichnis in dired, positionieren Sie den Cursor auf die Datei, die Sie anzeigen möchten, und wenden Sie sie an ! tail -f * &.

Wenn Sie Tramp-Nachrichten unterdrücken möchten, verringern Sie die Ausführlichkeit. (setq tramp-verbose 1)ausreichend sein.


Dies ist eine großartige Lösung. Wenn ich dann versuche, taileine zusätzliche Datei in einem anderen Puffer zu speichern, antwortet Emacs: "Ein Befehl wird ausgeführt. Töte er?" . Gibt es eine Möglichkeit, mehrere Puffer mit einem solchen Async-Shell-Befehl auszuführen?
ChaimKut

1
Sie müssen den *Async Shell Command*Puffer umbenennen . Bewegen Sie den Cursor irgendwo im Puffer und wenden Sie ihn an M-x rename-buffer.
Michael Albinus

Wie kann ich diese Sequenz (! Tail -f * &) in einer Lisp-Funktion ausführen, in der ich den Namen der entfernten Datei gebe?
Diogo

Mein vorübergehender Hack: (Start-Prozess-Shell-Befehl <Prozessname> <Buufername> "ssh <Benutzung> r @ <Host> 'CD / Pfad / zu / Ordner && Schwanz -f <Dateiname>")
Diogo

Versuchen Sie (setf async-shell-command-buffer 'rename-buffer), Ihrer .emacs-Datei etwas hinzuzufügen. Es sollte dann den vorhandenen asynchronen Befehlspuffer umbenennen und dann den neuen
erstellen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.