如何在emacs术语中禁用自动线切割?
我正在使用emacs终端模拟器。GNU Emacs 23.2.1和GNU bash,版本3.00.0(1)-发布。 当一些命令(比如grep1 file.txt)打印很长的行时,emacs会将其主干化以适应窗口宽度。 但它是这样做的,当我复制这样的线条时,我得到的不是一条长线条,而是几条宽度相等的线条 例如:如何在emacs术语中禁用自动线切割?,emacs,term,Emacs,Term,我正在使用emacs终端模拟器。GNU Emacs 23.2.1和GNU bash,版本3.00.0(1)-发布。 当一些命令(比如grep1 file.txt)打印很长的行时,emacs会将其主干化以适应窗口宽度。 但它是这样做的,当我复制这样的线条时,我得到的不是一条长线条,而是几条宽度相等的线条 例如: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
重复后,用cat lorem.ipsum
我得到(如果我有一个38字符宽的终端):
现在,如果我从终端复制它,我将有4行用\n个字符分隔。
这很烦人,怎么处理呢?事实上,我没有找到答案,但我已经编写了一个快速的方法,可以轻松地将这些剪切粘贴到术语中:
;; Linearize the last kill-ring entry
(defun make-single-line-in-clipboard ()
(interactive)
(with-temp-buffer
(yank)
(pop kill-ring)
(goto-char 0)
(while (search-forward "\n" nil t)
(replace-match "" nil t))
(kill-region (point-min) (point-max))))
;; Paste into terminal the linearized last killed text
(defun paste-into-term-singlelined ()
(interactive)
(term-line-mode)
(make-single-line-in-clipboard)
(end-of-buffer)
(clipboard-yank)
(term-char-mode))
然后,对C-y的bing(我使用扩展名)
;; Linearize the last kill-ring entry
(defun make-single-line-in-clipboard ()
(interactive)
(with-temp-buffer
(yank)
(pop kill-ring)
(goto-char 0)
(while (search-forward "\n" nil t)
(replace-match "" nil t))
(kill-region (point-min) (point-max))))
;; Paste into terminal the linearized last killed text
(defun paste-into-term-singlelined ()
(interactive)
(term-line-mode)
(make-single-line-in-clipboard)
(end-of-buffer)
(clipboard-yank)
(term-char-mode))
(cons "C-y" 'paste-into-term-singlelined)