Vim
vimdiff 是否有 sudoedit 等價物?
我正在嘗試養成使用
sudoedit
,而不是sudo vim
. 這有幾個優點,其中之一是它使用了我使用者的~/.vimrc
.有沒有等價物,而不是使用
sudo vimdiff
?我試過的
- 可以不直接使用,而是
vimdiff
在垂直拆分中打開兩個文件,然後:diffthis
在兩者中執行。但是,如果我用 . 打開一個文件sudoedit
,那麼我必須直接打開第二個文件,而不是sudoedit
自動在/var/tmp
.- 也可以使用
vim -O file1 file2
. 然而,不出所料,sudoedit -O
失敗了。
要確定要執行的編輯器,請
sudo
檢查三個環境變數(按順序):SUDO_EDITOR
、VISUAL
和EDITOR
,並使用它找到的第一個編輯器。(如果沒有找到,它會退回到預設值。)所以你可以讓它執行 vimdiff 而不是 vim,如下所示:
$ VISUAL=vimdiff sudoedit file1 file2
如果您的 sudoers 策略只允許您編輯某些文件,這可能會失敗,在這種情況下您可以添加一個參數:
$ VISUAL='vimdiff file1' sudoedit file2
在這種情況下,我假設您可以
file1
作為普通使用者閱讀,但需要 root 訪問權限才能閱讀file2
。(我正在使用
VISUAL
,因為那是我習慣的;請隨意使用SUDO_EDITOR
。)