首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在文件保存时终止进程

在文件保存时终止进程
EN

Stack Overflow用户
提问于 2019-10-27 16:50:27
回答 1查看 194关注 0票数 0

我正试图在关闭它的配置文件(sxhkdrc)后告诉neovim杀死sxhkd并运行sxhkd。这就是我的init.vim

代码语言:javascript
复制
autocmd BufWritePost *sxhkdrc pkill sxhkd; setsid sxhkd

我得到以下错误

代码语言:javascript
复制
"sxhkdrc" 9L, 136C written
Error detected while processing BufWritePost Autocommands for "*sxhkdrc":
E492: Not an editor command: pkill sxhkd; setsid sxhkd
Press ENTER or type command to continue

我可以在终端中不出错地运行pkill sxhkd; setsid sxhkd,但是由于某种原因,我的init.vim文件不知道如何执行这个命令。

当我保存一个进程的配置文件时,我能做些什么来杀死一个进程,比如sxhkd?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-28 07:28:55

在从Vim内部执行外部命令时,我们使用!前缀在非交互式shell中运行该命令。您可以通过执行:!ls来进行测试,以进行快速演示。

在你的例子中,Vim告诉你它不理解你给它的命令。这很公平:它不是一个编辑器命令,而是一个设计用于从终端执行的命令。你可能想:

代码语言:javascript
复制
autocmd BufWritePost *sxhkdrc !pkill sxhkd; setsid sxhkd

编辑:亚历克斯在评论中指出sxhkd是一个守护进程,因此用&对其进行后台处理将更有意义:

代码语言:javascript
复制
autocmd BufWritePost *sxhkdrc !pkill sxhkd && setsid sxhkd &
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58581437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档