如何禁用emacs-term中的自动换行?

时间:2012-10-05 12:04:51

标签: emacs term

我正在使用emacs终端模拟器。 GNU Emacs 23.2.1与GNU bash,版本3.00.0(1) - 发布。 当一些命令,比如grep 1 file.txt打印很长的行时,emacs将它们加密以适合窗口宽度。 但它用那条线做的就是这样,所以当我复制这样的线时,我得到的不是单个长线,而是几个等宽线。

例如:

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 

回应之后,请跟cat lorem.ipsum说 我得到(如果我有一个38字符宽的终端):

Lorem ipsum dolor sit amet, consectet
ur adipisicing elit, sed do eiusmod t
empor incididunt ut labore et dolore 
magna aliqua. 

现在,如果我从终端复制它,我将有4行以\ n字符分隔。 这是非常烦人的,如何处理它?<​​/ p>

1 个答案:

答案 0 :(得分:1)

实际上我没有找到答案,但是我已经快速破解了这样的术语:

;; 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的叮当(我使用multi-term扩展名。)

 (cons "C-y" 'paste-into-term-singlelined)