2012-03-27 2 views
2

В XEmacs есть функциональность, если пользователь выбирает область с помощью мыши, удерживая Ctrl, выбранная область будет автоматически вставлена ​​в текущую позицию курсора.Вставка с помощью мыши-select в GNU Emacs

Другими словами, если вам нужно быстро скопировать короткий блок текста из некоторого открытого буфера в новое место, вы поместите туда курсор, а затем выполните Ctrl -mouse-select и он работает.

К сожалению, мне недавно пришлось переключиться с XEmacs на GNU Emacs, и я ищу, чтобы увидеть, есть ли там аналогичная функциональность, или, может быть, я могу предоставить ему настраиваемый модуль (я очень плохо отношусь к Lisp, к сожалению).

ответ

2

Вы уверены, что функциональность связана с кнопкой мыши 3, если я не ошибаюсь. Я предполагаю, что, так как щелчок мышью колесика показывает, что я скопировал на курсор.

И Mousewheel == кнопка мыши 3 в большинстве случаев.

  1. Выберите с помощью мыши
  2. С кнопки мыши вниз, удар управления
  3. Отпустите кнопку мыши
  4. Hit кнопку мыши 3
  5. Profit - выбор дернул курсор

Редактировать:

Я нашел это на http://www.gnu.org/software/emacs/manual/html_node/emacs/Mouse-Commands.html

  • Mouse-1

    Передвинуть точку, где вы щелкнули (мыши набора точки).

  • Drag-Mouse-1

    Активировать область вокруг текста, выбранного путем перетаскивания, и скопировать его к удалений (мыши-множество-область).

  • Mouse-2

    Yank последний уничтоженный текст в позиции щелчка (мыши дергать-на-клик).

  • Mouse-3

    Если область активна, переместить ближе конец области в положение щелчка; в противном случае установите метку в текущем значении точки и укажите точку щелчка. Сохраните полученную область в кольце уничтожения; на втором щелчке, убить его (mouse-save-then-kill).

+0

Не имеет никакого эффекта для меня. Кажется, моя кнопка3 работает как скроллер, но я не могу заставить ее работать как паста вообще. Кроме того, ключевая механика, которую я описал для XEmacs, совершенно другая (и она кажется более удобной): Ctrl + mouse-select. Просто убедившись, что я написал, не был неправильно истолкован ... – gt6989b

+0

, что означает, что вы не можете щелкнуть скроллер? Все мыши, с которыми я имел скроллер, можно щелкнуть, а также прокрутить вперед и назад. – martinjlowm

+0

Когда я нахожусь на своем рабочем месте, нажатие скроллера работает как вставка, но ваши инструкции дают ткнуть новый текст в месте нажатия кнопки мыши 3 щелчка (как это было бы, если ничего не было сделано с помощью клавиши Ctrl), просто выберите с помощью мышь, а затем мышь-3). Когда я дома, прокрутка мыши прокручивается в порядке, но когда я нажимаю на нее, она не работает как паста вообще. Не уверен, что что-то может быть сделано по этому поводу, узнает, но что я могу сделать, чтобы по крайней мере получить ситуацию на моем рабочем месте (где регистры скроллеров в качестве вставки) разрешены? Спасибо. – gt6989b

0

Возможно, вы захотите использовать mouse-copy.el, который поставляется с Emacs.

+0

Извините, я не знаю Emacs, что хорошо - как я могу его использовать? – gt6989b

+0

@ gt6989b: Я бы рекомендовал вам «M-x find-library RET mouse-copy RET», а затем прочитать текст после ';;; Комментарий: '. – Stefan

1

Поместите в ваш файл инициализации (.emacs):

(require 'mouse-copy) 
(global-set-key [C-down-mouse-1] 'mouse-drag-secondary-pasting) 

После перезагрузки Emacs, он должен работать так же, как вы привыкли в XEmacs - удерживая Ctrl и левую кнопку мыши, выберите свой текст, и когда вы отпустите мышь, текст будет вставлен в текущую позицию курсора.

+0

@Stefan также рекомендовал мышь, но я не мог найти никакой информации (я получил «Не могу найти библиотечную копию мыши») при попытке найти ее в Emacs, и у меня был исходный код с байтом в моем распределении; Я, наконец, понял, как использовать его здесь: http://www.opensource.apple.com/source/emacs/emacs-51/emacs/lisp/mouse-copy.el – Statisfactions