我可以通过单击emacs中的linum列来选择文本吗?

我可以通过单击emacs中的linum列来选择文本吗?,emacs,Emacs,见下面我的答案 下一段是为了让机器人开心 T骨布丁猪排,ullamco非肉食鹿肉,鸡腿里的后腿熏牛肉。Nostrud ham pariatur,laboris brisket duis aliqua Elite leberkäse。卡皮科拉-ut-猪肉肚,肉丸-维尼安-菲力牛排-舌尖鸡腿-ut-proident ad-bone-shankle-culpa-舌尖-nulla-dolore-biltong,pancetta-nostrud ut。塞德牛腰肉,圣代牛胸肉。在肩上做牛排练习。里贝耶肩胛肉

见下面我的答案

下一段是为了让机器人开心


T骨布丁猪排,ullamco非肉食鹿肉,鸡腿里的后腿熏牛肉。Nostrud ham pariatur,laboris brisket duis aliqua Elite leberkäse。卡皮科拉-ut-猪肉肚,肉丸-维尼安-菲力牛排-舌尖鸡腿-ut-proident ad-bone-shankle-culpa-舌尖-nulla-dolore-biltong,pancetta-nostrud ut。塞德牛腰肉,圣代牛胸肉。在肩上做牛排练习。里贝耶肩胛肉,牛排磨碎的圆胸牛腰肉,卡皮科拉牛腰肉,leberkäse shank Cillium。

以下是您可以添加到.emacs的代码
单击边距并释放光标时,它会选择相应的行。
使用gnu emacs 23.3进行测试

更新:错误修正

(defvar *linum-mdown-line* nil)

(defun line-at-click ()
  (save-excursion
    (let ((click-y (cdr (cdr (mouse-position))))
          (line-move-visual-store line-move-visual))
      (setq line-move-visual t)
      (goto-char (window-start))
      (next-line (1- click-y))
      (setq line-move-visual line-move-visual-store)
      ;; If you are using tabbar substitute the next line with
      ;; (line-number-at-pos))))
      (1+ (line-number-at-pos)))))

(defun md-select-linum ()
  (interactive)
  (goto-line (line-at-click))
  (set-mark (point))
  (setq *linum-mdown-line* (line-number-at-pos)))

(defun mu-select-linum ()
  (interactive)
  (when *linum-mdown-line*
    (let (mu-line)
      (setq mu-line (line-at-click))
      (if (> mu-line *linum-mdown-line*)
          (progn
            (goto-line *linum-mdown-line*)
            (set-mark (point))
            (goto-line mu-line)
            (end-of-line))
          (progn
            (goto-line *linum-mdown-line*)
            (set-mark (line-end-position))
            (goto-line mu-line)
            (beginning-of-line)))
      (setq *linum-mdown* nil))))

(global-set-key (kbd "<left-margin> <down-mouse-1>") 'md-select-linum)
(global-set-key (kbd "<left-margin> <mouse-1>") 'mu-select-linum)
(global-set-key (kbd "<left-margin> <drag-mouse-1>") 'mu-select-linum)
(defvar*linum-mdown行*nil)
(单击()时取消行)
(省去远足
(让((单击y(cdr(鼠标位置)))
(行移动可视存储行移动可视)
(setq行移动可视t)
(转到字符(窗口开始))
(下一行(1-单击y))
(setq行移动视觉行移动视觉存储)
;如果使用tabbar,则将下一行替换为
;;(位置处的行号)
(1+(位置处的行号‘‘‘)’)
(取消md选择linum()
(互动)
(转到行(单击时的行))
(设定标记(点))
(setq*linum mdown线*(位置处的线号)))
(defun mu选择linum()
(互动)
(当*linum下线时)*
(让(mu线)
(setq mu线(点击时的线))
(如果(>mu线*linum线*)
(项目
(去往线*林姆镇线*)
(设定标记(点))
(后藤线mu线)
(行尾)
(项目
(去往线*林姆镇线*)
(设定标记(线端位置))
(后藤线mu线)
(行首)
(setq*linum mdown*nil)))
(全局设置键(kbd“”)“md选择linum)
(全局设置键(kbd“”)“mu选择linum)
(全局设置键(kbd“”)“mu选择linum)

您应该能够回答。试着点击
回答你的问题
按钮。自我回答的规则可能已更改。您可以自我回答,但需要等待8小时,除非您的代表>=100