
Ubuntu日本語フォーラム

ログインしていません。
Ubuntu 18.04 LTS の上でvim(8.2.343)をつかっています。
$sudo vim でvimを起動時の画面と $vim で起動時の画面が
異なります。sudo で起動時の画面を一般ユーザーで起動時の画面
と同じにするには、どのようにしたらよいのでしょうか。
オフライン
おはよう。
ところで、質問ですが、そもそも$sudo vim、使います?
一応、私の端末で、試しましたが、同じ結果となります。
オフライン
以下のいずれかの可能性が考えられます。
ユーザーのホームディレクトリ ~ に .vimrc、つまり ~/.vimrc ファイルがあり、root のホームディレクトリ ~root に .vimrc、つまり ~root/.vimrc ファイルがない。
逆に、~/.vimrc ファイルがなく、~root/.vimrc ファイルがある。
または、~/.vimrc ファイルと~root/.vimrc ファイルの両方があるがその内容が異なっている。
オフライン
# 途中で返信してしまったので、続きを ....って連投できないみたいだからしばし待って...
どの場合でも、自分が .vimrc ファイルを作った覚えがないなら、~/.vimrc ファイルや ~root/.vimrc ファイルを削除してしまえばいいでしょう。
オフライン
ご教示により /root に入り vimrc があるかを確かめようとしましたが、
$sudo cd /root とすると、「コマンドが見つかりません」となります。
/root には入れないのでしょうか。
オフライン
sudo cd でコマンドが見つからないのは、cd がコマンドシェルの内部コマンドだからだと思います。
ファイルの存在確認ならカレント ディレクトリを変更せず、素直に sudo ls ~root/.vimrc か sudo -a ~root でよいかと。
オフライン
$sudo ls -a ~/root を実行しましたが、次のような結果でした。
. .bash_history .cache .dbus .local .synaptic
.. .bashrc .config .hplip .profile snap
.vimrc などvimに関係しそうなファイルはありませんでした。
(~/.vimには自作のvimrc,gvimrc があります。)
オフライン
Torajiro74 による投稿:
(~/.vimには自作のvimrc,gvimrc があります。)
それらのファイルを消せば、ローカル ユーザーでの vim の起動が sudo vim の起動画面と同じになりませんか。
オフライン
~/.vimにあるvimrc, gvimrc を消すことはできません。これらは自分の
設定ですので。
($ sudo vi file で、vi を使う時に、自分の設定で vi を使いたいのです。)
オフライン
環境変数 EDITOR または SUDO_EDITOR に vim をセットしておいて sudoedit コマンドを使う
かな?
オフライン
Torajiro74 による投稿:
($ sudo vi file で、vi を使う時に、自分の設定で vi を使いたいのです。)
これでどうだ。
sudo vim --cmd "set runtimepath+=~/.vim"
オフライン
favicon.ico による投稿:
環境変数 EDITOR または SUDO_EDITOR に vim をセットしておいて sudoedit コマンドを使う
かな?
このコマンドを実行するとつぎのメッセージとなります。
$sudoedit workspace.txt
sudoedit: workspace.txt: editing files in a writable directory is not permitted
このファイルの属性は -rw-rw-rw- となっています。
オフライン
つぎのコマンド
sudo vim --cmd "set runtimepath+=~/.vim"
ではviからのメッセージで
commandlineの処理中にエラーがありました。
オフライン
自己レスです。
この課題は私にとっては難しすぎました。一歩戻って、次のような方法にを試みることに
しました。
rootの権限が必要なファイルを編集するときも、普通のviを使い、ファイルに
書き込むときに強制的に書き込む。具体的には
:w !sudo tee % /dev/null とすることで良いのではないかと気が付きました。
このこまんどをmap にすれば、なお簡単となる。
このやり方を少し続けてみます。
オフライン
Torajiro74 による投稿:
このコマンドを実行するとつぎのメッセージとなります。
$sudoedit workspace.txt
sudoedit: workspace.txt: editing files in a writable directory is not permitted
このファイルの属性は -rw-rw-rw- となっています。
sudoeditのManualに書いてある制限に引っかかっていませんか?
https://manpages.debian.org/unstable/manpages-ja/sudoedit.8.ja.html
•
sudo を実行するのが root であるときを除いて、 ファイルが sudo を実行するユーザにとって書き込み可能なディレクトリにある場合、 そのファイルの編集を許可しない (バージョン 1.8.16 以上)。
オフライン