2014-09-22

qvim/gvim use -f | --nofork 與 EDITOR 設定

不知道大家有沒有遇過,類似在終端機下指令執行 qvim/gvim  時,希望開啟檔案後不直接執行下個指令,等程式關閉在執行下個指令的功能?

這時啟動加入參數 -f 就能達成

qvim -f file


:help --nofork@tw
*--nofork*
--nofork GUI: 不分叉。和 |-f| 相同。

實際應用場合 yaourt


從圖片中可以看到當我按下  Y 修改  PKGBUILD 檔時,程式已經進入下個指令,若我編輯完成他也不會吃新的設定,還需要在次按 Y 才行。
沒加 -f

若加入 -f 則等我編輯檔案存檔完成,才會進入下個步驟,立即套用修改設定,不用二次按 Y在開程式>關閉。
有加 -f
P.S yaourt 預設文字編輯器是設定 /etc/yaourtrc 中的 EDITOR 變數,你可以將 qvim -f 設成預設值

EDITOR="qvim -f"

但是我不怎麼建議直接修改 yaourtrc ,因為會發生一種狀況,你在 tty 終是沒 gui 可用的,你在 tty 還要去修改回來 EDITOR="vim" 很麻煩。

我是建議修改 ~/.bashrc OR ~/.zshrc 用指令判斷是否有 gui 可用,若可以則啟用 qvim -f 若無則啟用 vim

if [ -n "$DISPLAY" ]; then
export EDITOR="qvim -f"
  else
export EDITOR="vim"
fi


參考資料: