Vim, yeni bir dosya writte olduğunda 'CommandTFlush' komutunu çalıştırmaya çalışıyorum. Command-T eklentisini kullanmayanlar için 'CommandTFlush' komutu, geçerli dizindeki dosyaların dizinini yeniden oluşturmak için kullanılır.Yeni bir dosya yazıldığında CommandTFlush komutunu çalıştırın
Ne yapmak istediğim komut, dosya diske yazıldıktan sonra komutu çalıştırmaktır; böylece CommandTFlush dosyayı bulur ve dizine ekler.
Bir fonksiyonu kendim yazmaya denedim ama ya o ateş etmiyor veya (dosya yazılmadan önce ve bütün mesele dizine dosyayı eklemektir) daha çok erken basar:
au! BufWritePre * ks| call NewFilesUpdatesCommandT()
function! NewFilesUpdatesCommandT()
let [email protected]%
if !filereadable(filename)
CommandTFlush
endif
endfunction
BufWritePre'de bir boolean var (isTheFileNew) ayarlanarak çözülebilir ve sonra dosya oluşturulduysa BufWritePost'da CommandTFlush komutunu çalıştırabilirim, ancak sözdizimini anlayamıyorum. Başka bir çözüm, BufWritePost geri çağrısını BufWritePre geri arama içinden ayarlama/iptal etme olabilir, eğer bu mümkün olursa ...
Burada kimse bana yardımcı olabilir mi? ;)
Sizin autocommand'ınızın başında ne ks | 'yapıyor? Bunu vim yardımında bulamıyorum. – ZyX
Bulundu. Fonksiyonunuz imleci hareket ettirmiyorsa neden pozisyonunuzu işaretlemek istersiniz? – ZyX
Gerçekten hiç bir fikrim yok. #[email protected] 'te aldığım bazı göstericilere göre sadece kötü bir kopyalama/yapıştırma işi. Henüz yardım dosyalarından nasıl yararlı bir şey elde edeceğinizi henüz anlamış değilim. Vim ile üçüncü günümdeyim;) – peterfarsinsen