Penerangan masalah
Dalam mod arahan vim, bagaimanakah kita harus memudahkan perintah kompleks yang kerap digunakan?
Saya sering menggunakan arahan ganti: 0,$s/t/ /g untuk menggantikan kekunci tab dengan 4 ruang.
Untuk fail yang baru dibuat, saya telah pun membuat konfigurasi dalam fail konfigurasi Cuma kunci tab sering muncul dalam fail orang lain.
Saya perlu menggantikannya setiap kali.
Soalan saya
- Saya tidak begitu mahir dengan kekunci pintasan tetapan vim Bolehkah saya menggunakan kekunci pintasan?
Adakah mungkin untuk menukar fail secara automatik apabila membukanya dalam vim, supaya anda tidak perlu menetapkan kekunci pintasan?
-
Penyelesaian
Pertama sekali, saya ingin mengucapkan terima kasih kepada responden di bawah Berdasarkan penjelasan mereka dan membaca dokumen bantuan, akhirnya saya menghasilkan kaedah yang saya rasa munasabah
.
Kekunci pintasan pasti boleh dilakukan, tetapi anda perlu ingat kekunci pintasan Untuk masalah semasa saya, saya memilih penukaran automatik.
-
Pertama
:help ret
semak dokumen yang ingin saya katakan di sini ialah apabila menggantikan, berhati-hati untuk menggantikan aksara \t
dalam rentetan dalam program. :help ret
查看文档, 这里我想说的是, 替换的时候, 小心替换程序中字符串中的\t
Semak dokumen itu, tiada lagi yang perlu diperkatakan.
:help auto
Lihat fail .vimrc sudah ada dalam fail vimrc Cuma tulis arahan yang sepadan bersama.
if has("autocmd")
Arahan penggantian automatik ini, BufRead dan BufReadPost adalah sama Sila ambil perhatian di sini: pilihan mod, sebaiknya jangan gunakan *, khususnya jenis fail yang hendak diganti, tulis akhiran untuk mengelakkan penggantian fail secara tidak sengaja dalam fail lain. format. autocmd BufRead *.cpp,*.h :ret
Arahan penggantian ini hanya menggantikan kandungan dalam cache Buf Jika tiada pengubahsuaian atau penyimpanan, ia tidak akan ditulis Jika anda keluar terus, jika tiada pengubahsuaian, vim tidak akan menggesa anda untuk menyimpan, dan kunci tab akan tetap wujud Ini tidak berbahaya.
Akhir sekali, terima kasih sekali lagi kepada responden di bawah.
Mari mulakan dengan beberapa petua:
Sekarang anda sudah mempunyai operasi, adalah sangat mudah untuk menetapkan kekunci pintasan untuk operasi ini Contohnya, tetapkan kekunci pintasan kepadannoremap <Leader>ts:0,$s/t/ /g<CR>, mungkin
<Leader>ts
dalam mod biasa --operasi kekunci pintasan mod yang anda mahu kekunci pintasan dipetakan
.<Leader>ts
--nnoremap <Leader>ts :0,$s/t/ /g<CR>
, 大概是希望快捷键映射的模式 快捷键 操作
。第二个可以使用
autocmd BufRead * :%ret! 4<CR>
, 将整个文件的 tab 转换成 space,每个 tab 用 4 个 space 替代. ret 指的是 replace tab, 更多内容可以:help ret
,:help autocmd
,:help event
,:help BufRead
autocmd BufRead * :%ret 4<CR>
untuk menukar tab keseluruhan fail kepada ruang dan menggantikan setiap tab dengan 4 ruang ret! untuk mendapatkan maklumat lanjut, sila lawati:help ret
,:help autocmd
,:help event
,:help BufRead
. 🎜 🎜 🎜vim mempunyai perintah yang dipanggil
:retab
(saya mungkin tersalah ingat, tetapi ia sepatutnya sama), yang boleh menukar tab kepada ruang Anda boleh menyemak bantuan yang berkaitan Jika anda kerap menggunakannya, anda boleh mengikatnya pada kunci .Editor paling hebat di dunia: Vim 1 (semua contoh demonstrasi animasi asal) http://www.imooc.com/article/...
Anda boleh menyesuaikan sepenuhnya kekunci pintasan, cuma mainkan .vimrc dengan baik