マウスを使わずにコマンドラインからファイル名を選択してコピーする方法は?

マウスを使わずにコマンドラインからファイル名を選択してコピーする方法は?

通常、[ls]を呼び出した後に端末で見つかったファイルに対して操作を実行するには、そのファイルをマウスで強調表示し、マウスの左ボタンをクリックしてファイル名をコピーし、コマンドを入力してファイル名を再度貼り付ける必要があります。します。 。

以前に端末に表示されていた特定の文字列をマウスを使用せずにコピーする方法はありますか?

ありがとうございます!

答え1

sudo apt-get install xclip

エイリアスを作成します。

 alias pbcopy='xclip -selection clipboard'

コピーするには、このコマンドを使用してください。

ls | pbcopy

(あなたも利用できます

ls <filename> | pbcopy 

特定のファイル名をコピーします。エイリアスが何であるかわからない場合: http://www.hostingadvice.com/how-to/set-command-aliases-linuxubuntudebian/)

答え2

検索でファイルを操作する場合、一般的に最も簡単な方法はタブ補完を使用するか、ファイルをグローブすることです。lsたとえば、そのファイルを操作するには、コピーして貼り付けるよりも高速です。report.texvim re<TAB>

しかし、コピーペーストはそれなりの用途があります。私の仕事のほとんどはtmuxviバインディングを通して行われます。 emacsバインディング(デフォルト)がある場合、アプローチは似ています(次はC-「Controlを押してからダッシュの後にキーを押します」という意味ですA-が、Altのprefix場合はプレフィックスC-b)。

  1. どちらの場合も、<prefix>[コピーモードに入るにはタップします。
  2. hjklコピーしたいテキストの末尾に移動するには、矢印キー(常に)または(おそらくviモードでのみ?)を使用します。
  3. emacsモードの場合は、C-<Spaaaaaace>Start Selectを押します。 viモードの場合は、を押します<Spaaaaaace>
  4. Emacsモードでは、キーを押してA-w選択したテキストをコピーします。 viモードでを押します<Enter>
  5. 選択項目を貼り付けるか、<prefix>]コマンドを使用してコピーしたtmux show-bufferテキストを標準出力に出力します。これは、コマンドのパイピングと自動化に役立ちます。

他のコンテンツをコピーすると、Tmuxはコピーした内容を記憶します。コピーしたコンテンツのリストを表示します<prefix>#<prefix>]最新のコピーを貼り付けますが、引数を使用して古いコピーを出力できますtmux show-buffer-n <number>

自分でコピーする方法はわかりませんが、screenほぼ同様のプロセスがGoogleにたくさんあると確信しています。

編集:通常、ターミナルマルチプレクサを使用することをお勧めします。ターミナルエミュレータやウィンドウマネージャに関係なく、わずか3回のキーストロークで他のターミナルを使用できます。筋肉記憶力がとても良いです!

答え3

Urxvtは優れていますurxvt-perlsげっ歯類に依存せずに端末でテキストを操作できるスクリプトのコレクションです。

コピーして貼り付けることに加えて、URLを選択してブラウザから開くか、クリップボードにドラッグしてスクロールバックを検索し、通常は$ EDITORのようにテキストを処理できます。

関連情報