É uma coisa simples. Meu cursor está sobre uma palavra e quero obtê-la para que eu possa fazer algo com ela. Vejo algumas maneiras diferentes de fazer isso, mas quero evitar a reinvenção e usar um método padrão.
A questão não é clara. Faça algo com ele onde? Em um programa (código)? Interativamente? Ambos? Que tipo de coisa?
Tirou
"Ler" no Emacs e no Emacs Lisp geralmente significa ler interativamente ou ler (carregar) o código Lisp. Eu editei a pergunta para dizer "pegue" a palavra em vez de "leia".
Tirou
O que significa "entender a palavra"? Deseja uma expressão Lisp cujo valor seja uma string que contenha a palavra? Deseja marcar a palavra? Você quer colocar a palavra no ringue da morte?
Omar
Respostas:
14
Você pode usar a função thing-at-pointe dizer a ela para retornar o wordponto inicial e não retornar nenhuma propriedade de texto (a menos que você precise delas). Exemplo de conteúdo do buffer (| é o cursor):
Olá wor | ld
A chamada (thing-at-point 'word 'no-properties)retorna "mundo".
Se você deseja inserir a palavra (ou qualquer outra coisa - nome do arquivo etc.) no ponto no minibuffer, quando estiver editando a entrada, basta usar M-.se usar Icicles .
Respostas:
Você pode usar a função
thing-at-point
e dizer a ela para retornar oword
ponto inicial e não retornar nenhuma propriedade de texto (a menos que você precise delas). Exemplo de conteúdo do buffer (| é o cursor):A chamada
(thing-at-point 'word 'no-properties)
retorna "mundo".fonte
fonte
Se você deseja inserir a palavra (ou qualquer outra coisa - nome do arquivo etc.) no ponto no minibuffer, quando estiver editando a entrada, basta usar
M-.
se usar Icicles .Consulte Inserindo texto do cursor .
Você pode usar
M-.
repetidamente (por exemploM-. M-. M-.
) para:fonte