1

MasiScreenのクリップボードに、 aftenという単語を含むコピーがあります。Screenのコマンドモードでクリップボードを直接編集できるように、効果的にボンドに置き換えたいと思います。クリップボードを/tmpに保存して、Vimで置換を実行できることは知っていますが、Screenについて学びたいと思います。

Screenのクリップボードにデータがあるので実行します

Ctrl-A : sed s/Masi/Bond/ | [Screen's clipboard]       /// I do not know how to refer to Screen's clipboard by a command other that C-A ]

私は得る

unknown command sed

ScreenのコマンドモードでScreenのクリップボードへのコマンドを実行するにはどうすればよいですか?

4

1 に答える 1

2

画面に貼り付けバッファでコマンドを実行する方法がないと思います。

これを行う1つの方法は、バインドを作成して貼り付けバッファーを保存し、バッファーを変更するスクリプトを実行する画面で新しいウィンドウを開くことです。次に、別のバインドを作成して、変更したバッファをディスクからリロードして貼り付けます(これは通常の貼り付けバインドでバインドできます)。

これをscreenrc(パスの変更)に追加します。

bind -c screensed s eval "writebuf /pathtoscript/screensed.clipboard" "screen sh /pathtoscript/screensed.sh"
bind -c screensed p eval "readbuf /pathtoscript/screensed.clipboard" "paste ."
bind , command -c screensed

どこかにシェルスクリプトを作成します。

#!/usr/bin/env sh
echo "Enter sed script: "
read sedcommand
sed -i ${sedcommand} /pathtoscript/screensed.clipboard
echo "(Enter to return)"
read something

画面の「ctrl-a、s」はクリップボードをダンプし、sedコマンドを入力するための新しいウィンドウを作成します。「ctrl-a、p」はクリップボードを読み取って貼り付けます。スクリプトの最後で一時停止すると、sedで発生する可能性のあるエラーが表示されます。

于 2009-07-19T02:54:10.700 に答える