-
-
Notifications
You must be signed in to change notification settings - Fork 86
Manual §6 Vim Mode
[ 日本語 | English ] ≫ Manual [§1 Intro | §2 Color | §3 Bind | §4 Edit | §5 Emacs | §6 Vim | §7 Comp | §8 Misc
In Vim editing mode, the base keymap is insert mode vi_imap
,
and other modes such as normal mode vi_nmap
, operator-pending mode vi_omap
,
visual mode vi_xmap
, select mode vi_smap
and command-line mode vi_cmap
can be entered through various key operations.
Most of the operations available in vi_imap
are described in §4 Edit.
In vi_nmap
, vi_omap
and vi_xmap
, an integer argument called count can be specified for the succeeding command.
Key combination | 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 |
When no count has been specified, 0 behaves as a motion to the beginning of the line. The key from 1 to 9 specifies a new count. When count is specified, the key from 0 to 9 adds a new digit to the existing count. The interpretation of count depends on the succeeding command.
In vi_nmap
and vi_xmap
, a register for the succeeding command can be set.
Key combination | Widget | Description |
---|---|---|
" {char} | vi-command/register |
Set register |
In vi_nmap
, vi_omap
and vi_xmap
, various operators are available.
When the operator is called in vi_nmap
, it enters vi_omap
after recording the operator.
When the operator is called in vi_xmap
, the operator is applied to the selected region.
When the operator is called in vi_omap
, the operator is applied to the current line if the operator matches with the recorded one.
Key combination | Widget | Description |
---|---|---|
y | vi-command/operator y |
Copy |
d x, delete (vi_xmap) |
vi-command/operator d |
Cut |
c s (vi_xmap) |
vi-command/operator c |
Cut and enter insert mode |
< | vi-command/operator indent-left |
Increase indentation |
> | vi-command/operator indent-right |
Decrease indentation |
! | vi-command/operator filter |
Filter by specified command |
g ~ ~ (vi_omap/vi_xmap) |
vi-command/operator toggle_case |
Toggle cases |
g u u (vi_omap/vi_xmap) |
vi-command/operator u |
Convert to lowercase |
g U U (vi_omap/vi_xmap) |
vi-command/operator U |
Convert to uppercase |
g ? ? (vi_omap) |
vi-command/operator rot13 |
Encrypt by rot13 |
g q q (vi_omap) |
vi-command/operator fold |
Fold lines to fit into some width |
g w | vi-command/operator fold-preserve-point |
Fold lines to fit into some width and go to the original position in the text |
g @ | vi-command/operator map |
See bleopt keymap_vi_operatorfunc
|
Motion is a type of command that moves the cursor position which may be combined with operators.
Motion can be used in vi_nmap
, vi_omap
and vi_xmap
.
When a motion is called in vi_nmap
and vi_xmap
, the cursor is moved to the corresponding position.
When a motion is called in vi_omap
,
the recorded operator is applied to the region between the current position and the target position, and then it turns back to vi_nmap
.
Motion to the beginning or end of the line
Key combination | 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 |
Characterwise motion
Key combination | 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 |
Linewise motion
Key combination | 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 |
Wordwise motion
Key combination | 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 |
Other motion
Key combination | Widget | Type | Description |
---|---|---|---|
g o | vi-command/nth-byte |
exclusive | Move before the character that includes N [1]th byte |
| | vi-command/nth-column |
exclusive | Move to the N [1]th column |
H | vi-command/nth-line |
linewise/jump | Go to the non-space beginning of the N [1]th line counting from the top |
L | vi-command/nth-last-line |
linewise/jump | Go to the non-space beginning of the N [1]th line counting from the bottom |
g g | vi-command/history-beginning |
linewise | Load the N [1]th history entry (nmap) / Operate until the non-space beginning of the N [1]th line (omap) |
G | vi-command/history-end |
linewise | Load the N th[last] history entry (nmap) / Operate until the non-space beginning of the N th[last] line (omap) |
C-home | vi-command/first-nol |
linewise | Go to the non-space beginning of the N [1]th line |
C-end | vi-command/last-eol |
inclusive | Go to the end of the N th[last] line |
Motion to corresonding brackets
Key combination | Widget | Type |
---|---|---|
% | vi-command/search-matchpair-or vi-command/percentage-line |
inclusive or linewise |
When count is not specified, it moves to the corresponding bracket. When count is specified, it moves to the line at the position in the document specified by count as percentile.
Character search
Key combination | 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 |
String search
Key combination | 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 |
Motion to marks
Key combination | Widget | Type |
---|---|---|
` {char} | vi-command/goto-mark |
exclusive |
' {char} | vi-command/goto-mark line |
exclusive |
The text objects are available in vi_omap
and vi_xmap
.
When text objects are used in vi_omap
, the recorded operator is applied to the specified target.
When text objects are used in vi_xmap
, the selection is extended to include the specified target.
Key combination | Widget |
---|---|
i {char} | vi-command/text-object |
a {char} | vi-command/text-object |
{char} |
Description |
---|---|
w | Word (characters of the same kind) |
W | Word (non-space characters) |
" | Range enclosed by double quotations |
' | Range enclosed by single quotations |
` | Range enclosed by back quotations |
(, ), b | Range enclosed by parens (..) |
{, }, B | Range enclosed by braces {..} |
<, > | Range enclosed by angle brackets <..> |
[, ] | Range enclosed by brackets [..] |
t | Range enclosed by HTML tags |
s | Sentence (separated by periods) |
p | Paragraph (separated by double new lines) |
The following commands are available in vi_nmap
, vi_omap
and vi_xmap
.
Key combination | Widget | Description |
---|---|---|
: | vi-command/commandline |
Enter command-line mode |
The following commands are available in any of vi_nmap
, vi_omap
, vi_xmap
and vi_smap
.
Key combination | Widget | Description |
---|---|---|
C-z | (shell command) fg
|
fg コマンドの実行 |
paste_begin | vi-command/bracketed-paste |
(内部用途) |
挿入モードには細かく見ると (通常の) 挿入モード、置換モード、仮想置換モードがあります。 挿入モードのキー操作は以下を除いて殆ど「4. コマンドライン編集」で述べたものと同様です。
モード変更
Key combination | Widget | Description |
---|---|---|
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 |
単一コマンドモード |
編集
Key combination | Widget | Description |
---|---|---|
C-w | vi_imap/delete-backward-word |
単語削除 |
SP | magic-space |
各種展開の後、スペース挿入 |
シェル操作
Key combination | Widget | Description |
---|---|---|
C-j, C-RET | accept-line |
コマンド実行 |
C-m, RET | vi_imap/accept-single-line-or vi_imap/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 |
コマンドを編集して実行 |
内部用途
Key combination | Widget |
---|---|
__attach__ | vi_imap/__attach__ |
__default__ | vi_imap/__default__ |
__before_widget__ | vi_imap/__before_widget__ |
ノーマルモードには通常のノーマルモードの他に単一コマンドモードがあります。 単一コマンドモードではコマンドを一つ実行すると元の挿入モードに戻ります。
キャンセル
Key combination | Widget | Description |
---|---|---|
ESC, C-[ | vi-command/bell |
ベル |
C-c | vi-command/cancel |
キャンセル |
モード切替に関する操作
Key combination | Widget | Description |
---|---|---|
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 矩形選択モード |
行単位の操作
Key combination | Widget | Description |
---|---|---|
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 |
行を連結 |
スクロール
Key combination | Widget | Description |
---|---|---|
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頁]前に移動してスクロール |
文字単位の操作
Key combination | Widget | Description |
---|---|---|
~ | 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 |
現在の文字を仮想置換 |
整数の操作
Key combination | Widget | Description |
---|---|---|
C-a | vi_nmap/increment |
整数をN[1]増やす |
C-x | vi_nmap/decrement |
整数をN[1]減らす |
レジスタ・貼り付け・記録・再生
Key combination | Widget | Description |
---|---|---|
p | vi_nmap/paste-after |
現在位置の次に挿入 |
P | vi_nmap/paste-before |
現在位置の前に挿入 |
q {char} | vi_nmap/record-register |
マクロの記録開始 |
@ {char} | vi_nmap/play-register |
マクロの再生 |
やり直し・繰り返し
Key combination | Widget | Description |
---|---|---|
. | vi_nmap/repeat |
直前の編集を繰り返し |
u | vi_nmap/undo |
元に戻す |
C-r | vi_nmap/redo |
やり直す |
U | vi_nmap/revert |
完全に元に戻す |
マーク
Key combination | Widget | Description |
---|---|---|
m {char} | vi-command/set-mark |
現在位置にマーク |
再描画・情報表示
Key combination | 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 |
シェルの操作
Key combination | Widget | Description |
---|---|---|
C-j, C-RET | vi-command/accept-line |
コマンド実行 |
C-m, RET | vi-command/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 |
シェルを終了する |
内部用途
Key combination | Widget |
---|---|
__default__ | vi-command/decompose-meta |
auto_complete_enter | auto-complete-enter |
Key combination | Widget | Description |
---|---|---|
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__ |
(内部用途) |
ビジュアルモードには細かく見ると (文字指向の) ビジュアルモード、行ビジュアルモード、矩形ビジュアルモードがあります。
モード変更
Key combination | Widget | Description |
---|---|---|
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 |
選択モード |
移動
Key combination | Widget |
---|---|
o | vi_xmap/exchange-points |
O | vi_xmap/exchange-boundaries |
コピー・貼り付け・矩形挿入
Key combination | Widget | Description |
---|---|---|
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 |
前に貼り付けて、内容を切り取り |
範囲内の変換
Key combination | Widget | Description |
---|---|---|
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増やす |
シェルの操作
Key combination | Widget | Description |
---|---|---|
f1, K | vi_xmap/command-help |
現在位置のコマンドのヘルプを表示する |
内部用途
Key combination | Widget |
---|---|
__default__ | vi-command/decompose-meta |
選択モードには細かく見ると (文字指向の) 選択モード、行選択モード、矩形選択モードがあります。
モード変更
Key combination | Widget | Description |
---|---|---|
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 |
ビジュアルモード |
移動: 文字単位
Key combination | 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 |
移動: 単語単位
Key combination | 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 |
移動: 行頭・行末
Key combination | 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 |
移動: 行単位
Key combination | 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 |
編集
Key combination | Widget | Description |
---|---|---|
__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減らす |
シェルの操作
Key combination | Widget | Description |
---|---|---|
f1 | vi_xmap/command-help |
現在位置のコマンドのヘルプを表示 |
内部用途
Key combination | Widget |
---|---|
__default__ | vi-command/decompose-meta |
Vim 編集モードの設定は hook keymap_vi_load
経由で実行する必要があります。
# blerc (例)
function my/vim-load-hook {
bleopt keymap_vi_nmap_name:=$'\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
# hook:keymap_vi_load
# 既定値
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=
# 設定例
bleopt keymap_vi_cmap_cursor=0
bleopt keymap_vi_imap_cursor=5
bleopt keymap_vi_nmap_cursor=2
bleopt keymap_vi_omap_cursor=4
bleopt keymap_vi_smap_cursor=2
bleopt keymap_vi_xmap_cursor=2
これらの設定変数は各モードにおけるカーソルの形状を制御します。
設定変数 term_cursor_external
と同様の指定方法です。
# 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=
これらの設定変数は各モードに入った時に端末に送信するシーケンスを設定します。
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_keymodel=
選択モードにおける移動コマンドの振る舞いを制御します。
カンマ区切りの単語のリストです。
単語 stopsel
が含まれている時、
選択モードの移動コマンドで選択モードを抜けます。
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_macro_depth=64
キーボードマクロ再生の再帰の深さの上限を指定します。
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_nmap_name=$'\e[1m~\e[m'
ノーマルモードで編集文字列下部に表示する文字列を指定します。 例えば、他のモードと同様に明示的にモード名を表示するには以下の様にします。
# hook:keymap_vi_load
bleopt keymap_vi_nmap_name=
または、ノーマルモードではモード名を表示しないという場合には以下の様にします。
# hook:keymap_vi_load
bleopt keymap_vi_nmap_name=
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_operatorfunc=
オペレータ g@
で呼び出すオペレータ名を指定します。
関数 ble/keymap:vi/operator:$value
($value
はこの変数に指定された値)
がオペレータの実装として使用されます。
# hook:keymap_vi_load
# 既定値
bleopt keymap_vi_search_match_current=
非空文字列が設定されている時 /, ?, n, N で
現在のカーソルの下にある単語に一致します。
空文字列が設定されている時は vim
の振る舞いに倣います。
undo
を記録する頻度を制御します。more
を設定すると vi_imap
に於ける様々な動作の折に undo
を記録します。
# 既定値
bleopt keymap_vi_imap_undo=
# 設定例
bleopt keymap_vi_imap_undo=more
# hook:keymap_vi_load
source "$_ble_base/lib/vim-surround.sh"
# hook:keymap_vi_load after source of "vim-surround.sh"
# 既定値
bleopt vim_surround_omap_bind=1
空文字列の時、vi_nmap
で直接に各種のオペレータを束縛します。
非空文字列の時、
取り敢えず y, d, c に於いてオペレータ待機モードに入り、
オペレータ待機モードの s, S で各オペレータに委譲を行います。
指定した文字に対応する囲み文字列を設定します。
vim_surround_整数
の形式の設定では整数で指定される文字コードの文字に対する設定になります。
それ以外の vim_surround_?
の形式を用いる時、文字 ?
に対する設定になります。
設定値が CR ($'\r'
) を含む時、最初の CR より前の部分が左囲み文字列として使われ、
最初の CR より後の部分が右囲み文字列として使われます。
設定値が CR を含まない時、その設定値がそのまま左右の共通の囲み文字列として使われます。
# hook:keymap_vi_load after source of "vim-surround.sh"
# 既定値
bleopt vim_surround_45:=$'$(\r)'
bleopt vim_surround_61:=$'$((\r))'
bleopt vim_surround_Q:=\"
bleopt vim_surround_q:=\'
# hook:keymap_vi_load
source "$_ble_base/lib/vim-arpeggio.sh"
# hook:keymap_vi_load after source of "vim-arpeggio.sh"
# 既定値
bleopt vim_arpeggio_timeoutlen=40
以降の ble/lib/vim-arpeggio.sh/bind
の際に使用する timeout (単位: ミリ秒) を指定します。
# hook:keymap_vi_load after source of "vim-arpeggio.sh"
# 使用法
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 を同時に入力した時の束縛を設定します。
[ 日本語 | English ] ≫ Manual [§1 Intro | §2 Color | §3 Bind | §4 Edit | §5 Emacs | §6 Vim | §7 Comp | §8 Misc