当前,我正在尝试使用cscope清理quickfix窗口,并使用以下命令来做到这一点:
augroup quickfix
autocmd!
autocmd BufRead qf set modifiable
autocmd FileType qf
\ set modifiable |
\ set hidden |
\ execute ":%s/<<.*>>//g"
augroup END
这样,无论何时打开文件,<<>>
标记都会被删除。但是,由于默认情况下Quickfix窗口为nomodifiable
,因此我必须强制使用它。
在测试过程中,我发现替换已执行,但之后的quickfix窗口仍为nomodifiable
;因此,我无法编辑其内容或将其用作注释。可以在打开窗口后手动设置可修改的设置,但这并不方便。也许我错过了一些东西或使用了错误的事件。有人可以解释出什么问题吗?
答案 0 :(得分:1)
在您不熟悉autogroup
的情况下,迫切需要解决这些问题。
只需在.vimrc中尝试或执行以下行即可:
au BufRead errors.err set ma hidden | execute ":%s/<<.*>>//g"
然后应该修改quickfix文件(通常称为“ errors.err”)。
(如果使用其他名称,请用它代替'errors.err',或使用类似'* .err'的模式。)
有关更多信息,请参见:h au
。
答案 1 :(得分:0)
我怀疑您使用quickfix列表的过程本质上是效率低下的,但是如果您想以此方式滥用它并使其可修改,那么对我来说,以下工作是可行的:
au! FileType qf set ma hidden | execute ":%s/<<.*>>//g"
au! BufReadPost quickfix set ma
有关更多信息,请参见:h CTRL-W-<Enter>
。