私はFedora 36をインストールし、よく使うソフトウェアをインストールしています。私は個人的にvimよりnvimを好むが、vimを入力するのにalias vim='nvim'
慣れているので.bashrc
。
nvimを直接使用しvim
てinit.vim
;を使用しますが、sudo vim
私が作成したマッピングを使用していないようです。 (リンクinit.vim
が表示されます)。 sudoが他に..他のファイルを使用していることを読んでいますが、どこにでもエイリアスを作成したくありません。.vimrc
ln -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 l
sudoと入力すると、コマンドの意味がわからないことを意味しますl
。
update-alternativesはバイナリ接続を作成および処理するための便利なツールなので、システムに異なるバージョンのvimがある場合は、update-alternativesを使用してvimが呼び出されたときに呼び出されるバージョンを変更できます。代替は、このフラグを使用するコマンドで設定できますが、--config
このフラグを使用して作成した後にのみ可能です--install
。
これはPythonでこれを行う方法のチュートリアルです。協会。
しかし、これが問題を解決するのにどのように役立つかはわかりませんが、おそらく代替案を作成してsudoが目的のプログラムを見つけることを許可できます。
これが推奨されるかどうかはわかりませんが、おそらくそうではないかもしれませんが、問題に対する簡単で汚い解決策は、バイナリの名前を変更するか、vimというnvimバイナリへのリンクを作成することです。これにより、すべての環境で呼び出すときにこのバイナリを使用できます。しかし、私は新しい選択肢を学び、使用する方がよりきれいで耐久性の高い方法だと思います。
個人的には、私はsudoを使用するときに怠惰なアプローチを取り、正しいバイナリ名を入力します。私はv = vimのエイリアスを持っていますが、sudoを使用するときにおそらく深刻なことをしているので、私が望むものを正確に表現することができますが、エイリアスをどこで使用したいかを理解できます。