Saya sedang menulis daftar HTML, dan saya ingin dapat secara otomatis menempel 10 item daftar di mana teks item adalah satu-satunya hal yang berubah.
Saya bisa melakukannya dengan menggunakan PHP dan kemudian hanya menyalin kode HTML yang diberikan tetapi jika ada cara untuk melewati langkah itu dan melakukannya langsung dari Vim yang akan menghemat banyak waktu saya.
cut-copy-paste
replace
filetype-html
Azmodeus
sumber
sumber
Jawaban:
Untuk apa yang ingin Anda lakukan, emmet-vim , seperti yang disarankan nobe4, adalah taruhan terbaik Anda.
Dalam mode insert,
li{item $}*10<c-y>,
akan diperluas 10<li>
detik denganitem N
prefilled sebagai teks. Anda akan mulai mengedit konten yang pertama. Saat masih dalam mode menyisipkan, menekan<c-y>n
akan pindah ke tag berikutnya untuk mengedit.Jika item daftar Anda bukan urutan teks yang diulang, Anda dapat menggunakan vim-surround untuk membantu.
Contoh daftar teks yang perlu dibungkus:
Jika Anda mulai dengan kursor di suatu tempat di teks, menekan
^vip$<c-v>Stli<cr>
akan membungkus setiap baris dengan<li></li>
.Ini dapat dibuat menjadi peta kunci yang mudah digunakan:
sumber
.col$*5>.inner
Saya mungkin akan melakukan ini dengan pemetaan:
Rencananya adalah menyisipkan ke tag dan kemudian menempatkan sisipan di antara mereka, sehingga Anda dapat mengetikkan teks, melarikan diri kembali ke mode normal dan kemudian melakukan ctrl-b lagi. (PS, ^ B dan ^ [dimasukkan menggunakan ctrl_V, tetapi Anda mungkin sudah tahu itu.) Untuk memasukkan sepuluh baris dalam perintah tunggal, Anda dapat menggunakan
Saya tidak jelas apakah Anda memiliki cara otomatis untuk benar-benar membuat teks item?
sumber