お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2020-03-06 14:36:35

Torajiro74
メンバ
登録日: 2015-03-16

sudo でのvim の画面

Ubuntu 18.04 LTS の上でvim(8.2.343)をつかっています。
$sudo vim でvimを起動時の画面と $vim で起動時の画面が
異なります。sudo で起動時の画面を一般ユーザーで起動時の画面
と同じにするには、どのようにしたらよいのでしょうか。

オフライン

 

#2 2020-03-25 04:49:49

junichi_fujiwara
新しいメンバ
登録日: 2020-03-24

Re: sudo でのvim の画面

おはよう。

ところで、質問ですが、そもそも$sudo vim、使います?

一応、私の端末で、試しましたが、同じ結果となります。

オフライン

 

#3 2020-03-25 17:28:30

ry
メンバ
登録日: 2008-07-30

Re: sudo でのvim の画面

以下のいずれかの可能性が考えられます。

ユーザーのホームディレクトリ ~.vimrc、つまり ~/.vimrc ファイルがあり、root のホームディレクトリ ~root.vimrc、つまり ~root/.vimrc ファイルがない。
逆に、~/.vimrc ファイルがなく、~root/.vimrc ファイルがある。
または、~/.vimrc ファイルと~root/.vimrc ファイルの両方があるがその内容が異なっている。

オフライン

 

#4 2020-03-25 17:32:58

ry
メンバ
登録日: 2008-07-30

Re: sudo でのvim の画面

# 途中で返信してしまったので、続きを ....って連投できないみたいだからしばし待って...

どの場合でも、自分が .vimrc ファイルを作った覚えがないなら、~/.vimrc ファイルや ~root/.vimrc ファイルを削除してしまえばいいでしょう。

オフライン

 

#5 2020-03-31 17:22:27

Torajiro74
メンバ
登録日: 2015-03-16

Re: sudo でのvim の画面

ご教示により /root に入り vimrc があるかを確かめようとしましたが、
$sudo cd /root とすると、「コマンドが見つかりません」となります。
/root には入れないのでしょうか。

オフライン

 

#6 2020-04-01 06:55:40

ry
メンバ
登録日: 2008-07-30

Re: sudo でのvim の画面

sudo cd でコマンドが見つからないのは、cd がコマンドシェルの内部コマンドだからだと思います。
ファイルの存在確認ならカレント ディレクトリを変更せず、素直に sudo ls ~root/.vimrc か sudo -a ~root でよいかと。

オフライン

 

#7 2020-04-01 13:23:36

Torajiro74
メンバ
登録日: 2015-03-16

Re: sudo でのvim の画面

$sudo ls -a ~/root を実行しましたが、次のような結果でした。

.   .bash_history  .cache   .dbus   .local    .synaptic
..  .bashrc       .config  .hplip  .profile  snap

.vimrc などvimに関係しそうなファイルはありませんでした。

(~/.vimには自作のvimrc,gvimrc があります。)

オフライン

 

#8 2020-04-02 07:00:56

ry
メンバ
登録日: 2008-07-30

Re: sudo でのvim の画面

Torajiro74 による投稿:

(~/.vimには自作のvimrc,gvimrc があります。)

それらのファイルを消せば、ローカル ユーザーでの vim の起動が sudo vim の起動画面と同じになりませんか。

オフライン

 

#9 2020-04-02 09:30:49

Torajiro74
メンバ
登録日: 2015-03-16

Re: sudo でのvim の画面

~/.vimにあるvimrc, gvimrc を消すことはできません。これらは自分の
設定ですので。
($ sudo vi file で、vi を使う時に、自分の設定で vi を使いたいのです。)

オフライン

 

#10 2020-04-03 02:27:13

favicon.ico
メンバ
登録日: 2010-09-06

Re: sudo でのvim の画面

環境変数 EDITOR または SUDO_EDITOR に vim をセットしておいて sudoedit コマンドを使う
かな?

オフライン

 

#11 2020-04-03 07:07:12

ry
メンバ
登録日: 2008-07-30

Re: sudo でのvim の画面

Torajiro74 による投稿:

($ sudo vi file で、vi を使う時に、自分の設定で vi を使いたいのです。)

これでどうだ。
sudo vim --cmd "set runtimepath+=~/.vim"

オフライン

 

#12 2020-04-03 11:25:20

Torajiro74
メンバ
登録日: 2015-03-16

Re: sudo での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- となっています。

オフライン

 

#13 2020-04-03 11:30:22

Torajiro74
メンバ
登録日: 2015-03-16

Re: sudo でのvim の画面

つぎのコマンド
sudo vim --cmd "set runtimepath+=~/.vim"
ではviからのメッセージで
commandlineの処理中にエラーがありました。

オフライン

 

#14 昨日 13:06:24

Torajiro74
メンバ
登録日: 2015-03-16

Re: sudo でのvim の画面

自己レスです。

この課題は私にとっては難しすぎました。一歩戻って、次のような方法にを試みることに
しました。

rootの権限が必要なファイルを編集するときも、普通のviを使い、ファイルに
書き込むときに強制的に書き込む。具体的には
:w !sudo tee % /dev/null とすることで良いのではないかと気が付きました。
このこまんどをmap にすれば、なお簡単となる。

このやり方を少し続けてみます。

オフライン

 

#15 昨日 16:56:10

rohizuka
メンバ
登録日: 2009-06-25

Re: sudo でのvim の画面

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 以上)。

オフライン

 

Board footer

Powered by FluxBB