[4.13.12-1-Arch with gnome3 and gdm on Xorg]
私はすでにVISUALとEDITORのenv-varsをvim
に設定しています。同様に私はSYSTEMD_EDITOR="vim"; export SYSTEMD_EDITOR
私の〜/ .bashrcで、役に立ちません。
Arch(systemd)でユニットファイルを変更する場合
$ Sudo systemctl edit _unit_
私はnano
を見つめています。人生は短すぎるので、私はvim
をぜひとも求めています。どうすればよいですか?
自分のユーザーの変数を設定していますが、systemctl
コマンドをroot(Sudo
)として実行しています。したがって、ユーザーに設定した変数は関係ありません。
これを修正するには、次のいずれかを実行します(ただし1を使用)。
-E
を指定してSudo
を実行し、現在の環境をエクスポートします。
Sudo -E systemctl edit _unit_
変数(これにはSYSTEMD_EDITOR
のみが必要です)をルートの~/.profile
に追加します。
export SYSTEMD_EDITOR="/bin/vi"
次に、
Sudo -i systemctl edit _unit_
最後に、エディタの名前だけでなく、フルパスを指定する必要があることに注意してください。つまり、vim
ではなく/bin/vi
です。
最初の方法では、この行を~/.bashrc
に追加できます。
export SYSTEMD_EDITOR=vim
次にSudo visudo
を追加して、次の行を追加します。
Defaults env_keep += "SYSTEMD_EDITOR"
新しいbashセッションを開始して有効にし、通常どおりSudo systemctl edit <foo>
を実行します。
2番目の方法は、update-alternatives
を使用することです。
必要なeditor
をインストールします。 vim.gtk3
:
$ which editor editor is /usr/bin/editor $ Sudo update-alternatives --install "$(which editor)" editor "$(which vim.gtk3)" 15
次に、目的のeditor
を選択します。
$ Sudo update-alternatives --config editor
There are 7 choices for the alternative editor (providing /usr/bin/editor).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/vim.gtk3 50 auto mode
1 /bin/ed -100 manual mode
* 2 /bin/nano 40 manual mode
3 /usr/bin/code 0 manual mode
4 /usr/bin/gedit 5 manual mode
5 /usr/bin/vim.basic 30 manual mode
6 /usr/bin/vim.gtk3 50 manual mode
7 /usr/bin/vim.tiny 15 manual mode
Press <enter> to keep the current choice[*], or type selection number: 6
update-alternatives: using /usr/bin/vim.gtk3 to provide /usr/bin/editor (editor) in manual mode
3番目の方法は、実行時にEDITOR
を直接設定することです。
Sudo EDITOR=vim systemctl edit <foo>
優先順位は最初のメソッド> 3番目のメソッド> 2番目のメソッドです。
gedit
などの「GUI」エディターを設定しようとしないでください なぜgksu/gksudoを行わないか、またはSudoでWaylandを使用してグラフィカルアプリケーションを起動しないのですか? および Geditファイルの編集中にCPUを100%使用します
私はナノに忍耐がなく、大砲で蚊を殺すことを好みます。
Nanoを削除し、その場所にvimへのシンボリックリンクを配置します。
できました。
シェルエイリアスを使用します。
sc='Sudo SYSTEMD_EDITOR=/bin/vi /usr/bin/systemctl'
次にちょうど:
sc edit service-name
また、systemctl
などの場合に、restart
の9文字のうち7文字を入力しないようにするのにも役立ちます。