タグ付けされた質問 「vim-windows」

Vimウィンドウはバッファのビューです。タブページは1つ以上のウィンドウで構成されます。Microsoftオペレーティングシステムとの対話に関する質問については、[microsoft-windows]を使用してください。デスクトップウィンドウシステムとの対話に関する質問については、[ウィンドウ管理]を使用してください。

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

2
現在フォーカスされているファイル以外のすべての分割ファイルを閉じますか?
ファイルで作業しているときに、ある時点までのコードの現在のフローを把握するために、複数のファイルを開くことがあります。ただし、これにより、複数のファイルが一度に開いて分割される場合があります。選択したウィンドウ以外をすべて終了するコマンドはありますか?

5
2つのウィンドウの位置を入れ替える
私のウィンドウの現在の構造は次のとおりです。 + ----- + ---------------------------- | | | A | | | + ----- + | | | B | AとBの順序はまったく自然ではありません。Bが一番上にあれば良いでしょう。 しかし、私が行く場合<C-w>K、Bはすべてのウィンドウの一番上になりますが、これは私が望むものではありません。BをAの上に配置できますが、Aの上に既にある他のウィンドウの上には配置できません。 そして、2つのウィンドウが垂直に分割されている場合、それらを水平に分割するにはどうすればよいですか?

4
Ctrl-Wを使用せずにVimでスプリットを操作するにはどうすればよいですか?
私の端末では、Ctrl+ を入力することはできませんW。これは、端末タブを閉じるためのショートカットだからです。 分割を使用するのが好きですが、を使用しないと分割を行う方法が見つかりませんC-W。これにより、タブを使用せざるを得ませんでした。これはgt、gTまたは#gtで数字を切り替えることができるためです。 mouse=a私の端末はそれをサポートしていないため、どちらも使用できません。 Ctrl+ WコンボなしでVimでスプリットを操作するにはどうすればよいですか?

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


1
Vimの実際の高さと幅を取得するにはどうすればよいですか?
winheight()そしてwinwidth()現在のウィンドウ内の列/行数を返します。私が探しているのは、編集領域の実際の高さと幅に近いもの、または端末で実行されている場合は表示されている領域です。問題はwinheight()、winwidth()これらの値から計算されたアスペクト比が実際のアスペクト比とは無関係であることです。 :echo winwidth('%') winheight('%') winwidth('%') * 1.0 / winheight('%') 104 51 2.039216 バッファー領域のスクリーンショットのサイズは936x918ピクセルで、表示されるアスペクト比はになり1.019608ます。フォントのサイズを使用して実際の値を取得できると思いますが、どうすればよいですか? これは、垂直分割でVimのヘルプを開くにはどうすればよいですか?。Nobe4のソリューションを適応させようとしています。

4
垂直分割でVimのヘルプを開くにはどうすればよいですか?
私は通常、約25文字の高さで動作するドロップダウンターミナルで働いています。私はウィンドウ1よりタブを好むので、通常、多くの水平方向のスペースが浪費されます-ターミナルの幅の約半分です。 さらに、Vimのデフォルト設定はhelpheightであり、ヘルプウィンドウを開くと、ファイルコンテンツの数行が残ります。 :h垂直分割を使用する方法はありますか? 私はできた: 減少 helpheight <C-W>Lウィンドウを手動で移動するために使用します 上記を行うマップまたはカスタムコマンドを作成します。 もっと簡単な方法はありますか? 1私がやる私が一緒に複数のファイルを見るために必要がある場合、使用の窓を。しかし、通常、各ファイルは独自の(メンタル)コンテキストにあることを好みます。

4
ある分割ウィンドウから別のウィンドウにテキストを送信する
最近、vimバッファーで端末を開くことができるNeoVimのアドオンがありました。これにより、あるvimウィンドウから別の複製にテキストを送信する魅力的な可能性があります。たとえば、REPLのような動作です。 以前は、この種の構成にtmuxを使用していました。ただし、NeoVimのみを使用して試してみたいと思います。 私の質問は-あるvimから別のvimにテキストブロックを送信するにはどうすればよいですか?または多分-テキストの選択、ヤンク、分割の変更、貼り付けのシーケンスを自動化するにはどうすればよいですか?




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 イベント仕様。

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つある場合は、バッファ名を入力するよりもマッピングを使用する方が本当に速いと感じます(可能な場合でも)バッファ名に一致するいくつかの文字のみを入力します)。


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