-
-
Notifications
You must be signed in to change notification settings - Fork 86
説明書 §6 Vim
[ 日本語 | English ] ≫ 説明書 [§1 基本 | §2 描画 | §3 束縛 | §4 編集 | §5 Emacs | §6 Vim | §7 補完 | §8 他 | 索引]
Vim 編集モードでは挿入モード (vi_imap
) が基底のキーマップになり、
そこから様々なキー操作によってノーマルモード (vi_nmap
)、オペレータ待機モード (vi_omap
)、
ビジュアルモード (vi_xmap
)、選択モード (vi_smap
)、コマンドモード (vi_cmap
) などの各モードに入ります。
vi_imap
に於ける操作の多くは「4. コマンドライン編集」に載っています。
vi_nmap
, vi_omap
, vi_xmap
に於いて後続の操作に対する整数引数を設定します。
操作 | widget |
---|---|
0 | vi-command/append-arg |
1 | vi-command/append-arg |
2 | vi-command/append-arg |
3 | vi-command/append-arg |
4 | vi-command/append-arg |
5 | vi-command/append-arg |
6 | vi-command/append-arg |
7 | vi-command/append-arg |
8 | vi-command/append-arg |
9 | vi-command/append-arg |
未だ引数が設定されていない時、0 は後述の移動コマンドとして行頭への移動を行います。 1 から 9 までは新しく引数を設定します。 既に引数が設定されている時、0 から 9 までは既存の整数引数に新しい桁を追加します。 引数がどのように解釈されるかは後続の操作に依存します。
vi_nmap
, vi_xmap
に於いて後続の操作に対して使用するレジスタを設定します。
操作 | widget | 説明 |
---|---|---|
" {char} | vi-command/register |
レジスタの指定 |
vi_nmap
, vi_omap
, vi_xmap
で各種オペレータが利用可能です。
vi_nmap
でオペレータを実行すると、そのオペレータを記録して vi_omap
に入ります。
vi_xmap
でオペレータを実行すると、選択範囲に対してオペレータを作用させます。
vi_omap
でオペレータを実行すると、記録されたオペレータと一致する場合に、現在行に対してオペレータを作用させます。
操作 | widget | 説明 |
---|---|---|
y | vi-command/operator y |
コピー |
d x, delete (vi_xmap) |
vi-command/operator d |
切り取り |
c s (vi_xmap) |
vi-command/operator c |
切り取り、挿入モードへ |
< | vi-command/operator indent-left |
インデントを減らす |
> | vi-command/operator indent-right |
インデントを増やす |
! | vi-command/operator filter |
フィルタコマンドにかける |
g ~ ~ (vi_omap/vi_xmap) |
vi-command/operator toggle_case |
英小文字・大文字の切り替え |
g u u (vi_omap/vi_xmap) |
vi-command/operator u |
英小文字に |
g U U (vi_omap/vi_xmap) |
vi-command/operator U |
英大文字に |
g ? ? (vi_omap) |
vi-command/operator rot13 |
英字を簡易暗号化 |
g q q (vi_omap) |
vi-command/operator fold |
適当な幅で改行を挿入 |
g w | vi-command/operator fold-preserve-point |
適当な幅で改行を挿入し、元の位置に |
g @ | vi-command/operator map |
bleopt keymap_vi_operatorfunc 参照 |
移動コマンドは現在位置を移動するコマンドでオペレータと組み合わせて使うこともできます。
移動コマンドは vi_nmap
, vi_omap
, vi_xmap
で利用可能です。
vi_nmap
及び vi_xmap
で移動コマンドを実行した時は対応する位置に移動します。
vi_omap
で移動コマンドを実行した時は、
現在位置から移動先までを作用対象として、vi_omap
に入る時に設定されたオペレータを適用し、vi_nmap
に戻ります。
行頭・行末への移動に関係する操作
操作 | widget | type |
---|---|---|
home | vi-command/beginning-of-line |
exclusive |
$, end | vi-command/forward-eol |
inclusive |
^ | vi-command/first-non-space |
exclusive |
_ | vi-command/first-non-space-forward |
linewise |
+, C-m, RET | vi-command/forward-first-non-space |
linewise |
- | vi-command/backward-first-non-space |
linewise |
g 0, g home | vi-command/beginning-of-graphical-line |
exclusive |
g ^ | vi-command/graphical-first-non-space |
exclusive |
g $, g end | vi-command/graphical-forward-eol |
inclusive |
g m | vi-command/middle-of-graphical-line |
exclusive |
g _ | vi-command/last-non-space |
inclusive |
文字単位の移動に関係する操作
操作 | widget | type |
---|---|---|
h, left | vi-command/backward-char |
exclusive |
l, right | vi-command/forward-char |
exclusive |
C-?, DEL, C-h, BS | vi-command/backward-char wrap |
exclusive |
SP | vi-command/forward-char wrap |
exclusive |
行単位の移動に関係す操作
操作 | widget | type |
---|---|---|
j, down, C-n, C-j | vi-command/forward-line |
linewise |
k, up, C-p | vi-command/backward-line |
linewise |
g j, g down | vi-command/graphical-forward-line |
exclusive |
g k, g up | vi-command/graphical-backward-line |
exclusive |
単語単位の移動に関係する操作
操作 | widget | type |
---|---|---|
w | vi-command/forward-vword |
exclusive |
W | vi-command/forward-uword |
exclusive |
b | vi-command/backward-vword |
exclusive |
B | vi-command/backward-uword |
exclusive |
e | vi-command/forward-vword-end |
inclusive |
E | vi-command/forward-uword-end |
inclusive |
g e | vi-command/backward-vword-end |
inclusive |
g E | vi-command/backward-uword-end |
inclusive |
C-right | vi-command/forward-vword |
exclusive |
S-right | vi-command/forward-vword |
exclusive |
C-left | vi-command/backward-vword |
exclusive |
S-left | vi-command/backward-vword |
exclusive |
その他の移動に関係する操作
操作 | widget | type | 説明 |
---|---|---|---|
g o | vi-command/nth-byte |
exclusive |
N [1]バイト目を含む文字の直前 |
| | vi-command/nth-column |
exclusive |
N [1]列目 |
H | vi-command/nth-line |
linewise/jump | 上からN [1]行目の非空白行頭 |
L | vi-command/nth-last-line |
linewise/jump | 下からN [1]行目の非空白行頭 |
g g | vi-command/history-beginning |
linewise |
N 個目[最初]の履歴項目 (nmap) / N 行目[1行目]の非空白行頭 (omap) |
G | vi-command/history-end |
linewise |
N 個目[最後]の履歴項目 (nmap) / N 行目[最終行]の非空白行頭 (omap) |
C-home | vi-command/first-nol |
linewise |
N 行目[1行目]の非空白行頭 |
C-end | vi-command/last-eol |
inclusive |
N 行目[最終行]の行末 |
対応する括弧に移動する操作
操作 | widget | type |
---|---|---|
% | vi-command/search-matchpair-or vi-command/percentage-line |
inclusive or linewise |
引数が設定されていない場合、対応する括弧の位置に移動します。 引数が設定されている場合、引数を百分率と解釈して、編集文字列内の対応する行に移動します。
文字の検索に関連する操作
操作 | widget | type |
---|---|---|
f | vi-command/search-forward-char |
inclusive |
F | vi-command/search-backward-char |
exclusive |
t | vi-command/search-forward-char-prev |
inclusive |
T | vi-command/search-backward-char-prev |
exclusive |
; | vi-command/search-char-repeat |
exclusive |
, | vi-command/search-char-reverse-repeat |
exclusive |
文字列の検索に関連する操作
操作 | widget | type |
---|---|---|
/ | vi-command/search-forward |
exclusive |
? | vi-command/search-backward |
exclusive |
n | vi-command/search-repeat |
exclusive |
N | vi-command/search-reverse-repeat |
exclusive |
* | vi-command/search-word-forward |
exclusive |
# | vi-command/search-word-backward |
exclusive |
マークに移動する操作
操作 | widget | type |
---|---|---|
` {char} | vi-command/goto-mark |
exclusive |
' {char} | vi-command/goto-mark line |
exclusive |
テキストオブジェクトは vi_omap
及び vi_xmap
で利用可能です。
vi_omap
で実行した場合は、指定の範囲を対象として、記録されたオペレータを作用します。
vi_xmap
で実行した場合は、指定の範囲を含むように選択範囲を拡張します。
操作 | widget |
---|---|
i {char} | vi-command/text-object-inner |
a {char} | vi-command/text-object-outer |
{char} |
説明 |
---|---|
w | 単語(同種文字の連続) |
W | 単語(非空白文字の連続) |
" | 引用符で囲まれた範囲 |
' | 引用符で囲まれた範囲 |
` | 引用符で囲まれた範囲 |
(, ), b | 括弧 () で囲まれた範囲 |
{, }, B | 括弧 {} で囲まれた範囲 |
<, > | 括弧 <> で囲まれた範囲 |
[, ] | 括弧 [] で囲まれた範囲 |
t | HTMLタグで囲まれた範囲 |
s | 文(ピリオド区切り) |
p | 段落(二重改行区切り) |
以下は vi_nmap
, vi_omap
, vi_xmap
で使用可能です。
操作 | widget | 説明 |
---|---|---|
: | vi-command/commandline |
コマンドラインモード |
以下は vi_nmap
, vi_omap
, vi_xmap
, vi_smap
の何れでも使用可能です。
操作 | widget | 説明 |
---|---|---|
C-z | (shell command) fg
|
fg コマンドの実行 |
paste_begin | vi-command/bracketed-paste |
(内部用途) |
挿入モードには細かく見ると (通常の) 挿入モード、置換モード、仮想置換モードがあります。 挿入モードのキー操作は以下を除いて殆ど「4. コマンドライン編集」で述べたものと同様です。
モード変更
操作 | widget | 説明 |
---|---|---|
insert | vi_imap/overwrite-mode |
置換モード |
ESC, C-[ | vi_imap/normal-mode |
ノーマルモード |
C-c | vi_imap/normal-mode-without-insert-leave |
ノーマルモード (特殊動作キャンセル) |
C-o | vi_imap/single-command-mode |
単一コマンドモード |
編集
操作 | widget | 説明 |
---|---|---|
C-w | vi_imap/delete-backward-word |
単語削除 |
SP | magic-space |
各種展開を実行の後にスペース挿入 |
/ | magic-slash |
名前付きディレクトリ展開 (~ で始まる静的略語展開) を実行の後にスラッシュ挿入 |
シェル操作
操作 | widget | 説明 |
---|---|---|
C-j, C-RET | accept-line |
コマンド実行 |
C-m, RET | accept-single-line-or-newline |
状況によりコマンド実行または改行挿入 |
C-g, C-\, C-^ | bell |
ベル・キャンセル |
C-l | clear-screen |
画面再描画 |
f1 | command-help |
現在位置のコマンドのヘルプを表示 |
C-x C-v | display-shell-version |
シェルバージョンを表示 |
C-x C-e | edit-and-execute-command |
コマンドを編集して実行 |
内部用途
操作 | widget |
---|---|
__attach__ | vi_imap/__attach__ |
__default__ | vi_imap/__default__ |
__before_widget__ | vi_imap/__before_widget__ |
ノーマルモードには通常のノーマルモードの他に単一コマンドモードがあります。 単一コマンドモードではコマンドを一つ実行すると元の挿入モードに戻ります。
キャンセル
操作 | widget | 説明 |
---|---|---|
ESC, C-[ | vi-command/bell |
ベル |
C-c | vi-command/cancel |
キャンセル |
モード切替に関する操作
操作 | widget | 説明 |
---|---|---|
C-\ C-n | nop |
vi_nmap (何もしない) |
a | vi_nmap/append-mode |
vi_imap 挿入モード @現在の文字の後 |
A | vi_nmap/append-mode-at-end-of-line |
vi_imap 挿入モード @行末 |
i, insert | vi_nmap/insert-mode |
vi_imap 挿入モード @現在の文字の前 |
I | vi_nmap/insert-mode-at-first-non-space |
vi_imap 挿入モード @非空白の行頭 |
g I | vi_nmap/insert-mode-at-beginning-of-line |
vi_imap 挿入モード @行頭 |
o | vi_nmap/insert-mode-at-forward-line |
vi_imap 挿入モード @次に新しい行 |
O | vi_nmap/insert-mode-at-backward-line |
vi_imap 挿入モード @前に新しい行 |
R | vi_nmap/replace-mode |
vi_imap 置換モード |
g R | vi_nmap/virtual-replace-mode |
vi_imap 仮想置換モード |
g i | vi_nmap/insert-mode-at-previous-point |
vi_imap 前回の位置 |
v | vi_nmap/charwise-visual-mode |
vi_xmap ビジュアルモード |
V | vi_nmap/linewise-visual-mode |
vi_xmap 行ビジュアルモード |
C-v, C-q | vi_nmap/blockwise-visual-mode |
vi_xmap 矩形ビジュアルモード |
g v | vi-command/previous-visual-area |
vi_xmap 前回のビジュアルモード |
g h | vi_nmap/charwise-select-mode |
vi_smap 選択モード |
g H | vi_nmap/linewise-select-mode |
vi_smap 行選択モード |
g C-h | vi_nmap/blockwise-select-mode |
vi_smap 矩形選択モード |
行単位の操作
操作 | widget | 説明 |
---|---|---|
Y | vi_nmap/copy-current-line |
現在の行をコピー |
S | vi_nmap/kill-current-line-and-insert |
現在行を切り取り、挿入モードに |
D | vi_nmap/kill-forward-line |
行末まで切り取る |
C | vi_nmap/kill-forward-line-and-insert |
行末まで切り取り、挿入モードに |
J | vi_nmap/connect-line-with-space |
行をスペースで連結 |
g J | vi_nmap/connect-line |
行を連結 |
スクロール
操作 | widget | 説明 |
---|---|---|
C-d | vi-command/forward-line-scroll |
N 行[半画面]次の行に移動してスクロール |
C-e | vi-command/forward-scroll |
N 行[半画面]だけ次にスクロール |
C-u | vi-command/backward-line-scroll |
N 行[半画面]前の行に移動してスクロール |
C-y | vi-command/backward-scroll |
N 行[半画面]だけ前にスクロール |
C-f, next | vi-command/pagedown |
N 頁[1頁]次に移動してスクロール |
C-b, prior | vi-command/pageup |
N 頁[1頁]前に移動してスクロール |
文字単位の操作
操作 | widget | 説明 |
---|---|---|
~ | vi_nmap/forward-char-toggle-case |
大文字小文字を切り替えてN[1]文字進む |
x, delete | vi_nmap/kill-forward-char |
現在の文字を削除 |
s | vi_nmap/kill-forward-char-and-insert |
現在の文字を削除して、挿入モードに |
X | vi_nmap/kill-backward-char |
前の文字を削除 |
r | vi_nmap/replace-char |
現在の文字を置換 |
g r | vi_nmap/virtual-replace-char |
現在の文字を仮想置換 |
整数の操作
操作 | widget | 説明 |
---|---|---|
C-a | vi_nmap/increment |
整数をN[1]増やす |
C-x | vi_nmap/decrement |
整数をN[1]減らす |
レジスタ・貼り付け・記録・再生
操作 | widget | 説明 |
---|---|---|
p | vi_nmap/paste-after |
現在位置の次に挿入 |
P | vi_nmap/paste-before |
現在位置の前に挿入 |
q {char} | vi_nmap/record-register |
マクロの記録開始 |
@ {char} | vi_nmap/play-register |
マクロの再生 |
やり直し・繰り返し
操作 | widget | 説明 |
---|---|---|
. | vi_nmap/repeat |
直前の編集を繰り返し |
u | vi_nmap/undo |
元に戻す |
C-r | vi_nmap/redo |
やり直す |
U | vi_nmap/revert |
完全に元に戻す |
マーク
操作 | widget | 説明 |
---|---|---|
m {char} | vi-command/set-mark |
現在位置にマーク |
再描画・情報表示
操作 | widget |
---|---|
z t | vi_nmap/scroll-to-top-and-redraw |
z z | vi_nmap/scroll-to-center-and-redraw |
z b | vi_nmap/scroll-to-bottom-and-redraw |
z RET, z C-m | vi_nmap/scroll-to-top-non-space-and-redraw |
z + | vi_nmap/scroll-or-pagedown-and-redraw |
z - | vi_nmap/scroll-to-bottom-non-space-and-redraw |
z . | vi_nmap/scroll-to-center-non-space-and-redraw |
C-g | vi-command/show-line-info |
シェルの操作
操作 | widget | 説明 |
---|---|---|
C-j, C-RET | accept-line |
コマンド実行 |
C-m, RET | accept-single-line-or vi-command/forward-first-non-space |
状態に応じてコマンド実行または改行挿入 |
C-l | clear-screen |
再描画 |
C-d | vi-command/exit-on-empty-line |
空文字列の時、シェルを終了。他の時、C-e と同じ |
K, f1 | vi_nmap/command-help |
現在位置のコマンドのヘルプを表示 |
Z Z, Z Q | vi-command:q |
シェルを終了する |
内部用途
操作 | widget |
---|---|
__default__ | vi-command/decompose-meta |
auto_complete_enter | auto-complete-enter |
操作 | widget | 説明 |
---|---|---|
C-\ C-n | nop |
(何もしない) |
ESC, C-[, C-c | vi_omap/cancel |
キャンセル |
v | vi_omap/switch-to-charwise |
作用対象をinclusive/exclusive反転して文字指向に |
V | vi_omap/switch-to-linewise |
作用対象を行指向に |
C-v, C-q | vi_omap/switch-to-blockwise |
作用対象を矩形範囲に |
__default__ | vi_omap/__default__ |
(内部用途) |
ビジュアルモードには細かく見ると (文字指向の) ビジュアルモード、行ビジュアルモード、矩形ビジュアルモードがあります。
モード変更
操作 | widget | 説明 |
---|---|---|
ESC, C-[ | vi_xmap/exit |
終了 |
C-c, C-\ C-n, C-\ C-g | vi_xmap/cancel |
キャンセル |
v | vi_xmap/switch-to-charwise |
ビジュアルモード |
V | vi_xmap/switch-to-linewise |
行ビジュアルモード |
C-v, C-q | vi_xmap/switch-to-blockwise |
矩形ビジュアルモード |
g v | vi-command/previous-visual-area |
前回のビジュアルモードの状態 |
C-g | vi_xmap/switch-to-select |
選択モード |
移動
操作 | widget | 説明 |
---|---|---|
o | vi_xmap/exchange-points |
現在位置と開始点を交換 |
O | vi_xmap/exchange-boundaries |
左右の境界を交換 (矩形ビジュアルモード)、他の場合は上に同じ |
コピー・貼り付け・矩形挿入
操作 | widget | 説明 |
---|---|---|
C | vi_xmap/replace-block-lines |
行末まで内容を削除して挿入 (文字指向なら行指向に変換) |
D, X | vi_xmap/delete-block-lines |
行末まで内容を削除 (文字指向なら行指向に変換) |
S, R | vi_xmap/delete-lines |
行指向で内容を削除 |
Y | vi_xmap/copy-block-or-lines |
行末まで内容をコピー (文字指向なら行指向に変換) |
I | vi_xmap/insert-mode |
前に挿入 |
A | vi_xmap/append-mode |
後に挿入 |
p | vi_xmap/paste-after |
後に貼り付けて、内容を切り取り |
P | vi_xmap/paste-before |
前に貼り付けて、内容を切り取り |
範囲内の変換
操作 | widget | 説明 |
---|---|---|
r {char} | vi_xmap/visual-replace-char |
範囲内の文字を置換 |
J | vi_xmap/connect-line-with-space |
行連結 (スペース区切り) |
g J | vi_xmap/connect-line |
行連結 |
C-a | vi_xmap/increment |
範囲内の整数をN[1]増やす |
C-x | vi_xmap/decrement |
範囲内の整数をN[1]減らす |
g C-a | vi_xmap/progressive-increment |
範囲内のk番目の整数をN[1]*k増やす |
g C-x | vi_xmap/progressive-decrement |
範囲内のk番目の整数をN[1]*k減らす |
シェルの操作
操作 | widget | 説明 |
---|---|---|
f1, K | vi_xmap/command-help |
現在位置のコマンドのヘルプを表示する |
内部用途
操作 | widget |
---|---|
__default__ | vi-command/decompose-meta |
選択モードには細かく見ると (文字指向の) 選択モード、行選択モード、矩形選択モードがあります。
モード変更
操作 | widget | 説明 |
---|---|---|
ESC, C-[ | vi_xmap/exit |
終了 |
C-c, C-\ C-n, C-\ C-g | vi_xmap/cancel |
キャンセル |
C-\ C-n | nop |
(何もしない) |
C-v, C-q | vi_xmap/switch-to-visual-blockwise |
矩形ビジュアルモード |
C-g | vi_xmap/switch-to-visual |
ビジュアルモード |
移動: 文字単位
操作 | widget |
---|---|
left | vi_smap/@nomarked vi-command/backward-char |
right | vi_smap/@nomarked vi-command/forward-char |
C-?, DEL, C-h, BS | vi_smap/@nomarked vi-command/backward-char wrap |
SP | vi_smap/@nomarked vi-command/forward-char wrap |
S-left | vi-command/backward-char |
S-right | vi-command/forward-char |
S-C-?, S-DEL, S-C-h, S-BS | vi-command/backward-char wrap |
S-SP | vi-command/forward-char wrap |
移動: 単語単位
操作 | widget |
---|---|
C-right | vi_smap/@nomarked vi-command/forward-vword |
C-left | vi_smap/@nomarked vi-command/backward-vword |
S-C-right | vi-command/forward-vword |
S-C-left | vi-command/backward-vword |
移動: 行頭・行末
操作 | widget |
---|---|
home | vi_smap/@nomarked vi-command/beginning-of-line |
end | vi_smap/@nomarked vi-command/forward-eol |
C-m, RET | vi_smap/@nomarked vi-command/forward-first-non-space |
S-home | vi-command/beginning-of-line |
S-end | vi-command/forward-eol |
S-C-m, S-RET | vi-command/forward-first-non-space |
移動: 行単位
操作 | widget |
---|---|
down, C-n, C-j | vi_smap/@nomarked vi-command/forward-line |
up, C-p | vi_smap/@nomarked vi-command/backward-line |
C-home | vi_smap/@nomarked vi-command/nth-line |
C-end | vi_smap/@nomarked vi-command/last-line |
S-down, S-C-n, S-C-j | vi-command/forward-line |
S-up, S-C-p | vi-command/backward-line |
S-C-home | vi-command/nth-line |
S-C-end | vi-command/last-line |
編集
操作 | widget | 説明 |
---|---|---|
__defchar__ | vi_smap/self-insert |
選択範囲を削除して文字挿入 |
delete, C-?, DEL, C-h, BS | vi-command/operator d |
選択範囲を削除 |
C-a | vi_xmap/increment |
範囲内の整数を1増やす |
C-x | vi_xmap/decrement |
範囲内の整数を1減らす |
シェルの操作
操作 | widget | 説明 |
---|---|---|
f1 | vi_xmap/command-help |
現在位置のコマンドのヘルプを表示 |
内部用途
操作 | widget |
---|---|
__default__ | vi-command/decompose-meta |
6.3 Vim 編集モードの設定†
Vim 編集モードの設定は hook keymap_vi_load
経由で実行することができます。
# blerc (例)
function my/vim-load-hook {
bleopt keymap_vi_mode_string_nmap=$'\e[1m-- NORMAL --\e[m'
source "$_ble_base/lib/vim-surround.sh"
}
blehook/eval-after-load keymap_vi my/vim-load-hook
# ble-0.3以前
# ble/array#push _ble_keymap_vi_load_hook my/vim-load-hook
これらの設定は各モードにおけるカーソルの形状を制御します。
設定変数 term_cursor_external
と同様の指定方法です。
旧設定変数 keymap_vi_?map_cursor
は ble-bind -m KEYMAP --cursor CODE
を使用する様に変更されました。
ble-bind
の関連する記述も御確認下さい。
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
# 既定値
ble-bind -m vi_cmap --cursor ''
ble-bind -m vi_imap --cursor ''
ble-bind -m vi_nmap --cursor ''
ble-bind -m vi_omap --cursor ''
ble-bind -m vi_smap --cursor ''
ble-bind -m vi_xmap --cursor ''
# ble-0.3以前
bleopt keymap_vi_cmap_cursor=
bleopt keymap_vi_imap_cursor=
bleopt keymap_vi_nmap_cursor=
bleopt keymap_vi_omap_cursor=
bleopt keymap_vi_smap_cursor=
bleopt keymap_vi_xmap_cursor=
# 設定例
ble-bind -m vi_cmap --cursor 0
ble-bind -m vi_imap --cursor 5
ble-bind -m vi_nmap --cursor 2
ble-bind -m vi_omap --cursor 4
ble-bind -m vi_smap --cursor 2
ble-bind -m vi_xmap --cursor 2
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
# 既定値
bleopt term_vi_cmap=
bleopt term_vi_imap=
bleopt term_vi_nmap=
bleopt term_vi_omap=
bleopt term_vi_smap=
bleopt term_vi_xmap=
これらの設定変数は各モードに入った時に端末に送信するシーケンスを設定します。
6.3.3 設定変数 keymap_vi_keymodel
(v0.2)†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_keymodel=
選択モードにおける移動コマンドの振る舞いを制御します。
カンマ区切りの単語のリストです。
単語 stopsel
が含まれている時、
選択モードの移動コマンドで選択モードを抜けます。
6.3.4 設定変数 keymap_vi_macro_depth
(v0.2)†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_macro_depth=64
キーボードマクロ再生の再帰の深さの上限を指定します。
6.3.5 設定変数 keymap_vi_mode_update_prompt
(空/非空) (v0.4)†
モード変更時にプロンプトの再計算を実行するかどうかを指定します。 非空文字列の時にプロンプトの再計算を実行します。
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_mode_update_prompt=
6.3.6 設定変数 prompt_vi_mode_indicator
(プロンプト文字列) (v0.4)†
Info行に配置されるモード表示の内容をプロンプト文字列で指定します。
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
# 既定値
bleopt prompt_vi_mode_indicator='\q{keymap:vi/mode-indicator}'
6.3.7 プロンプトシーケンス \q{keymap:vi/mode-indicator}
(v0.4)†
現在の Vim モード表示に展開されます。
\q{keymap:vi/mode-indicator} # 展開例: -- INSERT --
6.3.8 設定変数 keymap_vi_mode_show
(空/非空) (v0.4)†
モード表示 \q{keymap:vi/mode-indicator}
を有効化するかどうかを制御します。
空文字列が指定されている時 \q{keymap:vi/mode-indicator}
は空文字列に展開されます。
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_mode_show=1
\q{keymap:vi/mode-indicator}
で使うモード名を指定します。
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_mode_name_insert='INSERT'
bleopt keymap_vi_mode_name_replace='REPLACE'
bleopt keymap_vi_mode_name_vreplace='VREPLACE'
bleopt keymap_vi_mode_name_visual='VISUAL'
bleopt keymap_vi_mode_name_select='SELECT'
bleopt keymap_vi_mode_name_linewise='LINE'
bleopt keymap_vi_mode_name_blockwise='BLOCK'
# 例 (日本語名)
bleopt keymap_vi_mode_name_{insert=挿入,replace=置換,vreplace=仮想置換}
bleopt keymap_vi_mode_name_{visual=ビジュアル,select=選択}
bleopt keymap_vi_mode_name_{linewise=行,blockwise=矩形}
6.3.10 設定変数 keymap_vi_mode_string_nmap
(v0.2)†
ノーマルモードで \q{keymap:vi/mode-indicator}
で使用するモード名を指定します。
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_mode_string_nmap=$'\e[1m~\e[m' # ble-0.4
bleopt keymap_vi_nmap_name=$'\e[1m~\e[m' # ble-0.2 (互換性)
例えば、他のモードと同様に明示的にモード名を表示するには以下の様にします。
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
bleopt keymap_vi_mode_string_nmap=$'\e[1m-- NORMAL --\e[m
または、ノーマルモードではモード名を表示しないという場合には以下の様にします。
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
bleopt keymap_vi_mode_string_nmap=
6.3.11 設定変数 keymap_vi_operatorfunc
(v0.2)†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_operatorfunc=
オペレータ g@
で呼び出すオペレータ名を指定します。
関数 ble/keymap:vi/operator:$value
($value
はこの変数に指定された値)
がオペレータの実装として使用されます。
6.3.12 設定変数 keymap_vi_search_match_current
(空/非空) (v0.2)†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_search_match_current=
非空文字列が設定されている時 /, ?, n, N で
現在のカーソルの下にある単語に一致します。
空文字列が設定されている時は vim
の振る舞いに倣います。
6.3.13 設定変数 keymap_vi_imap_undo
(v0.3)†
undo
を記録する頻度を制御します。more
を設定すると vi_imap
に於ける様々な動作の折に undo
を記録します。
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_imap_undo=
# 設定例
bleopt keymap_vi_imap_undo=more
6.4 モジュール lib/vim-surround
†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
ble-import lib/vim-surround
6.4.1 設定変数 vim_surround_omap_bind
(空/非空)†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load after importing "lib/vim-surround"
# 既定値
bleopt vim_surround_omap_bind=1
空文字列の時、vi_nmap
で直接に各種のオペレータを束縛します。
非空文字列の時、
取り敢えず y, d, c に於いてオペレータ待機モードに入り、
オペレータ待機モードの s, S で各オペレータに委譲を行います。
指定した文字に対応する囲み文字列を設定します。
vim_surround_整数
の形式の設定では整数で指定される文字コードの文字に対する設定になります。
それ以外の vim_surround_?
の形式を用いる時、文字 ?
に対する設定になります。
設定値が CR ($'\r'
) を含む時、最初の CR より前の部分が左囲み文字列として使われ、
最初の CR より後の部分が右囲み文字列として使われます。
設定値が CR を含まない時、その設定値がそのまま左右の共通の囲み文字列として使われます。
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load after importing "lib/vim-surround"
# 既定値
bleopt vim_surround_45:=$'$(\r)'
bleopt vim_surround_61:=$'$((\r))'
bleopt vim_surround_Q:=\"
bleopt vim_surround_q:=\'
6.5 モジュール lib/vim-arpeggio
†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
ble-import lib/vim-arpeggio
6.5.1 設定変数 vim_arpeggio_timeoutlen
整数†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load after importing "lib/vim-arpeggio"
# 既定値
bleopt vim_arpeggio_timeoutlen=40
以降の ble/lib/vim-arpeggio.sh/bind
の際に使用する timeout (単位: ミリ秒) を指定します。
6.5.2 関数 ble/lib/vim-arpeggio.sh/bind
†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load after importing "lib/vim-arpeggio"
# 使用法
ble/lib/vim-arpeggio.sh/bind [-m KEYMAP] -[fxcs@] KEYS COMMAND
KEYS
にはキーの組み合わせを指定します。C-S-M-A-s-H-
等の修飾子とキー二文字の組み合わせです。
例えば KEYS
に jk
を指定した場合は j と k の二つのキーを同時に押した時の束縛を設定します。
また KEYS
に C-df
を指定した場合は C-d と C-f を同時に入力した時の束縛を設定します。
6.6 モジュール lib/vim-airline
(v0.4)†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load
ble-import lib/vim-airline
6.6.1 設定変数 vim_airline_theme
(Enumerate) (v0.4)†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load after importing "lib/vim-airline"
# 既定値
bleopt vim_airline_theme=dark
airline
のテーマを指定します。
利用できるテーマ名は contrib/airlinnnne/*.bash
のファイル名をご参照下さい。
6.6.2 設定変数 vim_airline_section_?
(Prompt string) (v0.4)†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load after importing "lib/vim-airline"
# 既定値
bleopt vim_airline_section_a='\e[1m\q{lib/vim-airline/mode}'
bleopt vim_airline_section_b='\q{lib/vim-airline/gitstatus}'
bleopt vim_airline_section_c='\w'
bleopt vim_airline_section_x='bash'
bleopt vim_airline_section_y='$_ble_util_locale_encoding[unix]'
bleopt vim_airline_section_z=' \q{history-percentile} \e[1m!\q{history-index}/\!\e[22m \q{position}'
これらの設定は airline
の対応するセクションの内容を指定します。
ariline
内のセクションは左から順に a
, b
, c
, x
, y
, z
になります。
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load after importing "lib/vim-airline"
# 既定値
bleopt vim_airline_left_sep=$'\uE0B0'
bleopt vim_airline_left_alt_sep=$'\uE0B1'
bleopt vim_airline_right_sep=$'\uE0B2'
bleopt vim_airline_right_alt_sep=$'\uE0B3'
セクション境界に用いられる文字を指定します。
left
及び right
を含む設定は、それぞれ a
-c
及び c
-z
の間のセクション境界に使われます。
2つの同じ背景色のセクションの境界には名前に sep
を含む設定が使われます。
それ以外の場合には、sep
を含まない設定が使われます。
6.6.4 設定変数 vim_airline_symbol_branch
(v0.4)†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load after importing "lib/vim-airline"
# 既定値
bleopt vim_airline_symbol_branch=$'\uE0A0'
ブランチ名の前に表示される文字を指定します。
6.6.5 設定変数 vim_airline_symbol_dirty
(v0.4)†
[ 注意: 以下の設定は keymap_vi_load
フックを通して設定する必要があります。
この節の初めのコード例 を御覧ください。 ]
# hook:keymap_vi_load after importing "lib/vim-airline"
# 既定値
bleopt vim_airline_symbol_dirty=$'\u26A1'
リポジトリに変更がある時にブランチ名の後に表示される文字を指定します。
6.6.6 描画設定 vim_airline_{a,b,c,x,y,z,error,term,warning}{,_normal,_insert,_replace,_visual,_commandline,_inactive}{,_modified}
(v0.4)†
# 既定値
ble-face -s vim_airline_a fg=17,bg=45
ble-face -s vim_airline_b fg=231,bg=27
ble-face -s vim_airline_c fg=231,bg=18
ble-face -s vim_airline_x ref:vim_airline_c
ble-face -s vim_airline_y ref:vim_airline_b
ble-face -s vim_airline_z ref:vim_airline_a
ble-face -s vim_airline_error fg=16,bg=88
ble-face -s vim_airline_term fg=158,bg=234
ble-face -s vim_airline_warning fg=16,bg=166
それぞれのセクションの様々な状態の描画属性を指定します。
[ 日本語 | English ] ≫ 説明書 [§1 基本 | §2 描画 | §3 束縛 | §4 編集 | §5 Emacs | §6 Vim | §7 補完 | §8 他 | 索引]