skywind3000 / asynctasks.vim

:rocket: Modern Task System for Project Building, Testing and Deploying !!
https://www.vim.org/scripts/script.php?script_id=5853
MIT License
915 stars 30 forks source link

toggleterm终端没法复用 #96

Open qujihan opened 2 years ago

qujihan commented 2 years ago

最近配置asynctasks的时候,配置let g:asynctasks_term_pos = 'toggleterm',当我使用 AsyncTask file-run的时候可以正常运行,但是当我使用<c+>打开term的时候,会再次运行一次AsyncTask file-run。导致我无法使用toggleterm进入命令行模式(任意按键都导致退出终端)

另外,asynctasks_term_close = 1在toggleterm上也是不可用状态。我不清楚是asynctasks.vim对toggleterm的适配不是很好,还是toggleterm本身有问题。

qujihan commented 2 years ago

<img width="1280" alt="运行" src="https://user-images.githubusercontent.com/43026824/188498547-bb11692c-4020

asynctasks配置

-43a6-af2d-529f50fd3e61.png">

toggleterm配置
qujihan commented 2 years ago
运行
skywind3000 commented 2 years ago

這些 runner 是定义在 asyncrun 项目里的,你用的这个 toggle term 也一样:

https://github.com/skywind3000/asyncrun.vim/blob/master/README-cn.md#%E9%A2%9D%E5%A4%96%E7%9A%84-runner

你可以参考它的写法,自己定义一个新 runner 即可,比如 toggleterm2.vim 放在任意 runtimepath 的:

autoload/asyncrun/runner 

下面,比如

~/.vim/autoload/asyncrun/runner/toggleterm2.vim

老的 toggleterm.vim 没有处理 reuse 字段,你弄好后可以提交 PR 给我,增强默认的 toggleterm 的 runner

qujihan commented 2 years ago

作者大大你好,我修改了原来的toggleterm的配置,并且提交了pr。请你看一下(๑>؂<๑)

skywind3000 commented 2 years ago

我没有用过 toggleterm,没法帮你 review,请你保证兼容老的 toggleterm 用法不要让老用户没法用即可,否则起一个 toggleterm2

qujihan commented 2 years ago

我没有用过 toggleterm,没法帮你 review,请你保证兼容老的 toggleterm 用法不要让老用户没法用即可,否则起一个 toggleterm2

我写了一个新的,原来的没有改过。😊