Saya menggunakan Vim untuk menulis C ++, dan saya punya beberapa #include<>
pernyataan, komentar, dll yang harus saya sertakan dalam setiap file baru yang saya buat. aku sudah menambahkan
autocmd BufNewFile *.cpp r C:\(full file path of skeleton text file)
ke vimrc saya, karena saya mendengar ini membuat buffer dengan teks yang saya butuhkan di dalamnya. Bagaimana cara saya menambahkan teks ini ke file baru? Apakah ada cara mudah untuk melakukan ini dari buffer, atau ada cara lain yang mudah untuk melakukan ini? Saya juga pernah mendengar sedikit tentang plugin templat. Apakah ada yang sangat sederhana yang bisa melakukan ini untuk saya?
vimrc
buffers
autocmd
filetype-c++
electriccello
sumber
sumber
autocmd
, dan membuat file kerangka?:r C:\(full file path of skeleton text file)
? Apakah Anda mendapatkan kesalahan?:enew
tidak akan berfungsi, tetapi:e newfile.cpp
harus berfungsi jikanewfile.cpp
belum ada (meskipun kosong).:enew
tidak akan berhasil adalah karena Anda mengedit buffer baru yang tidak disebutkan namanya, dan kemudian menyimpannya sebagai file .cpp.BufNewFile
hanya memicu jika Anda mengedit file baru dengan nama file target.Jawaban:
Teks kerangka dari file yang sudah ada dapat ditambahkan ke file baru dengan memasukkan baris
ke dalam vimrc. The
BufNewFile
event tidak bekerja jika file yang baru dibuat dalam dua langkah menggunakan:enew
kemudian:sav filename
. Sebagai gantinya, membuat file baru menggunakan:e filename
memicuBufNewFile
autocommand acara di vimrc, menambahkan konten file teks kerangka ke file yang baru dibuat.sumber
:help template
..vimrc
tidak tersumbat, apakah ada lokasi lain dalam~/.vim/
hierarki yang dapat saya masukkan?Memang, plugin expander template akan membantu Anda dalam tugas ini.
:read
adalah langkah 0 dari plugins expander template.Misalnya, mu-template akan mencoba memasukkan foo.h dari foo.cpp jika foo.h terdeteksi. Ini juga akan memungkinkan untuk memperluas tajuk dengan data dinamis di dalamnya (tanggal, penulis, lisensi / hak cipta, dll).
sumber
Untuk mengatur kerangka default untuk semua tipe file dan menyesuaikannya untuk proyek tertentu:
Letakkan kerangka default di bawah
~/.vim/skeleton
, misalnya:~/.vim/skeleton/vim
,~/.vim/skeleton/sh
.Letakkan kerangka spesifik proyek di bawah
balabala/project/.vim/skeleton
. Selama~/.vim
muncul sebelumnyabalabala/project/.vim
di:h rtp
,balabala/project/skeleton/
akan digunakan sebagai direktori kerangka.sumber