加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

历史忽略了VIM

发布时间:2020-12-15 22:34:34 所属栏目:安全 来源:网络整理
导读:是否有一个类似于 Bash的HISTIGNORE的选项来从命令历史中转储一些无用的行(比方说:wq或:help.*)? 如果没有,我认为一个简单的DIY方法是使用正则表达式谓词手动解析.viminfo文件.是否有特定的VIM链接可以将解析与.viminfo文件中的更改同步? 解决方法 不幸
是否有一个类似于 Bash的HISTIGNORE的选项来从命令历史中转储一些无用的行(比方说:wq或:help.*)?

如果没有,我认为一个简单的DIY方法是使用正则表达式谓词手动解析.viminfo文件.是否有特定的VIM链接可以将解析与.viminfo文件中的更改同步?

解决方法

不幸的是,答案是否定的.但如果您允许将H放入您的输入命令中,则可能是可能的.这个怎么样?

https://gist.github.com/5864587

let g:histignore = '^buf:^history'
function! s:h(commandline)
  call histdel(':','^Hs')
  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>)

将此文件作为?/ .vim / plugin / h.vim放入此文件中

:H buffers

这不存储在:history中,但是

:H ls

这将被存储.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读