有馬総一郎のブログ

(彼氏の事情)

2018年09月29日 23:24:18 JST - 1 minute read - Vim

root権限編集(sudoedit)でnvrを使う

nvimを使っているのであれば、nvimを立ち上げっぱなしで、terminalを使ってコマンド操作するようになると思う。

しかし、sudo nvrとかやると、当たり前だけどnvrできない。というか、今更ながら、sudoeditを使って編集するのが正しいことを知る。

sudo vim より sudoedit を使うべき理由, sudoedit を忘れてユーザ権限で設定ファイルを編集してしまったときの小技。冷静に考えれば、その通りだ。

しかし、sudo update-alternatives --config editorでエディター選択肢にnvimが出てこない…

arimasou16@Lemur:~$ sudo update-alternatives --config editor
alternative editor (/usr/bin/editor を提供) には 3 個の選択肢があります。

  選択肢    パス             優先度  状態
------------------------------------------------------------
* 0            /bin/nano           40        自動モード
  1            /bin/ed            -100       手動モード
  2            /bin/nano           40        手動モード
  3            /usr/bin/vim.tiny   15        手動モード

現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください: 0

なので環境変数SUDO_EDITORを設定する方法で指定する。

arimasou16@Lemur:~$ which nvim
/usr/bin/nvim
arimasou16@Lemur:~$ export SUDO_EDITOR=/usr/bin/nvim

これで、root権限でのファイル編集でnvimを使うようになる。しかし、まあ、これだとterminalのときに入れ子になってしまうので

arimasou16@Lemur:~$ which nvr
/home/arimasou16/.local/bin/nvr
arimasou16@Lemur:~$ export SUDO_EDITOR=$HOME/.local/bin/nvr

nvrを指定する。これを .bashrcでも書いておけばOK。