У меня есть код в одном буфере в виртуальном терминале экрана, который я хочу передать в другой буфер в виртуальном терминале. Как мне это сделать? Я пробовал убить код, но похоже, что каждый виртуальный терминал имеет свое собственное кольцо убийства, а код, который я убил, не был завален другим виртуальным терминалом.Как убить/выдернуть код между буферами emacs, используя экран
ответ
кажется, что буфер переменные, упомянутые @Ehvince (которые полезны BTW при работе с графическим интерфейсом Emacs) не являются полезными в терминалах. Обходной путь описан here. Я добавляю код в приведенную ниже статью, чтобы избежать мертвых ссылок.
(unless window-system
(when (getenv "DISPLAY")
;; Callback for when user cuts
(defun xsel-cut-function (text &optional push)
;; Insert text to temp-buffer, and "send" content to xsel stdin
(with-temp-buffer
(insert text)
;; I prefer using the "clipboard" selection (the one the
;; typically is used by c-c/c-v) before the primary selection
;; (that uses mouse-select/middle-button-click)
(call-process-region (point-min) (point-max) "xsel" nil 0 nil "--clipboard" "--input")))
;; Call back for when user pastes
(defun xsel-paste-function()
;; Find out what is current selection by xsel. If it is different
;; from the top of the kill-ring (car kill-ring), then return
;; it. Else, nil is returned, so whatever is in the top of the
;; kill-ring will be used.
(let ((xsel-output (shell-command-to-string "xsel --clipboard --output")))
(unless (string= (car kill-ring) xsel-output)
xsel-output)))
;; Attach callbacks to hooks
(setq interprogram-cut-function 'xsel-cut-function)
(setq interprogram-paste-function 'xsel-paste-function)))
Добавьте этот файл для инициализации. Для этого вам нужно будет установить внешнюю программу xsel
.
Для этого вы можете использовать демон emacs. Запустите его с emacs --daemon
, а затем на screen
запустите emacs в качестве клиента с emacsclient
(возможно, с -nw
или -t
, в зависимости от того, что вы хотите). Это работает для меня.
Надеется, что это помогает :)
У меня есть этот фрагмент кода, который помогает мне убить/дернуло между приложениями, расположенных за пределами этого редактора. Вы можете попробовать (но я не тестировал в вашей среде).
(setq x-select-enable-clipboard t ;; copy-paste should work ...
interprogram-paste-function ;; ...with...
'x-cut-buffer-or-selection-value) ;; ...other X clients
- 1. Вкладка Emacs между буферами
- 2. Как переключаться между видимыми буферами в emacs?
- 3. Переключение между двумя последними буферами в emacs
- 4. Переключение между двумя буферами в emacs как b # in vim
- 5. найти/выделить общие подстроки между двумя буферами в Emacs
- 6. Emacs: помогите мне понять управление файлами/буферами
- 7. Указатели между буферами OpenCL
- 8. Можно ли добавить заметку с буферами emacs?
- 9. Как получить фокус-мышью над буферами в emacs?
- 10. Как диагностировать проблемы emacs lisp с косвенными буферами?
- 11. Как вы предпочитаете переключаться между буферами в Vim?
- 12. Как разделить экран Emacs и Terminal
- 13. Неожиданный результат при перемещении байтов между буферами
- 14. Синхронизация между буферами команд в Vulkan
- 15. прозрачный экран gdb в emacs?
- 16. vim: какая разница между буферами и args
- 17. Emacs elscreen - Как отключить «разделенный экран»?
- 18. Как интерпретировать этот экран помощи Emacs magit?
- 19. Как быстро найти файл в рабочей области/переключиться между буферами/и т. Д. в Eclipse?
- 20. Обмен буферами в webgl
- 21. diff между рамкой и окном в emacs
- 22. Как переключаться между представлениями, как домашний экран
- 23. Работа с vi буферами
- 24. Как запустить код Python с помощью Emacs?
- 25. Существует ли стандартное сопоставление между JSON и протокольными буферами?
- 26. Невозможно скрыть приветственный экран в Emacs
- 27. share emacs конфигурация между emacs 23 и emacs 24
- 28. RPC с буферами протоколов
- 29. печати код IPad экран
- 30. GUI Emacs fullscreen не покрывает весь экран