Text-Processing
在 GNU 螢幕中,如何從標準輸入讀取並保存到寄存器中?
我正在使用 GNU 螢幕,我想將來自標準輸入的輸入保存到一個寄存器中,以便稍後將其慢速粘貼。我嘗試了一個臨時文件的解決方法(
readreg
之後我可以讀入一個寄存器)並使用cat
::eval "exec | sh -c 'cat >/tmp/screentempfile'"
但是,如果我按下
CTRL``D
將 EOF 發送到cat
,它不會到達。
那應該是:
:exec ... sh -c 'cat > ~/.screen-paste'
您需要
cat
來自的標準輸入screen
,因此是第一個.
。該命令不應輸出任何內容,因此其他兩個 fd 並不重要,儘管它們也可以轉到screen
,因此還有另外兩個.
s。
為了完整起見,這是一個從標準輸入讀取並將輸入保存到寄存器中的工作命令:
:exec ... sh -c 'cat >"$HOME/.screen-stdin.tmp" && screen -S "$STY" -X readreg p "$HOME/.screen-stdin.tmp"'