Могу ли я выбрать текст, щелкнув по столбцу linum в emacs? - PullRequest
3 голосов
/ 12 ноября 2011

Смотрите мой ответ ниже

Следующий абзац здесь, чтобы сделать бот счастливым

Свиная отбивная из трески Bresaola boudin, ullamco без волютной муки оленины фугиат крупа пастрами нулла в голени. Nostrud ham pariatur, лейбористская грудинка, aliqua elit leberkäse. Капикола ут свиная грудинка, фрикаделька вениам филе миньон язык барабанная палочка бочка ут proident ad. T-костный шейный стержневой язычок nulla dolore biltong, pancetta nostrud ut. Говяжья вырезка, грудинка аним синт. Culpa полосы стейк упражнения на плечо. Плечо Рибай, полоска стейка, измельченная, круглая грудинка, вырезка, капикола, говядина, леберкезе, хвостовая ножка.

1 Ответ

3 голосов
/ 12 ноября 2011

Вот код, который вы можете добавить к вашему .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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...