Setelah beberapa pencarian, saya jadi tahu :echo @%
menampilkan nama file saat ini di baris bawah layar vim.
Saya ingin membuang nama file (dengan dan tanpa path lengkap) ke dalam isi file tanpa meninggalkan vim
.
Apakah ada cara untuk melakukan ini?
<c-r>
dipetakan sebagai perintah redo?<c-r>
tentukan bahwa karakter selanjutnya adalah register."%p
dalam mode normal atau visual.Seperti dapat dilihat di
:h registers
,"%
register berisi nama file saat ini. The:pu[t]
perintah menyisipkan isi dari register ke dalam teks.Jadi, untuk memasukkan nama file yang sebenarnya Anda dapat mengetikkan salah satu dari ini, dalam mode perintah:
atau
Untuk memasukkan nama file dengan path lengkap, ketik
dalam mode perintah.
Info lebih lanjut:
Dengan mengetik
"rp
Anda bisa menempelkan isi register"r
.sumber
:put "%:p"
tampaknya tidak bekerja untuk saya. Tampaknya hanya berfungsi dengan expand () , seperti pada:put =expand('%:p')
:, yang membuatnya tidak lebih rumit daripada<c-r>=expand('%:p')
sayangnya.Cara sederhana adalah menjalankan:
!!
mengganti baris saat ini dengan hasil dari perintah yang mengikutinya.%
diganti dengan nama file yang diedit dalam perintah sehingga ini akan secara efektif memasukkan nama itu dalam file yang diedit.Nama file adalah yang Anda berikan ke perintah vi (m) dan mungkin berisi path relatif atau absolut. Jika Anda ingin menghapusnya dan hanya menyimpan nama file, jalankan
sumber
Jika Anda perlu sering melakukan ini, mungkin berguna untuk mengikat urutan kunci ke apa yang Anda inginkan, sesuai http://vim.wikia.com/wiki/Insert_current_filename
Semua di atas bekerja langsung
vim
untuk sesi ini, atau Anda dapat memasukkannya ke dalam.vimrc
(di mana titik dua di baris adalah opsional).sumber
Saya sedang mencari cara termudah untuk menyisipkan nama file saat ini (tanpa jalur atau ekstensi) ke posisi saat ini (tidak ada baris baru, tidak ada ganti baris saat ini). Jadi menggabungkan jawaban sebelumnya dan tautan ini, inilah yang saya cari.
Dalam mode sisipkan :
Kemudian waktu berikutnya (dengan perintah sudah ada dalam sejarah):
sumber