pgdown 私の履歴(4dos / 4ntなど)を一覧表示するナビゲーションペインにバインドされたメニューを表示するbash機能を作成しています。 1行が常に強調表示されるようにこれを行いました。
$ posは、履歴からリストを開始したい場所です。
$ function hidown (){ if [ "$down" -gt 1 ]; then ((--down)); else down=100; fi ; hismenu_down "$down"; }
$ bind -x '"\e[6~":"hidowm"'
$ down=100
`
function hismenu_down()
{
pos=$1; hilength=10; hirange="$(($hilength+$pos))";
hisstring=$(history | tail -n $hirange)
for ((i=hilength; i>=0; --i)); do
if [ $i == 6 ]; then tput setaf 7; else tput setaf 6; fi;
tput cup $i 55;
printf "$hisstring" | tail -n "$(($i+$pos))" | head -n1 | cut -c1-105;
done; tput sgr0; tput rc;
}
強調表示されたテキストをコマンドラインに出力したいので、Enterを入力するかEnterを押してコマンドを実行する前にテキストを編集します。
また、コマンドラインからコードを削除するために一時的にキーをバインドしesc(そして履歴リストからコードを削除するための他の操作も可能です)、その後同じキーを再バインドしてデフォルト値にバインドします。
しかし、私はこれを自分で見つけることができます。私が求めるのはこれです。コマンドラインに文字列を入れるには?