我正在使用 vim 管理待办事项列表,并想设置一个热键来执行以下操作:
查找包含光标下单词的所有行。世界总是一个标签,格式为:#mytaghere
按其中包含的另一个标签按字母顺序对所有这些行进行排序。该标签再次采用#mytaghere 格式。例如,所有带有标签#priorityA 的行都将按字母顺序排列并放置在所有带有标签#priorityB 的行之上,依此类推。
将所有这些行放入 Vim 的 quickfix 窗口。
通过将以下内容放入我的 .vimrc 文件中,我设法实现了 1 和 3 的有限版本:
map <f2> :vimgrep <cword> % <bar> copen <enter>
set iskeyword=@,48-57,_,192-255,95,35 "lets cword include #s and _s
每当光标下的单词包含 # 时,此设置就会失败,并且只要字符是其他字符(例如 _ ),它就会起作用。产生的错误是:“E682:无效的搜索模式或分隔符”,看起来像 # 正在干扰与 vimgrep。
另外,我不知道如何按优先级标签对行进行排序。
提前感谢您的帮助。我只是在学习 Vim,如果我能解决这个问题,我就可以将它用于我所有的组织工作。