Dapatkan kata pada titik

10

Itu hal yang sederhana. Kursor saya lebih dari satu kata dan saya ingin mendapatkan kata itu sehingga saya bisa melakukan sesuatu dengannya. Saya melihat beberapa cara berbeda untuk melakukan ini tetapi ingin menghindari reinvention dan menggunakan metode standar.

paling mematikan
sumber
1
Pertanyaannya tidak jelas. Lakukan sesuatu dengan itu di mana? Dalam suatu program (kode)? Interaktif? Kedua? Sesuatu seperti apa?
Drew
"Baca" dalam Emacs dan Emacs Lisp umumnya berarti membaca secara interaktif atau membaca (memuat) kode Lisp. Saya telah mengedit pertanyaan untuk mengatakan "dapatkan" kata alih-alih "baca" itu.
Drew
Apa artinya "mendapatkan kata"? Apakah Anda menginginkan ekspresi Lisp yang nilainya berupa string yang berisi kata? Apakah Anda ingin menandai kata itu? Apakah Anda ingin memasukkan kata itu ke dalam ring bunuh?
Omar

Jawaban:

14

Anda dapat menggunakan fungsi thing-at-pointdan memerintahkannya untuk mengembalikan wordtitik dan tidak mengembalikan properti teks apa pun (kecuali jika Anda membutuhkannya). Contoh konten buffer (| adalah kursor):

Halo wor | ld

Memanggil (thing-at-point 'word 'no-properties)mengembalikan "dunia".

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

Kembalikan kata pada atau dekat titik, sebagai string. Nilai kembali tidak termasuk properti teks.

pengguna213294
sumber
-1

Jika Anda ingin memasukkan kata (atau apa pun - nama file, dll.) Di minibuffer, saat Anda mengedit input, gunakan saja M-., jika Anda menggunakan Icicles .

Lihat Memasukkan Teks dari Kursor .

Anda dapat menggunakan M-.berulang kali (mis. M-. M-. M-.) Untuk:

  • Siklus ke berbagai hal untuk diambil pada titik, dan masukkan.
  • Masukkan lebih banyak (yaitu, berturut-turut) hal-hal dengan tipe yang sama (misalnya kata-kata) dari buffer.
Drew
sumber