Vimの読み取り専用モードを終了するには?

Vimの読み取り専用モードを終了するには?

読み取り専用モードでファイルを開きました。読み取り専用モードを終了する方法はありますか?

w保存するたびに感嘆符を追加する必要があることを覚えておく必要があります。これは非常に不便です。

答え1

次のことができます。

:set noro

これにより、読み取り専用フラグが設定解除されますが、デフォルトファイルに書き込めない状態のままである場合、vimはまだファイルに書き込むことができません。

答え2

chmodvimで実行できます:

:!chmod +w %

!シェルコマンドの実行を表し、%現在のファイル名です。ファイルを強制的に書き込むこともできます。

:w!

答え3

またMichael Mrozekの答え.vimrc、高い権限で開かないファイルに書き込むことができる行をファイルに追加できます。

" Allows writing to files with root priviledges
cmap w!! w !sudo tee % > /dev/null

ファイルが読み取り専用の場合、そのファイルを入力するとパスワードの入力を求められ、:w!!ファイルが正常に記録されます。

答え4

始めましたが少し遅れましたが、疑いが解決された可能性があります。 ;)コメントで私が知っている方法を見たことがありません。ウィムでは、次を追加します。

ファイルを編集した後:wまたはキーを押すと、:wq迷惑なメッセージが表示されます。E45「読み取り専用」オプションが設定されました(再定義するには!追加)。

E45読み取り専用オプションセット(追加済み!再定義済み)

あなたは入ることができます

:w !sudo tee %

w!sudoティー%

  • wバッファ書き込み、
  • !sudosudoを使ってシェルを呼び出し、
  • tee出力をvim :wteeを使用して出力にリダイレクトします。
  • %現在のファイル名

これはトリックを行う必要があります。 vimからファイルを再ロードするように求められます。これを行うには、Lを押す必要があります。

ここに画像の説明を入力してください。

関連情報