コマンドラインから地域を削除する方法は?

コマンドラインから地域を削除する方法は?

私はただ学んだコマンドラインはemacsのように表示されます。しかし、emacsとは異なり、 C-w領域を削除せずに1つの単語だけを削除します。これに対応するものはありますかreadline

ベストアンサー1

readlineとzshでは、これはkill-regionemacsまたはtcshのウィジェットと同じですが、tcshとは異なり、両方ともttyデバイスラインルール^Wにソートすることを選択するため、デフォルトではバインドされません。werase

info bash kill-regionzshのbash / readlineを参照してください。info zsh kill-region

^Wzshから(tcshのように)にバインドするには:

bindkey '^W' kill-region

zshから(tcshと同様)。

weraseBashでは、最初に他の文字を使用するか、altgerを無効にするように行ルールを設定する必要がありますwerase(ただし、tty独自の行エディタから単語を削除することはできません)。

stty werase '^O'
# or:
stty werase '' # disable
bind '"\C-w": kill-region'

または、readlineを使用するすべてのアプリケーションに影響を与えるように"\C-w": kill-region追加してください。~/.inputrcこれには同じ制限があります。werasereadlineが初期化される前に別のものに変更する必要があるため、bashの場合はbashが開始される前に。

おすすめ記事