Linwei
Linwei
wrong repository here. this is the origin asynctasks.vim project, I don't have any lua code here. And there may be an asynctasks extension for telescope
Could you provide more detail ? Windows ? Linux ? What is your expected output ?
```ini [my-task] ... strip=1 ```
terminal feature went stable on vim 8.1, so your vim is too old, try use a new one.
it appears that asynctasks was not properly installed on Windows.
不管是 vim 还是 nvim,asynctasks.vim 默认会同时在两个地方查找全局配置: ~/.vim/tasks.ini ~/.config/nvim/tasks.ini 你留一份就行了,不然优先级不同又会互相覆盖。 再,F9 编译时,如果 output=quickfix,不会用 term,而是用的下方 quickfix 窗口,quickfix 匹配什么显示什么依赖于 errorformat 的设置,有一些插件会画蛇添足的设置 errorformat,屏蔽所有非错误类信息的显示,比如 vim-polyglot 之类的。 它会设置成只显示编译错误,其他信息一律隐藏。 你可以再任务配置下面加一行: errorformat= 清空 errorformat 再试试。
至于在 quickfix 窗口 F5 没法执行的问题,你到底是要执行项目还是要执行文件?执行文件焦点当然要在你想要执行的文件上,你焦点在 quickfix 窗口上谁知道你想执行哪个文件啊? 执行项目的话,一般会用到 project root,当前文件找不到 root 的话,就会去使用 vim 的当前目录 (`:pwd` 返回那个),所以你在 vim 中 cd 到项目根目录,你就可以在 quickfix 窗口中也能正常取到项目 root,并完成项目执行。
最后是三个窗口的问题,是因为你编译 F9 用的是 quickfix 窗口,不是 term 窗口,但是运行时是真的在 term 窗口, 你可以设置一下: let g:asynctasks_term_pos = 'TAB' 让运行跑到一个新的 tab 上,运行完了又自动关闭,这样就不会破坏布局了, 如果不喜欢这种运行方式,可以更新一下 asyncrun,除去上下左右和 tab 外, 目前还支持好多种运行方式,可以让你在新的 gnome-terminal 窗口里,floaterm 里,tmux 新窗口里运行你的程序。 这部分见: https://github.com/skywind3000/asyncrun.vim#extra-runners
你把 F9 编译设置成 output=quickfix 就不会切换焦点了。