Получить слово в точку


10

Это простая вещь. Мой курсор находится над словом, и я хочу получить слово, чтобы я мог что-то с ним сделать. Я вижу несколько разных способов сделать это, но хочу избежать повторного изобретения и использовать стандартный метод.


1
Вопрос неясен. Делать что-нибудь с этим где? В программе (код)? Интерактивное? Обе? Что за что-то?
— Дрю

«Чтение» в Emacs и Emacs Lisp обычно означает чтение в интерактивном режиме или чтение (загрузка) кода на Lisp. Я отредактировал вопрос, чтобы сказать «получить» слово вместо «прочитать» его.
— Дрю

Что значит «получить слово»? Вы хотите лисповское выражение, значением которого является строка, содержащая слово? Вы хотите отметить слово? Хотите добавить слово в список убийц?
— Омар

Ответы:


14

Вы можете использовать функцию thing-at-pointи сказать ей, чтобы она возвращала wordточку at, а не возвращала какие-либо свойства текста (если они вам не нужны). Пример содержимого буфера (| - курсор):

Привет, мир | ld

Призыв (thing-at-point 'word 'no-properties)возвращает «мир».


1
(current-word &optional STRICT REALLY-WORD)

Вернуть слово в или около точки, как строку. Возвращаемое значение не содержит текстовых свойств.


-1

Если вы хотите вставить слово (или что-то еще - имя файла и т. Д.) В точку в минибуфере, когда вы редактируете ввод, просто используйте M-., если вы используете Icicles .

См. Вставка текста из курсора .

Вы можете использовать M-.несколько раз (например M-. M-. M-.), чтобы:

  • Перейдите к другой вещи, чтобы схватить ее и вставить.
  • Вставьте больше (то есть, последовательные) вещи того же типа (например, слова) из буфера.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.