Uzyskaj słowo w punkcie

10

To prosta sprawa. Mój kursor znajduje się nad słowem i chcę je zdobyć, abym mógł coś z tym zrobić. Widzę kilka różnych sposobów, aby to zrobić, ale chcę uniknąć ponownego opracowania i zastosować standardową metodę.

deadghost
źródło
1
Pytanie jest niejasne. Zrób coś z tym gdzie? W programie (kod)? Interaktywnie? Obie? Co to za coś?
Drew
„Odczyt” w Emacs i Emacs Lisp ogólnie oznacza odczyt interaktywnie lub odczyt (ładowanie) kodu Lisp. Zredagowałem pytanie, aby powiedzieć „dostać” słowo zamiast „przeczytać”.
Drew
Co znaczy „dostać słowo”? Czy potrzebujesz wyrażenia Lisp, którego wartością jest ciąg zawierający słowo? Czy chcesz zaznaczyć to słowo? Czy chcesz umieścić to słowo w pierścieniu śmierci?
Omar

Odpowiedzi:

14

Możesz użyć funkcji thing-at-pointi powiedzieć jej, aby zwróciła wordpunkt i nie zwróciła żadnych właściwości tekstu (chyba że są potrzebne). Przykładowa zawartość bufora (| to kursor):

Cześć wor | ld

Wywołanie (thing-at-point 'word 'no-properties)zwraca „świat”.

Wieland
źródło
1
(current-word &optional STRICT REALLY-WORD)

Zwróć słowo w punkcie lub w pobliżu jako ciąg. Zwracana wartość nie zawiera właściwości tekstu.

użytkownik213294
źródło
-1

Jeśli chcesz wstawić słowo (lub cokolwiek innego - nazwę pliku itp.) W punkcie w minibuforze, kiedy edytujesz dane wejściowe, po prostu użyj M-., jeśli używasz Sopli .

Zobacz Wstawianie tekstu z kursora .

Możesz używać M-.wielokrotnie (np. M-. M-. M-.), Aby:

  • Przejdź do innego rodzaju rzeczy do złapania w punkcie i włóż ją.
  • Wstaw więcej (tj. Kolejne) rzeczy tego samego typu (np. Słowa) z bufora.
Rysował
źródło