web-dev-qa-db-ja.com

マウスを使用せずにクリップボードに端末コマンドをコピーする方法は?

enter image description here

gsettings set org.gnome.desktop.interface clock-show-date true

このコマンドをクリップボードにコピーして、ファイルに貼り付けるか、Ubuntuの質問に簡単に貼り付けられるようにします。

これを選択してを押すとコピーできます Ctrl+Shift+C、しかし、私はマウスのない答えを得たいです。

5
alhelal

bash ’s History Expansion を使用して、コマンドの置換や展開などを実行せずに前のコマンドラインをクリップボードにコピーできます。

echo !!:q | xclip -sel clip # or respectively
echo !!:q | xsel -ib

!!は、!-1のショートカットで、前のコマンドを参照します。コロン:は修飾子qの前にあります。これにより、展開された単語を単一引用符で引用して、それ以上の置換を防ぐことができます。

実行例

$ uname -r                        # run your command
4.10.0-35-generic
$ echo !!:q | xclip -sel clip     # copy the previous command to clipboard 
echo 'uname -r' | xclip -sel clip # this line shows what’s done
$ xclip -sel clip -o              # print clipboard content (just for testing)
uname -r
$ $(xclip -sel clip -o)           # run command stored in clipboard (just for testing)
4.10.0-35-generic

これを簡素化するには、 aliasを作成 にするか、設定でキーボードショートカットを設定します。 man bash/HISTORY EXPANSION および man history を読んで、履歴の拡張の詳細を確認してください。

5
dessert