vimで編集権限がないファイルを開くときに、編集できないようにするオプションなどはありますか?
あとから、権限を変更して保存することも出来なくはないですが、最初から気がつけると楽なため。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
一応なにもしなくても書き込み権限がないファイルでインサートモードに入ると
-- INSERT -- W10: Warning: Changing a readonly file
と警告がでますが、あまり目立たなくて見逃してしまうということと理解しました。
それですと、読み込み専用だった場合に nomodifiable
をつけるのがよいかと思います。
.vimrcに以下のように設定してみてください。
autocmd BufEnter * if &readonly == 1 | set nomodifiable | endif
(ちなみにvimrcの再読込にも対応するために autocmd
は augroup
で囲んだほうがよいです)
書き込み権限がないファイルを開いてインサートモードに入ろうとすると
E21: Cannot make changes, 'modifiable' is off
とエラーが表示されるようになるはずです。
また別解としては以下のプラグインを使って、書き込み権限がないファイルでもsudoを使って強引に書き込むという手もあります。
https://github.com/lambdalisue/suda.vim
投稿2020/11/25 03:08
編集2020/11/25 03:15総合スコア135
0
.bashrc
等にvim(){ test ! -e "$1" -o -w "$1" && command vim "$1"; }
でいいかと思ったのですが、複数ファイルを指定できなくなるので駄目ですね。
sh
1vim(){ for f; do test -e "$f" -a ! -w "$f" && { echo "$f の読み取り権限がない"; return;};done; command vim "$@"; }
か。このチェックをバイパスするときは、vim
のフルパス指定、あるいはcommand vim
で。
投稿2020/11/25 07:18
総合スコア85888
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。