62

を使用してファイルを作成するとvim some/path/newfile、vimで編集できる場合がありますが、変更を保存しようとすると文句を言うだけです。

E212 Can't open file for writing.

これは、新しいファイルがシステムディレクトリにある場合にのみ発生するようです。

:w!このエラーを上書きしません。

現在のバッファを一時的な場所に保存せずに書き込み、終了してから、sudoを使用して名前を変更するにはどうすればよいですか?

4

10 に答える 10

100

これにより、rootパスワードの入力を求められ、要求どおりに変更を保存します。

:w !sudo tee %

次に、プロンプトで(L)oadと入力して、保存後にファイルを再ロードします。

于 2013-02-19T01:49:47.540 に答える
18

.vimrcこの行をあなたの:に追加します

cmap w!! %!sudo tee > /dev/null

そして、あなたはすることができます

:w!!

この位置に入ると、sudoを使用してファイルが書き込まれます。とても便利な。

于 2013-02-19T01:44:51.020 に答える
17

最初にmkdirを実行してから、保存することができます。

于 2014-07-14T18:09:52.420 に答える
7

「sudo」を使用して編集セッションを開始することにより、この問題を回避できます。

sudo vi name-of-file
于 2020-11-27T22:27:54.843 に答える
3

堅牢で覚えやすいソリューションが必要で、プラグインをインストールしてもかまわない場合は、SudoEdit.vimを試してください-sudoまたはsuまたはその他のツールを使用してファイルを編集します

于 2013-02-19T08:13:11.313 に答える
3

これがWindows7以降のエディションの場合は、VIエディターを管理者として実行します。アプリケーションを右クリックし、「管理者として実行」を選択します。この問題は解決されます。さらに、エラーは管理者権限が原因です。

于 2015-03-01T20:15:55.900 に答える
3

vim some / path / newfile

2つのステップでそれを試みることができます。最初にmkdir〜を使用してフォルダ「some」と「path」を作成します。次に「path」フォルダに移動し、コマンド:sudovimnewfileを使用します。次に保存します。

于 2018-04-11T15:03:07.243 に答える
2

ファイルを保存しようとしているディレクトリが存在し、ファイルを編集する権限があることを確認してください。

:help messageVimと入力すると、このエラーメッセージやその他のエラーメッセージの詳細を確認できます。/E212ドキュメントが表示されたら、入力して検索してみてください。また、http: //vimdoc.sourceforge.net/htmldoc/message.htmlおよびCTRL-Fでドキュメントをオンラインで表示して見つけることもできます。

于 2020-02-14T01:04:03.310 に答える
0

価値があるので、ファイルを保存しようとしているパーティションに十分なストレージがあることを確認することもできます。/ homeドライブの空き容量を増やす必要がありましたが、これで問題は解決しました。

于 2019-05-08T17:08:46.357 に答える
0

私はこれが古い質問であることを知っています、しかしこれは私のためにそれを修正したものです。ファイルが不変に設定されている可能性があります。つまり、ファイルを編集できません。

あなたはこれをチェックすることができますlsattr /path/to/file.txt

chattr -i /etc/resolv.conf不変でなくなるために使用する場合 。

于 2022-02-18T17:54:47.177 に答える