2013-06-26 13 views
5

Bash'in HISTIGNORE'una benzer bir seçenek var mı, komut geçmişinden bazı yararsız satırlar dökmek için (:wq veya :help.* diyelim)?Tarih, VIM'de yoksayılıyor

Değilse, basit bir DIY yönteminin bir regex yüklemi ile .viminfo dosyasını el ile ayrıştırmak olacağını düşünüyorum. Ayrıştırmayı .viminfo dosyasındaki bir değişiklikle eşitleyebilecek belirli bir VIM bağlantısı var mı?

+1

Komut satırı penceresi, 'q:' gibi olabilir. – romainl

+0

': help c_Up': geçmişinizde istenmeyen girişleri de göz ardı edebilirsiniz. ': cnoremap '. – ernix

cevap

1

Maalesef, yanıt hayır. Ancak, yazım komutlarınıza H kodunu eklemenize izin verirseniz, bu mümkün olabilir. Buna ne dersin?

let g:histignore = '^buf:^history' 
function! s:h(commandline) 
    call histdel(':', '^H\s') 
    let oldhist=&history 
    try 
    if len(filter(split(g:histignore, ':'), 'a:commandline =~ v:val')) == 0 
     call histadd(':', a:commandline) 
    endif 
    set history=0 
    exe a:commandline 
    catch 
    echohl ErrorMsg | echomsg v:exception | echohl None 
    finally 
    let &history=oldhist 
    unlet oldhist 
    endtry 
endfunction 
command! -nargs=+ H call s:h(<q-args>) 

https://gist.github.com/5864587

sizin ~/.vim/eklenti olarak bu dosyaya koyun/h.vim

:H buffers 

Bu :history saklanmaz, Ama

:H ls 

Bu saklanacak.