タグ付けされた質問 「save」

永続ストレージメディア(通常はハードドライブまたはSSD)へのファイルの書き込み。Viでは、これは:writeコマンドで行われます。

2
vimを終了するときの:wq <cr>:x <cr>とZZの違いは何ですか?
ご存じのとおり、ViとVimには多くの同義語があります。ファイルを保存してVimとViを終了する方法は3つあります。これらは:WQ &lt;CR&gt; 、:X &lt;CR&gt;とZZ。これらは何らかの点で異なると聞きました。 使用する間に実際的な違いはありますか? :x&lt;cr&gt; :wq&lt;cr&gt; または ZZ ファイルを保存してVimとViを終了するには?


5
まだ存在しないディレクトリにファイルを保存するにはどうすればよいですか?
Vimを起動して、まだ作成されていないディレクトリ内の新しいファイルを編集するとします。 vim nonExisitingDirectory/newFile.txt Vimは喜んで空のバッファーを表示し、新しいファイルの書き込みを開始できます。しかし、ファイルをディスクに書き込みたい場合、このエラーが発生します: E212: Can't Open file for writing. これは、ディレクトリがまだ存在しないためと思われます。Vimにディレクトリの作成を強制する方法はありますか?
35 save  autocmd 


2
書き込み権限がないファイルを保存する方法は?
時々、ファイルを開いて、自分のユーザーとして、[read-only]ステータス行の警告に気付かないか、「忘れる」ことなく、いくつかの変更を加えることがあります(例:の/etcようなランダムな構成ファイル/etc/resolv.conf)。 :w!私のユーザーには書き込み権限がないため、この場合は明らかに失敗します。だから:w /home/filename、終了しsudo mv ...、非常に不快でなければなりません。 現在開いているファイルを保存できるように一時的にルートにエスカレーションする方法はありますか?(私がいるsudoers/またはsu直接できる場合)?

3
vimにファイルの最後に改行を自動的に追加させる方法は?
Vimは通常&lt;EOL&gt;、元のファイルに1行があった場合にのみ最後の行に書き込みます。 常にファイルの最後に新しい行を書き込むようにvimを作成する方法(ファイルがバイナリではなく、まだない場合)? eolオプションをテストしましたが、期待どおりに機能しませんでした。 関連項目:テキストファイルの終わりで行末の欠落を保持しますが、反対です。そして:なぜファイルは改行で終わる必要があるのですか?

2
ファイルが変更されていない場合、書き込み時にファイルに触れないでください
時々、:w何かを読んでいるときにぼんやりとタイプします。これにより、ファイルの変更時間が変更され、ビルドシステムがプロジェクトのかなりの部分を不必要に再構築することがあります。 ファイルを書き込もうとしてファイルが変更されていない場合、vimが単に何もしないように設定する方法はありますか?
15 save 

2
Vimは自動保存されますか?
から:help swap-file: スワップファイルを更新する スワップファイルは、200文字を入力した後、または4秒間何も入力しなかったときに更新されます。これは、バッファが変更された場合にのみ発生し、移動しただけでは発生しません。常に最新の状態に保たれない理由は、これにより通常の作業が非常に遅くなるためです。'updatecount'オプションを使用して200文字カウントを変更できます。「updatetime」オプションで時間を設定できます。時間はミリ秒単位で指定されます。スワップファイルへの書き込み後、Vimはファイルをディスクに同期します。特に忙しいUnixシステムでは、これには時間がかかります。これが必要ない場合は、 'swapsync'オプションを空の文字列に設定できます。ただし、仕事を失うリスクは大きくなります。一部の非UNIXシステム(MS-DOS、Amiga)では、スワップファイルはまったく書き込まれません。 これから、いくつか質問があります。 これは、Vimが時々作業を自動保存するということですか? 「スワップファイルへの書き込み後、Vimはファイルをディスクに同期します。」これは何を意味するのでしょうか?これは、最初にメモリに書き込まれ、次にディスクに書き込まれるファイルを参照していますか、それとも別のものですか? クラスのメモを取っているとしましょう:書くのが速いので、挿入モードを終了する必要はほとんどありません。しかし、作業を保存するためだけに何度もNormalに変更します。これを行う必要がありますか、または挿入モードを終了しなくても、Vimは私の作業のほとんどが保存されていることを確認しますか?
13 save  swap-file  backup 

4
Vimを使用してcrontabファイルを編集するにはどうすればよいですか(「一時ファイルはその場で編集する必要があります」というエラーが表示されます)
crontabFreeBSDでファイルを編集するにはどうすればよいですか? $ crontab -e # ... I do my thing in vim &amp; :wq "crontab.9ZcXiFaawt" 6L, 203C written crontab: temp file must be edited in place Exit 1 使用しEDITOR=nviた作品の罰金を... Linuxは、作業罰金に思えます...
12 save  unix 

1
カーソルが<Esc>の後の行の先頭に移動するのはなぜですか?
挿入モードで.txtファイルの行に沿って編集しているときに、キーシーケンスを使用した書き込みに続いてカーソルが行の先頭に移動することに気付きました。 &lt;esc&gt;:w この動作を変更して、カーソルが:writeの後の位置に留まるようにしたいと思います。これは可能ですか?カーソルを挿入モードのままにしておく必要はありません。書き込み後に最後の位置を維持したいだけです。 WindowsでgVim 7.4を使用しています。私の.vimrcは非常に基本的なものであり、私の動作のいずれかがこの動作を妨げるとは思わない。mswin.vimとexample.vimのソースを.vimrcから削除しました(公式のvim.org Windowsインストーラーにバンドルされています)。 以下のコメントを読んだ後、もう一度問題を確認しましたが、末尾の空白で完全に構成されている行を書き込んだ後、カーソルが左端にしかスライドしないことに気付きました。つまり、行がぶら下げインデントで、スペース以外の文字がない場合、カーソルはesc-:wで左端までスライドするだけです。.vimrcは、次の設定でインデント動作を処理しています。 set tabstop=4 set softtabstop=4 set shiftwidth=4 set expandtab set autoindent したがって、インデントされた行の下に作成された新しい行には、行の最初の4つのスペース(保持したい)として4つの末尾の空白が含まれます。「esc」キーを押すと、カーソルがバッファの左端にスライドします。 末尾の空白(インデントとして)で構成される行で、「esc」を押して通常モードに戻るときにカーソル位置を保持する方法はありますか?

2
ファイルが変更されていないことを確認する方法
とにかくファイルを変更できないようにファイルがロックされていることを確認できますか?vimでファイルをロック/ロック解除するコマンドはありますか?ファイルを読み取り専用モードにしたい場合があります。
11 save 

2
崇高なテキストからのホット終了機能を実装するvimプラグインはありますか
Hot exitは、Sublime Textエディターのキラー機能の1つです。開いているファイルの変更を気にすることなく、いつでもエディターを閉じることができます。問題なく閉じるだけです。もう一度STを起動すると、開いて編集したすべてのファイルは、閉じる前と同じ状態になります vimで同じことをする方法はありますか?
11 save 

3
選択した領域をファイルに書き込む
視覚的に選択された領域をファイルに書き込みたいのですが。 例えば: prefix [sample text more text] suffix [] 取得する必要のある選択されたブロックであり、次の内容を含む新しいファイルが作成されます。 sample text more text 通常のwコマンドは行を使用するため'&lt;,'&gt;w! /tmp/test、接頭辞/接尾辞を含みます(`&lt;,`&gt;w! /tmp/test許可されていません)。
11 save 


1
エラーをスローせずにVimがファイルを書き込めないようにするにはどうすればよいですか?
私はこの答えのコードを改善して、不足しているディレクトリを作成する前に確認を求めようとしています。これは私が書いたものです: function! CreateDirectoryAskConfirmation(path) if !isdirectory(a:path) echohl Question echo "Create directory " . a:path . "?" echohl None let response = nr2char(getchar()) if response ==? "y" call mkdir(a:path, "p") endif endif endfunction autocmd BufWritePre * call CreateDirectoryAskConfirmation(expand("&lt;afile&gt;:p:h")) 1つ欠けているのyは、プロンプトを押さない場合は、Vimに書き込みを中止させて、エラーが発生しないようにE212: Can't open file for writingするためです。エラーメッセージを非表示にするために別のキーを押す必要はありません。これを達成する方法はありますか?
10 save  autocmd  error 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.