Configuration
如何覆蓋 /etc/nanorc 系統範圍?
我希望所有 nano 使用者都擁有
tabsize 4
而不是預設的 8。實現這一目標的最佳方法是什麼?我更喜歡在系統級別覆蓋 /etc/nanorc 的文件,因此我不必為此目的維護單獨的使用者 nanorc。在簡單的情況下,我的覆蓋只需要包含:set tabsize 4
這是陳述我的問題的另一種方式:nano 是否辨識 /etc/nanorc.d/ 和其中放置的配置文件?如果是這樣,放置在那裡的配置文件所需的命名和/內容是什麼?
到目前為止,我嘗試的是
/etc/nanorc.d/
在該目錄中創建並放置一個名為 tabsize.conf 的文件,並僅將以下內容放入文件中:set tabsize 4
我的天真嘗試沒有奏效,但我希望有一種方法可以將此 config.d/ 模式與 nano 一起使用。
我會讓我的問題更加具體。我正在使用 Arch Linux。當包有一個新的 nanorc 時,我已經做了這些步驟:
mv /etc/nanorc.pacnew /etc/nanorc
然後編輯
/etc/nanorc
,搜尋 tabsize,取消註釋該行,將值從 8 更改為 4 並保存文件。我的目標是只需要執行此步驟:
mv /etc/nanorc.pacnew /etc/nanorc
並有一個類似於
/etc/nanorc.d/tabsize.conf
包含我想要的標籤大小的文件。這節省了一點時間,但它加起來在多台電腦上成倍增加。今年似乎我收到/etc/nanorc.pacnew
了大約六次新文件。一遍又一遍地編輯製表符是非常低效的。
那麼
/etc/nanorc.pacnew
新發行版升級附帶的新 rc 文件呢?怎麼樣sed '/tabsize/ {s/^# *//; s/[0-9]*$/4/}' /etc/nanorc.pacnew > /etc/nanorc
, 然後?
另一個可能的技巧可能是
~/.nanorc
在每個使用者的主目錄中都有一個符號連結,指向具有相關命令的中央文件。一經請求:
sed '/tabsize/ # if the line matches "tabsize" {s/^# *//; # remove "#" and trailing spaces from begin-of-line (BOL) s/[0-9]*$/4/ # substitute any sequence of digits at EOL by "4" }' /etc/nanorc.pacnew # input file > /etc/nanorc # redirection to target file