ctrl-右キー、Ctrl-左キーで動作するzleウィジェット(最初のウィジェットは選択モードを開始しています):
c-sel-r-reg () {
local WORDCHARS=${WORDCHARS/\/}
zle select-in-Word
}
zle -N c-sel-r-reg
bindkey "^[Oc" c-sel-r-reg
c-l-reg () {
local WORDCHARS=${WORDCHARS/\/}
zle vi-backward-Word
zle end-of-line
zle -U " "
}
zle -N c-l-reg
bindkey "^[Od" c-l-reg
Zsh zleウィジェットから「選択モード」と呼んでいるものをキャンセルするには、次のようにします。
zle set-mark-command -n -1
または必要に応じて:
REGION_ACTIVE=0
Zshがサポートするのは、主にemacsおよびvim互換の形式です。マーク($ MARK)とカーソル($ CURSOR)の間のテキストが強調表示されます。ドキュメントでは、リージョン(emacs)またはビジュアルモード(vim)についても説明しています。 Windowsプログラムで得られる典型的な動作は、特に強力ではありません。 vimまたはemacsがどのように機能するかを学ぶほうがよいでしょうが、いくつかのウィジェットを置き換えると、Windowsスタイルの選択をほとんどエミュレートできます。例えば自己挿入では、テキストを挿入する前に選択をクリアする必要があります。主な制限は、選択が常にカーソルで開始または終了する必要があることです。