Saya memiliki struktur kelas CSS berikut
.mAIcon
.mAIcon-reject
.mAIcon-edit
.mAIcon-accept
.event
dan seterusnya.
Di dalam file HTML saya, saya ingin melengkapi nama kelas ini secara otomatis.
Tapi saat saya mengetik
<span class="mAIcon mA|">
dan saya ingin menyelesaikan sisanya secara otomatis satu-satunya yang saya dapatkan adalah
<span class="mAIcon mAIcon|">
Untuk mendapatkan apa yang benar-benar saya inginkan, saya harus mengetik ekstra -
dan misalnya e
dan menggunakan pelengkapan otomatis lagi. Tapi kemudian saya mendapatkan semua yang dimulai dengan e
, bahkan kelas event
. Ini benar-benar menjengkelkan dan membuat pelengkapan otomatis agak tidak berguna dalam kasus ini.
Saya menggunakan penyelesaian kata kunci umum Vim dengan i_CTRL-N
perintah dan saya tidak memiliki plugins penyelesaian tambahan yang diinstal.
Apakah mungkin untuk menyertakan -
ke deteksi nama kelas CSS untuk pelengkapan otomatis?
sumber
<c-x><c-n>
, yang juga harus ditentukan dalam pertanyaan Anda.'iskeyword'
, dan meskipun kata kunci digunakan juga untuk perintah lain (efek samping), ini masih merupakan cara yang benar untuk mencapai apa yang Anda inginkan tanpa menggunakan jenis penyelesaian (otomatis) lainnya.ctags
harus bisa menghasilkan tag untuk proyek Anda. Kemudian Anda dapat melakukan penyelesaian tag dengani_CTRL-X_CTRL-]
. Namun, saya melihat di dokumen bahwa penyelesaian tag juga menggunakaniskeyword
opsi, jadi saya mungkin salah. Bagaimanapun, Anda mungkin ingin membaca:h ins-completion
.Jawaban:
Ya, Anda dapat menentukan karakter apa yang dianggap bagian dari kata kunci dengan
'iskeyword'
opsi:Anda dapat menambahkan cuplikan berikut untuk Anda
vimrc
untuk membatasi opsi itu untuk file CSS dan HTML:sumber
iskeyword
memiliki banyak efek samping. Misalnyadw
padasome-text
sekarang akan dihapussome-text
, bukan hanyasome
. Bukan berarti hal yang buruk, tetapi sesuatu yang harus diperhatikan.js
dancoffee
file juga. Karena saya sering menyelesaikan kelas CSS dalam Javascript, dan saya jarang memiliki kode yang melakukan pengurangan tanpa spasi. Dalam kode yang saya edit,diff = foo - bar;
lebih umum daripadadiff=foo-bar;
Saya memecahkan masalah dengan menulis skrip python kecil yang membuat file tag. Script mencari kelas CSS dan mencetak garis tag untuk setiap kelas.
Saat ini saya menjalankan skrip dengan tangan
yang menambahkan file ke file tag. Ini berfungsi karena penyelesaian tag tidak dibatasi oleh
iskeyword
pengaturan.Berikut adalah isi skrip yang juga tersedia di GitHub .
sumber