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.


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".


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

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


-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.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.