ターミナルを複数の「ビュー」に分割する方法は?


264

からvi、コマンドを発行する:spと、画面が2つの「ビュー」に分割され、同じ端末から複数のファイルを編集できるようになります。

同じ線に沿って、同じ端末で複数のシェルを開く方法はありますか?

回答:


350

screen端末マルチプレクサで実行できます。

  • 縦に分割するには:ctrlaそれから|
  • 水平に分割するには:ctrlaその後、S(大文字の「S」)。
  • 分割されていないために:ctrlaそれからQ(大文字'Q')を。
  • 一方から他方へ切り替えるには: ctrlaその後、tab

注:分割後、その領域を使用する前に、新しい領域に移動し、ctrlaそれから新しいセッションを開始するc必要があります。

編集、基本的な画面の使用:

  • 新しい端末:ctrlaその後c
  • 次の端末:ctrlaその後space
  • 前のターミナル:ctrlaそれからbackspace
  • N番目の端末ctrlaその後[n](n∈{0,1…9}で動作します)
  • リストを使用して端末を切り替える:ctrlathen " (10を超える端末がある場合に便利)
  • 次にctrla、基礎となる端末に送信します。ctrlaa

18
Tmuxもこれを行い、多くの端末プログラムにはビューとタブが分割されています。
ショーンJ.ゴフ

3
@AaronNewton ctrl+aその後、すべてを解放しますshift+s(Caps Lockがわからないため、私の機能は無効になっています)
シェルホリック

4
Ctrl A Shift S画面をCtrl A Tab分割し、他の分割に切り替えて、Ctrl A cbashプロンプトを作成します。とにかく起動時にこれらのコマンドを自動的に実行する必要があるscreenので、常にコマンドを実行する必要はありません。
マイケルバトラー

2
垂直分割の画面のバージョンはどれですか?私がインストールしたバージョンは4.00.03です。これは、チェックしたすべてのミラーから入手できる最新のダウンロードと同じです。
ブライアンヴァンデンバーグ

1
垂直ウィンドウの1つを他のウィンドウよりも広くするにはどうすればよいですか?30 | 30 | 40の分割が必要です。
mpen

108

tmux(Terminal MUltipleXer)を試してください:

tmuxスクリーンショット

そして、との違いを理解するためにsessionwindowpanetmuxnestings


20
Screen vs tmux?tmuxは、高度な使用にはおそらく優れており、より現代的ですが、画面はどこにでもインストールされ、正常に機能します。
user606723

その他の優れたtmuxヘルプリソースは、introconfigprimerおよびcheat-sheetです。
not2qubit

1
@ user606723特にTmux設定は実際に読み取り可能です。犬がキーボードの上を転がすようなものではありません。もちろん、byobu(両方の端末マルチプレクサをラップする)のようなラッパーで間に合わせることができますが、Tmuxは設定以外のいくつかの面で優れているようです。そして、数年前にすでに優れていました。スクリーンには両方向を分割するためのパッチが必要で、Tmuxにはすぐに使用できました。最後になりましたが、ライセンスは、TmuxまたはScreenの引数になる場合があります。
0xC0000022L

1
@ user606723 2019年の時点で、これはもう事実ではありません。screenFedora 30の比較的新しいインストールから欠落していtmuxますが、存在しています。
空。

64

コメントで述べたように、画面のほかに、もう1つの優れたターミナルマルチプレクサーはtmuxです。完全な説明とコマンドリファレンスについては、マニュアルを参照してください。始めるための基本的な操作は次のとおりです。

  • 画面を垂直に分割:CtrlbおよびShift5
  • 画面を水平に分割する:CtrlbおよびShift"
  • ペインを切り替える:Ctrlbおよびo
  • 現在のペインを閉じる:Ctrlbおよびx

ペインを分割することにより、より複雑なレイアウトを実現できます。また、ペインを備えた複数のウィンドウを作成し、それらを切り替えることができます。

  • ウィンドウの作成:Ctrlbおよびc
  • 次のウィンドウに切り替える: Ctrlbおよびn
  • 前のウィンドウに切り替える:Ctrlbおよびp
  • 現在のウィンドウを破壊:CtrlbShift7

3
tmuxのプレフィックスを<Cb>より簡単に到達できるものに変更できることに注意してください。


19

スクリーンとTmuxの優れた提案とは別に、ターミネーターに興味があるかもしれない何らかの種類のウィンドウマネージャーを使用している場合は、水平方向または垂直方向に分割できるほか、タブなどを作成できます... :

  • 端末をグリッドに配置する
  • タブ
  • 端末の並べ替えをドラッグアンドドロップする
  • たくさんのキーボードショートカット
  • GUI設定エディターで複数のレイアウトとプロファイルを保存する
  • 任意の端末グループへの同時タイピング

プロジェクトサイトのスクリーンショットをご覧ください。

最も重要なのは、TerminatorをScreen / Tmuxと組み合わせることができることです。


2
ターミネーター分割を使用すると、エディターの2つのウィンドウ間でコピー&ペーストする際の利便性が低下することに注意してください。
GB。

ペインをグループ化(または一度にすべてを選択)した後、複数のペインを一度に編集できます。また、ペイン切り替えのショートカットも同様に編集できます。私が持っているctrl-shift-h/j/k/lのペイン間を移動するための、およびタブを切り替えるためのCTRL-(シフト)-tabは、それだけで素晴らしい作品。
sjas

1
それらをクリックして焦点を合わせることができます。しかし、まだ端末をグリッドに均等に分散する方法を見つけることはできません。手作業で修正するのは面倒です。また、端末を動的に追加する必要があるため、均等に分散されたグリッドでそれらを更新しますか?
アクエリアスパワー

ターミネーターはX-windowsプログラムであり、tmuxやscreenなどのコマンドラインプログラムではありません。OPは特にsame terminal2回言及しているので、Terminatorまたはtilix(@sjasが言及)は良い提案ではありません。Xサーバーのないリモートサーバーへのsshセッションを使用している場合、これらのツールを実行することさえできません。
haridsv

8

Konsole for KDE には組み込み関数があります

  • Ctrl+ (ビューを左/右に分割する

  • Ctrl+ )分割ビューの上部/下部へ

  • Shift+ Tabは分割ビューを循環します

  • Shift+ Left Arrow/ Right Arrowタブ/ビューを介して現在のビューを循環します

  • Ctrl+ Shift+ X現在のビューを閉じます


konsoleの分割ビューペインを切り替えるキーボードショートカットを知っていますか?
ランゲハーレ

1
@LangeHaare SHIFT + TABは、ビューペインを循環します
-chaptuck

7

ターミネーターを使用します

主流のディストリビューションを使用している場合は、お気に入りのパッケージマネージャー経由で利用できる必要があります。

これは、ウィンドウのペイン内からコピーアンドペーストが適切に機能する唯一の端末マルチプレクサです。

更新:tilixあるterminatorターミネータと同等のほぼ完全である(とcopypastingがあまりにも、正常に動作する)代替。それを評価した後でも、terminatorタブの扱いが良くなり、構成が簡単になった(POVから)ので、私はまだ固執しています。


ターミネーターは技術的にはマルチプレクサではありません。「ターミナルマルチプレクサは、複数の仮想コンソールを多重化するために使用できるソフトウェアアプリケーションであり、ユーザーは単一のターミナルウィンドウまたはリモートターミナルセッション内で複数の個別のターミナルセッションにアクセスできます。」(ウィキペディアから)
erb

また、ペイン内からコピーと貼り付けが適切に機能する唯一のマルチプレクサではありません。tmuxは適切な構成でこれを適切に行います。
erb

@erb-トリプルクリックで複数の端末にまたがる完全な行を選択したくない場合、正確に設定する必要があるのはなぜですか?
sjas

1
tmuxでコピーモードを使用してコピーを行うことができます。マウスを使用する場合は、マウスサポートのみを有効にする必要があります。これを使用した私の構成は、github.com / ErikBjare / dotfiles / blob / master / home /です。 tmuxは/ ...あなたは、この参照コピーモードでシステムのクリップボードを使用する場合:unix.stackexchange.com/questions/131011/...
ERB

2
え?何故なの?ターミネーターで選択するのと同じ方法で(正確ではないにしても)ほぼ正確に動作させることができます。私は同じ理由でターミネーターユーザーでしたが、設定が完了したら振り返ることはなく、コピーが唯一の迷惑なものだったので、より軽量のターミナルエミュレータに切り替えることでRAMやその他のリソースをかなり節約できます。
erb

4

グアケ + o風

私は幸せなユーザーだGuake屏風、内部に、そのデフォルトの使用によりtmuxおそらくより良いよりscreen)。

3つのステップ

  1. それらをインストールします(UbuntuやDebianでPPAは不要です。他のディストリビューションを確認してください

    sudo apt install guake byobu
  2. 使用可能なシェルに追加します(このGuake Githubの問題で述べたよう):

    which byobu | sudo tee -a /etc/shells
  3. Guakeの設定(guake-prefs)で、デフォルトのインタープリターとしてByobuを選択します。 画像


  1. オプション:「タブバーを表示」のチェックを外します。そのためにBy風を使用します。

    画像

  2. ショートカットが機能しない場合は、干渉する可能性のあるGuakeショートカットを無効にしてみてください(私の場合はCtrl+F2垂直分割の場合)。 スクリーンショット

その他の提案

  1. Shift+ F1またはこの優れたスクリーンキャストでショートカットをご覧ください。
  2. 使用可能なbyobu端末コマンドについて apropos byobu
  3. Midnight Commanderでfnキーを使用するには、Alt+ またはShift+ F12を使用してbyobu Fキーを無効にします。

スクリーンショット


2

GNU Screenの垂直分割をお試しください

このパッチは、GNU Screenの現在のリリースに垂直分割機能を提供します。この機能は、画面の既存の分割コマンドと同じように機能するように設計されていますが、領域を水平ではなく垂直に分割します。両方の形式の分割は、任意の組み合わせ/数量/順序で一緒に使用できます。似たようなものがすぐにGNU Screen 4.1に登場する予定で、このメーリングリストスレッドごとにCVSですでに利用可能です(そして4.0.3-10以降のDebianおよびUbuntuスクリーンパッケージに含まれています)。また、ScreenWMという名前の最近のプロジェクトは、vsplitパッチを適用した画面で動作するように特別に設計されています(チェックしてください!)。


具体的にCtrl+|screen、Ubuntuをすぐに分割します。
ジョナタンオストレム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.