可以在 .i3config 中获取文件

dax*_*dax 5 configuration i3

我想从我的.i3config文件中提取默认键绑定并从另一个文件中获取它

我是这样做的:

#~/.i3config
...
#source default keybindings
. ~/.path_to_other_file
Run Code Online (Sandbox Code Playgroud)

但这不起作用。重新启动 i3 会导致错误“您的配置文件中有语法错误!” 我想不出为什么这是不可能的,但. ~/path_to_other_filesource ~/path_to_other_file这两个不工作。

Hal*_*ost 4

实际上有一个简单的原因导致这不能按您的预期工作。i3 的配置文件不是 shell 脚本。那么,问题是,你为什么要这样做?

如果您希望能够在您提到的脚本中指定的 i3 配置中运行命令,那么它不会起作用。看起来您希望将配置文件分解为几个较小的 shell 脚本;这也行不通。如果您希望 i3 以任何合理的方式了解一组按键绑定,您应该将它们直接放入您的配置文件中。

另一方面,如果您只想在启动 i3 时运行 shell 脚本,这非常简单。您需要做的就是使用记录良好的exec命令(我想它看起来像这样):

exec sh /path/to/script/to/be/run
Run Code Online (Sandbox Code Playgroud)

  • 这实际上只是为了隔离 - 我定义了很多自己的键绑定,默认的键绑定占用了大量的空间并降低了可读性 (2认同)