sudo vimとvimは別のエディタを開きます。

sudo vimとvimは別のエディタを開きます。

私はFedora 36をインストールし、よく使うソフトウェアをインストールしています。私は個人的にvimよりnvimを好むが、vimを入力するのにalias vim='nvim'慣れているので.bashrc

nvimを直接使用しviminit.vim;を使用しますが、sudo vim私が作成したマッピングを使用していないようです。 (リンクinit.vimが表示されます)。 sudoが他に..他のファイルを使用していることを読んでいますが、どこにでもエイリアスを作成したくありません。.vimrcln -s .config/nvim/init.vim .vimrc.bashrc

「リスト」でnvimを使用して選択することを提案するいくつかのsudo update-alternatives --config vim答えを見つけましたが、コマンドを実行したときに何の出力も得られませんでした。それは私に新しいターミナルラインを提供します。 「リスト」を返す方法はsudo update-alternatives --config vim?それともこれ以外に良い方法がありますかupdate-alternatives

ベストアンサー1

私が知る限り、sudoはユーザーIDを変更するため、sudoを使用して何かを呼び出すと、通常のユーザーのために特別に行った設定はすべて適用されません。 sudoを使用してvimを呼び出すときは適用されません)。それ以外にも、私が知っている限り、sudoはbash用に生成された「エイリアス」を読むことができません。つまり、alias l=ls;sudo lsudoと入力すると、コマンドの意味がわからないことを意味しますl

update-alternativesはバイナリ接続を作成および処理するための便利なツールなので、システムに異なるバージョンのvimがある場合は、update-alternativesを使用してvimが呼び出されたときに呼び出されるバージョンを変更できます。代替は、このフラグを使用するコマンドで設定できますが、--configこのフラグを使用して作成した後にのみ可能です--install

これはPythonでこれを行う方法のチュートリアルです。協会

しかし、これが問題を解決するのにどのように役立つかはわかりませんが、おそらく代替案を作成してsudoが目的のプログラムを見つけることを許可できます。

これが推奨されるかどうかはわかりませんが、おそらくそうではないかもしれませんが、問題に対する簡単で汚い解決策は、バイナリの名前を変更するか、vimというnvimバイナリへのリンクを作成することです。これにより、すべての環境で呼び出すときにこのバイナリを使用できます。しかし、私は新しい選択肢を学び、使用する方がよりきれいで耐久性の高い方法だと思います。

個人的には、私はsudoを使用するときに怠惰なアプローチを取り、正しいバイナリ名を入力します。私はv = vimのエイリアスを持っていますが、sudoを使用するときにおそらく深刻なことをしているので、私が望むものを正確に表現することができますが、エイリアスをどこで使用したいかを理解できます。

おすすめ記事