Osx

如何更改預設的“閱讀”程序?

  • October 14, 2016

現在,當我執行時man (something)less用於查看它。然而,在 Mac OS X 上,我真的很喜歡用觸摸板滾動而不是up/downpage-up/page-down按鈕。有沒有辦法將文本列印到終端而不是使用lessor more

不確定OSX,但希望它足夠Unix-y …

在您的 $HOME/.bashrc 中添加以下行:

export MANPAGER=cat

如果您希望您的所有尋呼程序都以這種方式執行,請PAGER改為設置。 man如果設置將使用MANPAGER,否則將回退到PAGER,如果未設置則回退到more

為了獲得您想要的效果,您可以在單獨的視窗中獲得手冊頁,視圖從第一頁開始,將以下內容添加到您的~/.bash_profile

function man {
   mf=`mktemp /tmp/$1-formatted-XXXXXXXXX`
   /usr/bin/man -t "$@" | pstopdf -i -o $mf
   mv $mf $mf.pdf
   open -W $mf.pdf
   rm $mf.pdf
}

您可以註銷並重新登錄以啟動它,或者只需使用以下命令重新載入文件:

. ~/.bash_profile

PATH後者有可能重新定義具有重複資訊的變數之類的東西。

此函式會覆蓋該man命令,使其在臨時文件中建構手冊頁的 PDF 格式版本,在 PDF 查看器中打開它(預設為預覽),然後在關閉查看器時刪除臨時 PDF。這個想法是,您的預設 PDF 查看程序可能會以您想要的方式響應觸摸板。

為了獲得最後一個刪除臨時 PDF 的功能,我不得不open(1)等到 PDF 查看器關閉後再繼續。這意味著您無法在 PDF 保持打開狀態時繼續使用終端視窗。解決此問題的一種方法是刪除-W標誌並open使用類似的命令執行命令sleep 1,這應該有足夠的時間讓預覽打開。另一個技巧可能是將最後一行替換為以下內容:

( sleep 60 ; rm $mf.pdf ) &

這將rm命令安排在未來 60 秒,當然足夠的時間。

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