Bagaimana memperlakukan garis bawah seperti ruang?

15

Apakah mungkin bagi vim untuk memperlakukan garis bawah seperti spasi atau tanda hubung, jadi ketika saya menggunakan urutan dw, itu tidak menghapus seluruh kalimat some_long_text_with_underscores, ketika kursor berada di awal?

jligeza
sumber

Jawaban:

22

dwmenghapus kata, dan apa yang merupakan kata ditentukan oleh iskeywordpengaturan. Dari :h word:

                                                        word
A word consists of a sequence of letters, digits and underscores, or a
sequence of other non-blank characters, separated with white space (spaces,
tabs, <EOL>).  This can be changed with the 'iskeyword' option.  An empty line
is also considered to be a word.

Untuk menghapus _dari iskeyword, lakukan:

set iskeyword-=_
muru
sumber
1
Itu berubah menjadi pedang bermata dua, karena vim mulai memperlakukan nama fungsi panjang sebagai kata-kata yang terpisah. Misalnya, fungsi python bernama ,, download_and_print () "akan berwarna ,, dan '' - karena ini adalah kata kunci bahasa. Juga tidak mungkin untuk bernavigasi dengan * / # di antara panggilan fungsi. Saya tahu itu bukan bagian dari pertanyaan, tetapi ingin menyebutkan ini
jligeza
@ zmarszczony fungsi saya menyoroti berfungsi dengan baik, tetapi */ #hilang.
muru