Solusi paling sederhana: gunakan ciW
untuk memilih kata yang dibatasi spasi.
Masalah yang lebih besar berkaitan dengan nilai _
karakter dalam tabel sintaksis . Masalahnya adalah _
, secara default, konstituen simbol dalam tabel sintaks, dan Anda ingin memperlakukannya sebagai konstituen kata.
Jika Anda menggunakan emacs 24.4, Anda bisa mencoba mengaktifkannya superword-mode
. Saya belum mencobanya sendiri, jadi jarak tempuh Anda mungkin berbeda.
Alternatif lain adalah memodifikasi tabel sintaksis sendiri dan memberi tahu Emacs bahwa Anda ingin agar _
karakter tersebut diperlakukan sebagai konstituen kata, seperti:
(modify-syntax-entry ?_ "w")
Setelah Anda melakukan itu, ciw
berfungsi seperti yang Anda inginkan, sehingga akan memilih semua abc_def_ghi
daripada hanya adil def
.
Melakukannya dengan cara ini, bagaimanapun, mungkin berlebihan, terutama jika Anda hanya ingin _
menghitung sebagai bagian dari kata untuk objek teks. Sebagai gantinya, Anda dapat memberi saran evil-inner-word
sebagai berikut:
(defadvice evil-inner-word (around underscore-as-word activate)
(let ((table (copy-syntax-table (syntax-table))))
(modify-syntax-entry ?_ "w" table)
(with-syntax-table table
ad-do-it)))
Sekarang, _
masih merupakan konstituen simbol untuk semuanya kecuali objek teks kata-dalam, jadi ciw
akan melakukan apa yang Anda inginkan tanpa menyentuh fungsi dari hal lain.
Anda dapat membaca lebih lanjut tentang memodifikasi tabel sintaks pada node EmacsWiki .
w
,aw
, dll), Anda dapat melakukan hal yang sama dengan fungsi berikut juga:evil-forward-word-begin
,evil-forward-word-end
,evil-backward-word-begin
,evil-backward-word-end
,evil-a-word
,evil-inner-word
. Catatan: Anda harus berubahunderscore-as-word
menjadi nilai yang berbeda, unik (sewenang-wenang).