Gnu
禁用 GNU Indent 備份文件
我在我的項目中使用 GNU Indent 來格式化 C 程式碼。
預設情況下,創建的備份文件以
~
.我不想創建任何備份文件,有沒有辦法禁用它?
瀏覽手冊頁
indent
和官方 GNU 文件,我只看到 2 種控制這種行為的方法。環境變數:
- SIMPLE_BACKUP_SUFFIX
- VERSION_WIDTH
我嘗試了將寬度設置為 0 並將 SIMPLE_BACKUP_WIDTH 設置為空(
""
)的各種技巧。兩者都沒有達到預期的效果。我認為您唯一的做法是創建一個 shell 別名和/或函式來包裝命令indent
以執行您想要的操作。例子
$ function myindent() { indent "$@"; rm "$@"~; }
然後當我執行它時:
$ myindent ev_epoll.c
我得到了想要的效果:
$ ls -l | grep ev_epo -rw-r--r--. 1 saml saml 7525 Dec 13 18:07 ev_epoll.c
使用 Mercurial 中的原始碼。 backup.c 中的評論說
* Finally, if VERSION_CONTROL is "none" or "never", backups are not * made. I suggest you avoid this behaviour.
的允許值
VERSION_CONTROL
列在同一文件中:{ {none, "never"}, /*!< Don't make backups. */ {none, "none"}, /*!< Ditto */ {simple, "simple"}, /*!< Only simple backups */ {numbered_existing, "existing"}, /*!< Numbered if they already exist */ {numbered_existing, "nil"}, /*!< Ditto */ {numbered, "numbered"}, /*!< Numbered backups */ {numbered, "t"}, /*!< Ditto */ {unknown, 0} /*!< Initial, undefined value. */ };
文件中包含相同的資訊
NEWS
,表明它可以追溯到 1.3 版(1990 年代後期),因此它可能在您的系統上可用。它不在**
indent
**手冊中:備份文件的類型由環境變數的值控制
VERSION_CONTROL
。如果是字元串**‘simple’,則只會進行簡單備份。如果其值為字元串’numbered’,則將進行編號備份。如果它的值為’numbered-existing’**,則如果縮進的文件已經存在編號備份,則將進行編號備份;否則,將進行簡單備份。如果VERSION_CONTROL
未設置,則縮進假定為“編號存在”的行為。對於它的價值,我測試了GNU indent 2.2.11(它有效)。