マウスを使わずにターミナルで出力を選択(コピー)する方法


10

ターミナルに出力を表示する典型的な方法のようで、特定のフレーズを選択したい場合は、マウスを使用してコピーしますが、マウスを使用せずに選択する方法はありますか?たとえば、を入力してlsファイルのリストを取得し、2番目のファイル(2番目の行)を選択したいのですが、マウスを使用せずに名前をコピーする方法はありますか?


回答:


10

tmuxの使用:

tmuxはviモードで使用します:

  1. コピーモードに移動します(私の設定ではPrefix+ escape、デフォルトのプレフィックスはCtrl+ですb
    • 構成ファイル(~/.tmux.conf)内:bind Escape copy-mode
  2. 移動(矢印を使用)
  3. 希望する出力を選択します(で選択を開始Space
    • 私の設定ではvbind-key -T copy-mode-vi y send-keys -X begin-selection
  4. を押しEnterてテキストをコピーします。
    • 私の設定ではybind-key -T copy-mode-vi y send-keys -X copy-selection
  5. Prefix+ pを押して貼り付けます。

ここに画像の説明を入力してください

また、次のようなキーバインディングを作成します。

bind C-c run "tmux save-buffer - | xsel -bi"

したがって、Prefix+ Ctrl+を押すことで、バッファをシステムクリップボードに保存できますc

構成を追加したのは、デフォルトの構成よりもvimに近いためです。


コマンドの使用:

これが私がすることです:

  1. (例:コマンドを実行しますls -1
  2. 出力を処理して希望する結果を得る
  3. それをピップする xsel -bi

あなたの例では:

$ ls -1 | sed -n 2p | xsel -bi
  • ls -1 出力をそれぞれ1行に出力します
  • sed -n 2p 2行目を取得
  • xsel 最終結果をクリップボードにコピーするために使用されています。

コマンドの実行に時間がかかりすぎる場合は、まず出力をファイルに保存し、出力を処理します。

command > output
head -10 output | whatever | xsel -bi

0

最も一般的なLinux端末エミュレータは、これを直接行うことはできません。しかし、私が知っているものは2つあります。

かなり長い間存在しているのはシロアリです。ただし、かなり質素です(キーボードショートカットは構成できません。複数のタブはありません)。

現在、2つ目の機能があり、これにはMantidという名前のこれらの機能があります(私はここで恥知らずに宣伝しています:)):

https://github.com/omgold/mantid-term

Ubuntuビルドはまだありませんが、1つのArchとRPMがあります。ただし、RPMを作成し、Alienを使用してdebに変換することもできます。


試したいのですがmantid、チュートリアルやマニュアルが見つかりません。そこにドキュメントはありますか?少なくとも、質問で要求されている機能をどのように実現するかを知っておくとよいでしょう。
ルイス・デ・スーザ

マンページ( 'man mantid')があり、/ usr / share / mantidに設定ファイルの例があります。マンページには主に設定オプションが記載されており、アクティブなキーバインドは設定ファイルで検索できます。
omgold
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.