Rxvt
是否可以讓“xrdb”忽略註釋行上的單引號?
我正在使用
rxvt-unicode
, version9.22
作為終端仿真器,並使用文件對其進行配置~/.Xresources
。當我修改配置文件時,為了立即看到效果,我執行命令:
xrdb ~/.Xresources
來自
man xrdb
:以驚嘆號 (!) 開頭的行將被忽略,並可用作註釋。
在我的機器上,使用
xrdb
version1.1.0
,當註釋行包含奇數個單引號時,例如! it's a comment
,xrdb
抱怨錯誤,例如:/home/user/.Xresources:1:5: warning: missing terminating ' character ! it's a comment ^
目前,我將單引號加倍以避免此錯誤:
! it''s a comment
我想我也可以使用
/* */
, 而不是!
, 因為它是 Vim 預設使用的註釋字元串(定義在 中$VIMRUNTIME/ftplugin/xdefaults.vim
)。但我更喜歡使用!
,因為我發現使用它的評論更具可讀性。有沒有辦法要求
xrdb
忽略註釋行中的單引號~/.Xresources
?
這似乎是由於 GNU 的預設行為發生了變化
cpp
,它xrdb
用作其預設預處理器。具體來說,根據The C Preprocessor: 10.1 Traditional lexical analysis:一般來說,在傳統模式中,開場白不需要有匹配的閉場報價。
但是
cpp
提供了一個命令行選項以在傳統模式下執行:-traditional -traditional-cpp Try to imitate the behavior of pre-standard C preprocessors, as opposed to ISO C preprocessors. See Traditional Mode.
while
xrdb
允許在其命令行上顯式定義預處理器:-cpp filename This option specifies the pathname of the C preprocessor pro‐ gram to be used. Although xrdb was designed to use CPP, any program that acts as a filter and accepts the -D, -I, and -U options may be used.
因此,應該可以通過使用來抑制警告
xrdb -cpp "/usr/bin/cpp -traditional-cpp" ~/.Xresources
或者
xrdb -cpp "/usr/bin/cpp -traditional" ~/.Xresources