Bagaimana untuk mentafsir arahan di" di bawah vim?
高洛峰2017-05-16 16:43:05
0
3
932
Apabila mengedit dengan vim, anda selalunya perlu memadamkan perkara dalam tanda petikan saya dapati ini di Internet. Ada yang serupa
di(, ci', dsb., bagaimana anda memahami i di sini?
Untuk memahami arahan ini, anda perlu memahami beberapa konsep asas VIM:
1. operator: VIM menyediakan banyak arahan (operator) untuk mengubah suai atau mengedit teks. Operator ini sendiri hanyalah tingkah laku, seperti d adalah padam, c ialah perubahan, Tetapi operator ini perlu mengetahui objek yang sedang mereka kerjakan. hidup, jadi kami memerlukan kaedah untuk menyediakannya dengan objek teks. Anda boleh menganggap pengendali ini sebagai fungsi yang menerima objek teks untuk diproses. Untuk dokumentasi bantuan, sila lihat help: operator
2. objek teks: Mengikut nama, ia adalah objek teks Ini adalah parameter yang akan dihantar kepada operator. VIM menyediakan beberapa kaedah untuk memilih beberapa teks sebagai objek teks, termasuk arahan khas a dan i (jangan a dan i memasuki mod sisip? Ini akan diterangkan kemudian), di mana i bermaksud "dalaman" , seperti 'hello, w^orld', (^ mewakili kedudukan kursor), kemudian i' akan memilih hello, world, dan a' dalam petikan tunggal, dan a' akan memilih keseluruhan kandungan termasuk petikan tunggal. Untuk mendapatkan arahan lanjut, sila lihat dokumentasi help: text-objects.
3. Gerakan: Menunjukkan pergerakan Ini juga merupakan perkara pertama yang anda temui semasa belajar VIM, h, j, k, l, dsb. Malah, setiap arahan bergerak akan meliputi kawasan teks, dan kawasan teks ini juga boleh digunakan sebagai objek teks Contohnya, jika 5w menggerakkan 5 perkataan, 5 perkataan ini sebenarnya boleh dihantar kepada operator sebagai objek teks. pada masa ini. Contohnya: d5w akan memadam 5 perkataan. Untuk mendapatkan arahan lanjut, sila lihat dokumentasi help: motion.
4. Mod operator menunggu: Kita semua tahu bahawa VIM mempunyai banyak mod Yang pertama untuk difahami ialah mod biasa, mod sisip dan mod arahan. Daripada namanya, mod ini bermakna terdapat operator dalam keadaan belum selesai Sebab mengapa terdapat keadaan ini adalah kerana anda menggunakan operator yang disebutkan dalam 1. Operator ini memerlukan objek teks sebagai parameter, dan ia sedang menunggu untuk anda. untuk memberikannya Objek sedemikian boleh direalisasikan melalui arahan dalam 2 atau 3. Inilah sebabnya a dan i tidak akan memasuki mod sisip pada masa ini, kerana VIM tidak berada dalam mod biasa pada masa ini, tetapi dalam mod lain. Anda boleh menetapkan set showcmd untuk membenarkan VIM memaparkan arahan semasa Jika mod menunggu operator, anda akan melihat arahan ini dipaparkan dalam bar status VIM. Selepas menghantar parameter yang diperlukan oleh operator kepadanya, VIM akan kembali ke mod biasa selepas melaksanakan arahan.
Mudah difahami di’ pada ketika ini:
- d: VIM menerima arahan padam dan memasuki mod menunggu operator
- i': Menggunakan kedudukan kursor semasa sebagai koordinat, pilih teks dalam petikan tunggal dan hantar ke d sebagai objek yang akan dipadamkan
i bermaksud di dalam, sila rujuk
dalam vim:help object-select
:help object-select
比如说有这么个字符串
"testdfat"
假设光标停留在第一个t位置
di"
:delete all content inside ",结果字符串为""
dta
:delete all content toa
,结果字符串为"at"
dfa
:delete all content from current location, untila
is found,结果字符串为"t"
Sebagai contoh, terdapat rentetan sedemikian"testdfat"
di"
:padam semua kandungan di dalam ", rentetan hasil ialah""
dta
: padam semua kandungan kea
, rentetan hasil ialah"at"
🎜dfa
: padam semua kandungan dari lokasi semasa, sehinggaa
ditemui, rentetan yang terhasil ialah"t"
🎜 🎜d bermaksud padam, dan saya hampir bermakna masuk. Apabila digabungkan, ia bermaksud memadam aksara antara dua tanda petikan.
Yang sepadan ialah di' di( di< di{ .....
d juga boleh digantikan dengan c.
Ada juga daw das dap yang serupa: padam perkataan/ayat/perenggan.
Untuk memahami arahan ini, anda perlu memahami beberapa konsep asas VIM:
1. operator: VIM menyediakan banyak arahan (operator) untuk mengubah suai atau mengedit teks. Operator ini sendiri hanyalah tingkah laku, seperti d adalah padam, c ialah perubahan, Tetapi operator ini perlu mengetahui objek yang sedang mereka kerjakan. hidup, jadi kami memerlukan kaedah untuk menyediakannya dengan objek teks. Anda boleh menganggap pengendali ini sebagai fungsi yang menerima objek teks untuk diproses. Untuk dokumentasi bantuan, sila lihat help: operator
2. objek teks: Mengikut nama, ia adalah objek teks Ini adalah parameter yang akan dihantar kepada operator. VIM menyediakan beberapa kaedah untuk memilih beberapa teks sebagai objek teks, termasuk arahan khas a dan i (jangan a dan i memasuki mod sisip? Ini akan diterangkan kemudian), di mana i bermaksud "dalaman" , seperti 'hello, w^orld', (^ mewakili kedudukan kursor), kemudian i' akan memilih hello, world, dan a' dalam petikan tunggal, dan a' akan memilih keseluruhan kandungan termasuk petikan tunggal. Untuk mendapatkan arahan lanjut, sila lihat dokumentasi help: text-objects.
3. Gerakan: Menunjukkan pergerakan Ini juga merupakan perkara pertama yang anda temui semasa belajar VIM, h, j, k, l, dsb. Malah, setiap arahan bergerak akan meliputi kawasan teks, dan kawasan teks ini juga boleh digunakan sebagai objek teks Contohnya, jika 5w menggerakkan 5 perkataan, 5 perkataan ini sebenarnya boleh dihantar kepada operator sebagai objek teks. pada masa ini. Contohnya: d5w akan memadam 5 perkataan. Untuk mendapatkan arahan lanjut, sila lihat dokumentasi help: motion.
4. Mod operator menunggu: Kita semua tahu bahawa VIM mempunyai banyak mod Yang pertama untuk difahami ialah mod biasa, mod sisip dan mod arahan. Daripada namanya, mod ini bermakna terdapat operator dalam keadaan belum selesai Sebab mengapa terdapat keadaan ini adalah kerana anda menggunakan operator yang disebutkan dalam 1. Operator ini memerlukan objek teks sebagai parameter, dan ia sedang menunggu untuk anda. untuk memberikannya Objek sedemikian boleh direalisasikan melalui arahan dalam 2 atau 3. Inilah sebabnya a dan i tidak akan memasuki mod sisip pada masa ini, kerana VIM tidak berada dalam mod biasa pada masa ini, tetapi dalam mod lain. Anda boleh menetapkan set showcmd untuk membenarkan VIM memaparkan arahan semasa Jika mod menunggu operator, anda akan melihat arahan ini dipaparkan dalam bar status VIM. Selepas menghantar parameter yang diperlukan oleh operator kepadanya, VIM akan kembali ke mod biasa selepas melaksanakan arahan.
Mudah difahami di’ pada ketika ini:
- d: VIM menerima arahan padam dan memasuki mod menunggu operator
- i': Menggunakan kedudukan kursor semasa sebagai koordinat, pilih teks dalam petikan tunggal dan hantar ke d sebagai objek yang akan dipadamkan