我正试图在关闭它的配置文件(sxhkdrc)后告诉neovim杀死sxhkd并运行sxhkd。这就是我的init.vim
autocmd BufWritePost *sxhkdrc pkill sxhkd; setsid sxhkd我得到以下错误
"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?
发布于 2019-10-28 07:28:55
在从Vim内部执行外部命令时,我们使用!前缀在非交互式shell中运行该命令。您可以通过执行:!ls来进行测试,以进行快速演示。
在你的例子中,Vim告诉你它不理解你给它的命令。这很公平:它不是一个编辑器命令,而是一个设计用于从终端执行的命令。你可能想:
autocmd BufWritePost *sxhkdrc !pkill sxhkd; setsid sxhkd编辑:亚历克斯在评论中指出sxhkd是一个守护进程,因此用&对其进行后台处理将更有意义:
autocmd BufWritePost *sxhkdrc !pkill sxhkd && setsid sxhkd &https://stackoverflow.com/questions/58581437
复制相似问题