Ssh

為什麼 nano 有時會通過 SSH 顯示顏色?

  • November 9, 2015

通常,當我通過 SSH 編輯一個小文件時,我只會打開 nano。我看了一下我的 apache2 access.log。由於我沒有在此框中啟用 fail2ban 或任何功能,因此我通常也會查看 access.log.1。我注意到在我的 access.log.(#) 中,一個特定的行總是有一個奇怪的突出顯示:

GET /w00tw00t.at.ISC.SANS.DFind:) HTTP/1.1" 400 516 "-" "-" 在此處輸入圖像描述

我注意到的更多事情:

  • 僅當該行中有 .B 或 .I 並且該行之後的每個字母都是紅色時才會發生這種情況
  • 這只發生在以數字結尾的文件中;它出現在 access.log.1 中,但不在 access.log 中。任何 test.log.1 都一樣
  • 這僅適用於 filename.1 到 filename.9
  • syntax "man" "\.[1-9]x?$"我得到的行中,文件 .1 到 .9 被突出顯示.. 但是為什麼呢?

顯然 /usr/share/nano 中的文件處理語法突出顯示,經過一番探勘,我發現一個文件特別負責:man.nanorc。以下是它的內容:

## Here is an example for manpages.
##
syntax "man" "\.[1-9]x?$"
color green "\.(S|T)H.*$"
color brightgreen "\.(S|T)H" "\.TP"
color brightred "\.(BR?|I[PR]?).*$"
color brightblue "\.(BR?|I[PR]?|PP)"
color brightwhite "\\f[BIPR]"
color yellow "\.(br|DS|RS|RE|PD)"

對於 wordpress 站點上的 wp-config.php 等文件,nano 會正確突出顯示語法。.I 和 .B 有什麼特別之處,它使第一個字元變為藍色,其餘字元變為紅色,這與 .1 有什麼關係?

對於那些語法高亮規則文件,nano假設以 .1 - .9 結尾的文件名是手冊頁。

自從我編輯手冊頁以來已經有一段時間了,但我很確定 in是斜體groff -man,是粗體.I``.B

引用自:https://unix.stackexchange.com/questions/241767