Yanıtlar:
Eminim bunu yapmanın başka yolları da vardır ... ama istediğiniz ana komut :r[ead]
, bir komutun çıktısını ara belleğe ekleyen şeydir.
Yani, sadece dosya adını eklemek için:
:r! echo %
Ve tam yolu dahil etmek için:
:r! echo %:p
Daha fazla bilgi için:
:help read
:help filename-modifiers
Geçerli dosya adı "%
kayıt defterinde, bu nedenle (ekleme modundayken) ile ekleyebilirsiniz <c-r>%
; tam yol ile eklenebilir <c-r>=expand("%:p")
. Sık kullanırsanız bir makroyu yapabilirsiniz. Daha fazla, benzer numaralar için bkz. :h expand
Ve :h "=
.
<c-r>
sonraki karakterin bir register olduğunu belirtir.
"%p
Normal veya görsel modlarda da yapabilirsiniz .
Görüldüğü gibi :h registers
, "%
kayıt geçerli dosya adını içerir. :pu[t]
Komut metnine bir kayıt içeriğini ekler.
Dolayısıyla, gerçek dosya adını eklemek için bunlardan herhangi birini komut modunda yazabilirsiniz:
:put %
veya
"%p
Dosya adını tam yolla eklemek için,
:put=expand('%:p')
komut modunda.
Daha fazla bilgi:
:h pu[t]
Yazarak "rp
kayıt içeriğini yapıştırabilirsiniz "r
.
:put "%:p"
benim için işe görünmüyor. Bu, şu şekilde olduğu gibi, genişletme () ile çalışıyor gibi görünüyor : :put =expand('%:p')
bu, <c-r>=expand('%:p')
ne yazık ki çok daha az hantal hale getirmiyor .
Çalıştırmanın basit bir yolu:
!!echo %
!!
Geçerli satırı, onu izleyen komutun sonucuyla değiştiriyor.
%
bu komutta düzenlenen dosyanın adı ile değiştirilir, bu nedenle bu adı düzenlenen dosyaya etkili bir şekilde ekler.
Dosya adı vi (m) komutuna geçirdiğiniz addır ve göreceli veya mutlak bir yol içerebilir. Soyun ve yalnızca dosya adını saklamak istiyorsanız,
!!basename %
Bunu sık sık yapmanız gerekiyorsa, http://vim.wikia.com/wiki/Insert_current_filename uyarınca istediğiniz bir tuş sırasını istediğinize bağlamak faydalı olabilir.
geçerli dosya adını, imleç modunda, uzantı modunda ekleme modundayken ekler.
:inoremap \fn <C-R>=expand("%:t:r")<CR>
Uzantı kullanımını korumak için:
:inoremap \fn <C-R>=expand("%:t")<CR>
Dizinin mutlak yolunu eklemek için dosya kullanımdadır:
:inoremap \fn <C-R>=expand("%:p:h")<CR>
Dosyanın kullanımda olduğu dizinin göreli yolunu eklemek için:
:inoremap \fn <C-R>=expand("%:h")<CR>
Her şeyden önce, doğrudan vim
oturum için çalışır veya bunu .vimrc
(satırın başındaki isteğe bağlı olan çubuğun isteğe bağlı olduğu) içine koyabilirsiniz .
Geçerli dosya adını (yol veya uzantı olmadan) geçerli konuma (yeni satır yok, mevcut satırın yerini almaz) eklemenin en basit yoluydu. Yani önceki cevapları ve bu linki birleştirerek , aradığım şey buydu.
Gelen ekleme modu:
<C-R>=expand("%:t:r")
Daha sonra bir dahaki sefere (zaten emri geçmişinde olanlara)
<C-R>=<UP>
<c-r>
yinele komutu olarak eşlenmemiş?