2013-06-26 17 views
5

Esiste un'opzione simile a HISTIGNORE di Bash per scaricare alcune righe inutili dalla cronologia dei comandi (diciamo :wq o :help.*)?La cronologia ignora in VIM

In caso contrario, ritengo che un modo semplice per fare il fai-da-te sarebbe quello di analizzare manualmente il file .viminfo con un predicato regex. C'è un collegamento VIM specifico che potrebbe sincronizzare l'analisi con una modifica nel file .viminfo?

+1

Potrebbe piacerti la finestra della riga di comando, 'q:'. – romainl

+0

': help c_Up': puoi anche ignorare le voci indesiderate nella tua cronologia. ': cnoremap '. – ernix

risposta

1

Sfortunatamente, la risposta è No. Ma se si consente di inserire H nei comandi di battitura, è possibile che sia possibile. Cosa ne pensi di questo?

https://gist.github.com/5864587

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>) 

messo in questo file come ~/.vim/plugin/h.vim

:H buffers 

Questo non è memorizzato in :history, ma

:H ls 

Questo sarà memorizzato.

Problemi correlati