vim – Quickfix列表,如何添加和删除条目
在
vim我通常使用quickfix列表作为todo列表的类型来修复错误或重构代码.但是我的工作流程有一些问题:
>如果我必须多次跳转:cn来比较代码的其他部分,找到最后编辑的条目:cp是很困难的. :cw有帮助,但在更大的列表上,它也变得困难.删除固定条目会很有帮助. 所以我希望找到一个简单的命令:help quicktext将位置添加到quickfix列表或删除已经修复的条目.但我能找到的只有:cbuffer或:caddb.但是在编辑缓冲区之后:cw我得到一条消息,它是不可修改的.帮助文本提供了以下解决方案(但我真的不想编写临时文件):
或许有:cad可以添加当前行吗?还是有人在考虑其他工作流程? 解决方法
我找到了你的问题,特别是寻找从quickfix列表中删除项目的能力.我不是非常擅长vimscript,所以可能有一个更优雅的解决方案,但这就是我想出来的.
这会覆盖quickfix列表中的dd(无论如何都是无用的,因为可修改已关闭)从quickfix列表中删除当前行(光标的当前行,而不是当前的quickfix项). 我无法弄清楚如何以编程方式确定当前的quickfix项目,这是我如何决定使用dd,使其更明显地应用于游标行. 我希望你会发现这很有用. " When using `dd` in the quickfix list,remove the item from the quickfix list. function! RemoveQFItem() let curqfidx = line('.') - 1 let qfall = getqflist() call remove(qfall,curqfidx) call setqflist(qfall,'r') execute curqfidx + 1 . "cfirst" :copen endfunction :command! RemoveQFItem :call RemoveQFItem() " Use map <buffer> to only map dd in the quickfix window. Requires +localmap autocmd FileType qf map <buffer> dd :RemoveQFItem<cr> 更新:我已经解决了上面找到的一些问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |