Bash
在 vim 中查看手冊頁
我在 bash 中編寫了一個函式以
manpages
在 vim中查看viman () { man "$@" | vim -R +":set ft=man" - ; }
這很好用,如果我將
manpage
不存在的 a 傳遞給它,就會出現唯一的問題。它列印出manpage
不存在但仍以vim
空緩衝區打開。因此,我更改了函式以檢查錯誤程式碼(在此處),如果不存在
16
則退出。manpage
修改後的功能看起來有點像這樣 -viman () { man "$@" | [[ $? == 16 ]] && exit 1 | vim -R +":set ft=man" - ; }
但是,現在它什麼也沒做!!
manpage
如果不存在,我只想退出程序,否則打開manpage
withvim
試試這個:擷取 man 輸出,如果成功啟動 vim
viman () { text=$(man "$@") && echo "$text" | vim -R +":set ft=man" - ; }
我喜歡檢查
man
返回碼的想法;但是,您無法通過管道進行測試。你可以只執行man
兩次:viman () { man "$@" >/dev/null 2>&1 && man "$@" | vim -R +":set ft=man" - ; }
這
man ... | vim ...
僅在第一次呼叫man
成功時執行。