Colors

Nano 到 Sudoedit = 沒有顏色

  • April 8, 2017

以下是我用於編輯 root 擁有的文件的個人別名:

# CLI superuser nano; compiled; version 2.8.0

function sunano {
   export SUDO_EDITOR='/usr/local/bin/nano'
   sudoedit "$@"
}


# GUI superuser xed; packaged; version 1.2.2

function suxed {
   export SUDO_EDITOR='/usr/bin/xed'
   sudoedit "$@"
}


# GUI superuser sublime-text; packaged; version 3126

function susubl {
   export SUDO_EDITOR='/opt/sublime_text/sublime_text -w'
   sudoedit "$@"
}

讓我從頭開始:

  1. 感謝Stephen Kitt 的建議,Sublime Text 現在可以很好地工作。
  2. xed好像也很好用,說明權限提升了,個人不太喜歡提醒,不過好像沒問題,顏色有,不用等待切換像崇高。
  3. 我遇到的問題是 Nano 如下:

如果我像以前那樣呼叫它,例如:

sudo nano /etc/nanorc

顏色就在那裡。

但如果我用新別名呼叫它:

sunano /etc/nanorc

沒有任何顏色。

配置似乎已被閱讀,因為它看起來與我配置的相同。

**EDIT1:**顯然這個問題至少會影響配置文件:

-rw-r--r-- 1 root root 8.6K Apr  8 02:30 /etc/nanorc

其他文件,例如 Bash 或 C++ 是彩色的,我很困惑。

這裡的問題是sudoedit在編輯器中打開它之前將文件複製到一個臨時文件。當文件具有副檔名時,將創建具有相同副檔名的臨時文件,並適當選擇基於文件名的語法突出顯示模式(例如,對於 C 文件)。當文件沒有副檔名時,例如nanorc,它是使用隨機副檔名創建的;這會混淆基於文件名的語法突出顯示模式選擇,並nano最終將文件視為標准文本文件。

如果您可以重新配置nano以將任何nanorc*文件視為配置文件,您將能夠恢復您所追求的行為。否則我不確定有沒有辦法自動處理這個問題。

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