2017-09-07 1 views
3

Ich benutze GNU Emacs 25.1.1. Ich benutze es im Terminal-Modus. im GUI-Modus weiß ich, wie zu kopieren und Ruck. Im Terminal-Modus funktioniert das Kopieren und Einfügen aus einer anderen Anwendung, aber nicht die übliche Tastenbelegung.Wie kann ich kopieren und einfügen von EMACS [Terminal-Modus] zu einer anderen Anwendung ohne Maus?

Normalerweise C-y ist für yank innerhalb Emacs aber in meinem Terminal-Modus C-Umschalt-V funktioniert nur für yanking.

Aber wenn ich versuche, von Emacs zu einem anderen Shell oder Anwendung zu kopieren kopiert nicht.

Ich möchte nicht die Maus zum Kopieren und Ruckeln verwenden. Gibt es eine Umgehungslösung? Was mache ich falsch?

Antwort

2

In "Terminal-Modus", die Sie interagieren nicht wirklich mit Emacs. Sie interagieren mit Ihrem Terminal- oder Terminalemulator.

Wenn Sie copy und paste Text, das Terminal tut es: Sie nehmen den Text, der das Terminal anzeigt und nicht den Text, der in Ihrer Emacs App ist.

Deshalb sollten Sie Terminal keybindings verwenden: Ctrl-Shift-C und Ctrl-Shift-V kopieren und Einfügen von Text.

Das auch deshalb Einfügen großer Text durch Terminal in Emacs langsam ist: das Terminal „get“ der Text und „umleiten“, um es Emacs.

Wenn Sie also Text ohne Maus auswählen, kopieren und einfügen möchten, müssen Sie Ihr Terminal konfigurieren.

Here's an example

1

ich tun dies, indem shell-command-on-region zusammen mit der Befehlszeile pbpaste/pbcopy auf meinem macOS Feld an. Binden Sie es auf einen Schlüssel, falls erforderlich:

(global-set-key "\C-cr" (shell-command-on-region (point) (mark) "pbcopy")) 

Es gibt ähnliche Kommandozeilen Programme, die Sie für Windows verwenden können (https://github.com/ghuntley/pasteboard) und Linux (xsel/xclip).

1

Ihnen vielleicht gefallen xclip-mode (erhältlich von GNU ELPA), um zu versuchen, die auf Äußerlichkeiten Programme beruhen (xclip unter X11 und pbcopy auf macOS) Emacs mit Ihrem GUI kommunizieren zu lassen (für Dinge wie Cy und Ck) obwohl es in einem Text-Terminal läuft.

Verwandte Themen