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

メモリにロードされたファイルの表現。編集はバッファで実行されます。

6
スクラッチバッファ/プレビューウィンドウを簡単に閉じる方法はありますか?
私がインストールしたプラグインの1つ(おそらくSupertab)は、完了メニューで現在強調表示されているアイテムのドキュメントの素晴らしいビューを提供します。 (明らかに)スクラッチバッファーは、(Enterまたはを押してSpace)終了した後でも開いたままです。次に、それをやめるために、私はそうします<c-w>↑:qが、私はCtrl非常に面倒なことをしなければならないことがわかります(私がスプリットを避ける理由の1つ)。 このスクラッチバッファを閉じる簡単な方法は何ですか?ネイティブな方法はありますか、それともマッピングを作成する必要がありますか?

4
ウィンドウ、分割、およびバッファレイアウトを保存する方法
1つのリポジトリで作業しているいくつかのタスクがあります。それらに取り組むための「ワークスペース」を作りたいです。 1つの「ワークスペース」または「バッファレイアウト」には、作業する必要があるすべてのファイルが、必要なレイアウトで開いています(ウィンドウを分割するには^w+v、^w+sを使用します)。 次に、別のタスクの作業を開始するときに、現在のレイアウトを保存し、別のタスクに移動したいのですが、以前のレイアウトに戻れるようにしたいと思います。 これを達成する最良の方法は何ですか?

2
Vimを終了せずにバッファーを閉じてアンロードする
多くの場合、いくつかの情報を一時バッファーにロードしてから、で閉じ:clo!ます。しかし、これは、たとえnohidden設定していても、バッファを完全にアンロードするのではなく、バッファを非表示にします。Vimを終了したときに、すでに破棄した(考えていた)コンテンツについて追加の確認が表示されるため、これは面倒です。 :q!代わりに使用することもできますが、バッファが1つしか残っていない場合はVimを完全に終了するので、それは悪い習慣です。さらに悪いことに、タイプミス:qa!をすると、多くの仕事を失う可能性があります。 妥協点はありますか?現在のバッファーを削除するが、Vimを終了しないコマンドが本当に欲しいです。Vimscriptで書くことに反対ではありませんが、コマンドが既に存在する場合は避けたいです。

7
vimでバッファに切り替える最も速い方法は?
vimでバッファを選択する1つの方法は、標準コマンドasを使用:lsするか、外部プラグイン/ vimscriptコードを使用してバッファリストを参照し、ウィンドウ内のリストを参照することです。 できるだけ早く、直接バッファにジャンプしたいとしましょう。 シーケンシャルモードでバッファリストをトラバースするには<C-J> <C-K>、.vimrcで設定したショートカットを使用します。 " move among buffers with CTRL map <C-J> :bnext<CR> map <C-K> :bprev<CR> 別の方法(直接アクセス)は番号で切り替えることもできます。バッファ番号を知っている場合は、バッファ番号に続けてを入力して直接切り替えることができ<C-^>ます。したがって、バッファー番号5に切り替えたい場合は、を押し5<C-^>ます。 しかし、これは私には機能していないようです(Windowsゲストから、イタリア語キーボードを使用して、ubuntuボックスでvim 7.4を使用します)。ので、私はそれの容疑者^の文字が大文字のキーである^ìイタリアのキーボードで非常に実際に入ったし、^私はマスコミに必要SHIFT-^ 何か案は?
43 vimrc  buffers 

5
バッファリストの再番号付け
しばらくプロジェクトに取り組んできた後、連続するバッファ番号の間に大きなギャップが見られるようになりました。これは、それらの間のバッファがさまざまな理由で消去されたためです。残念ながら、これにより、を入力し:lsた後、特定のバッファーにジャンプしたり、バッファーの範囲を選択したりするのが面倒になります。すべてのファイルを再度開かずに、開いているバッファーの番号を1から始めて番号を変更する方法はありますか?

1
現在のウィンドウで新しいバッファをどのように開きますか?
異なるウィンドウ設定でいくつかのタブを開いています。 分割/ウィンドウまたはタブを追加せずに、現在のウィンドウで新しい空のバッファを開きたい これを行う方法はありますか? 私はその時のようなことができることを知っていますが:n、C-w jそれ:qは少し厄介なようです。 またはタブで同様: :tabe gT :q あなたが使用してクリーンアップすることができた知られることなく、オープンバッファの多くを持つことができます-私は少し一般的なウィンドウとバッファの関係について混乱しているbdあなたは隠すことができないので、彼らが表示されていない場合、彼らは保存する必要がありますそれらを(:qを使用して)変更を保存または破棄せずに...それは少し奇妙に思えます。


2
すべてのバッファを一度にリロードするにはどうすればよいですか?
で機能ブランチで作業するときgit、メインブランチのバグ修正をコミットするために頻繁に変更を隠しておく必要があります。変更の作業が完了したらgit stash pop、ファイルのタイムスタンプを更新するIを使用します。 ファイルが同一であっても、次に保存しようとすると、次のようになります。 警告:ファイルは読み取られてから変更されました!!! 本当に書き込みますか(y / n)? ディスク上でファイルが変更されるたびにファイルを自動的にリロードしたくありませんgit stash pop。 現在、各バッファを個別に手動でリロードしています(:e)。1つのコマンドでこれを行う方法はありますか?
20 buffers  load 


2
WinEnter、BufEnter、BufRead、Syntax、FileTypeイベントの順序は何ですか?
私はautocmd.txtヘルプを試しましたが、これに関する情報は散在しており、常に存在するわけではありません(例:with BufRead)。 これをよく理解している人がこれらのイベントの順序をリストできますか? WinEnter BufEnter (if this window is for a different buffer than the current) 簡単に参照できるように? 注(以下の自分のコメントからコピー):それらの個々の説明については話していないが、それは問題ありませんが、それらが互いにどのように相互作用し、どの順序で起こるかについてです。たとえば、WinEnter「VimはWinEnterオートコマンドの後にBufEnterオートコマンドを実行します」、TabEnter「WinEnterをトリガーした後、BufEnterイベントをトリガーする前に」と言うと、このように多くの場所に散らばっています。そして、時にはそれは、例えばのために(すべてでは言及していない。BufReadそれはBufEnter後、または前に実行されるかどうか言及していない- 。多分専門家が情報のいくつかの他の部分からそれを推測することができますが、私はできません ので、ここに私の意図がにありますこれらのイベントの順序に関する単一の単純な参照を作成します。これらの参照は、専門家以外でもすばやく検索できます。autocmd イベント仕様。

4
ファイル履歴を確実に行き来する方法はありますか
MRUプラグインと同様に、最後に編集したばかりのファイルに移動したいと思います。 :bnextそして:bprev時々動作しますが、ほとんどの場合、私は単に不明瞭なファイルになってしまい、編集を覚えておらず、MRUプラグインに強制的にフォールバックします。 修正する方法はありますか? Ctrl-^最後の2つのファイルを入れ替えます。より多くの間を移動する最良の方法は何ですか? 難しいかもしれませんが、現在の:bn :bp動作を改善できるものには同意します。私がよく見るバッファは完全に適切ではありません。おそらく、最近のファイルを追跡し、マッピングを作成できるようにフックを提供できるプラグインがありますか? コメントに返信することで、私の考えが少し明確になりました。私が欲しいのは、ファイルを最新の保存順に移動できるようにすることです。そうすれば、履歴に戻ると、ファイルを保存するまで順序は変わりません。ファイルが最後になり、その直前に保存されたファイル(つまり、元のファイル)に「戻る」ことができます。 Ctrl-O Ctrl-I現在のバッファを飛び越えずにファイルをすぐに切り替えるペアのようなもの。のようなものuとUnetrwの場合: u Change to recently-visited directory |netrw-u| U Change to subsequently-visited directory |netrw-U|
15 buffers 


6
バッファのセットをタブにバインドする方法は?
異なるプロジェクトで同時に作業する必要がある場合、次のワークフローがあります。 プロジェクトごとに1つのタブを作成します。 各タブで、編集するファイルを開きます。これにより、いくつかのバッファーが作成されます。 オプションとして、2つ(またはそれ以上)のファイルを同時に表示する必要がある場合は、分割ウィンドウを作成して、1つのバッファーを表示する異なるウィンドウを含むタブを作成します。 バッファ間を移動するために、実際には使用せず:ls、:b [name or number of buffer]代わりに:bnextとでバッファを切り替えることができる便利なマッピングを作成しました:bprevious この方法は非常に優れていますが、気になることがあります。バッファはタブ間で共有されます。 開いfile1てfile2、tab1そしてfile3でtab2、そしてで、tab1何度か使ったら、このタブに見たくないもの:bnextが表示さfile3れます。私が取得したいワークフローは次のとおりです: vimを起動します(最初のタブにバッファがあります): $ vim foo このタブにバッファーを追加します。 :e bar 新しいタブを開いて切り替えます: :tabnew このタブで新しいバッファーを開きます。 :e baz 私はこのバッファ内に滞在し、行う場合:bnextや:bprevious、私はにとどまるだろうbaz(それは、このタブでは唯一のものであるため)、バッファ 前のタブに移動して:tabprevious何度か実行すると、とバッファー:bnextのみを切り替えますが、表示されませんfoobarbaz だからここに私の質問が来ます:バッファーのセットをタブにバインドし、vimが意図されているものとは別のタブからいくつかのバッファーへのアクセスを禁止することは可能ですか? 注:使用:b [myBuffer]することでバッファをタブに保持する方法になることは承知していますが、編集するファイルが3つまたは4つある場合は、バッファ名を入力するよりもマッピングを使用する方が本当に速いと感じます(可能な場合でも)バッファ名に一致するいくつかの文字のみを入力します)。

3
バッファを使用するより効率的な方法は何ですか?
最近、使用しているプラ​​グインの数を大幅に減らしているので、組み込みのVim機能のみを使用して回答を探しています。 たくさんのバッファーを編集しているときにワークフローの欠陥に気づいていました:バッファーを使用していて、名前を覚えていない代替バッファーではない別のバッファーに切り替えたい。したがって、使用:b#は不可能であり、コマンドで補完を使用すること:bも便利ではありません。 それをするために、私は次のことをしていました。 最初に使用:buffersして、開いているバッファのリストを取得します 使用したいバッファの番号を覚えておいてください を押しEnterてバッファのリストを閉じます 使用する:bXとX、使用するバッファの数。 このワークフローはかなり重いように思えたので、次の行をmyに追加しました .vimrc。 " Improve the navigation in the buffers nnoremap <Leader><S-b> :B<CR> command! B call Buffers() function! Buffers() execute "buffers" let buffer=input("Enter a buffer:") execute "b" . buffer endfunction これは、入力を待つ:B関数を呼び出し、:buffers最後に入力が:b続く呼び出しを行うコマンド(およびマッピング)を提供します。 それはうまく機能しますが、私はそのような関数を開発しなければならなかったことに驚いています:通常、Vimはかなり効率的なデフォルトのワークフローを持っているので、他に何も知らないバッファに切り替えるより良い方法があるかどうか疑問に思っています編集セッションですでに開かれていること。
13 buffers 


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