Ви не можете.
Ось вихідний код C, що <C-w><C-i>
робить:
normal.c
:
/*
* This table contains one entry for every Normal or Visual mode command.
* The order doesn't matter, init_normal_cmds() will create a sorted index.
* It is faster when all keys from zero to '~' are present.
*/
static const struct nv_cmd
{
int cmd_char; /* (first) command character */
nv_func_T cmd_func; /* function for this command */
short_u cmd_flags; /* NV_ flags */
short cmd_arg; /* value for ca.arg */
} nv_cmds[] =
{
[...]
{Ctrl_W, nv_window, 0, 0},
};
[...]
/*
* CTRL-W: Window commands
*/
static void
nv_window(cmdarg_T *cap)
{
if (!checkclearop(cap->oap))
do_window(cap->nchar, cap->count0, NUL); /* everything is in window.c */
}
window.c
:
/*
* all CTRL-W window commands are handled here, called from normal_cmd().
*/
void
do_window(
[..]
) {
switch (nchar)
{
[..]
case 'i': /* Go to any match */
case Ctrl_I:
type = FIND_ANY;
/* FALLTHROUGH */
[..]
default: beep_flush();
break;
Я не зовсім впевнений, де ця type
змінна потрапляє, мені не здавалося, що я шукаю це, але справа в тому, що немає реальної можливості сказати "цей ключ відображений у цій функціональності". По суті, це лише те, struct
що відображає функцію char
a, а реалізація другого натискання клавіш ( <C-i>
) - це просто спеціальне неподобство!
Це відрізняється від Emacs, де (я припускаю) все є в Lisp, а ваші власні відображення нічим не відрізняються від відображень за замовчуванням Emacs. Але у Vim у вас є "магічні" відображення, які надаються кодом C, який відображає проти C функцій, які ніколи не виявляються у Vim. Я завжди кажу, що Vim має кращу ідею, але Emacs має кращу реалізацію ;-)
Тож єдиний спосіб - це шукати у файлах довідки. Ось чому я закрив це як дублікат статті Як перейти до тем документації Vim, оскільки це єдина практична відповідь, яку кожен може дати. Можна справді стверджувати, що можна було б дати більш поглиблене пояснення до цього питання (як я щойно робив), і якби ви стверджували, що замість того , щоб давати відповідь (тепер видалену), я, мабуть, сказав би "ви" знову право, вибачте за помилку "і знову відкрив її ;-)
У будь-якому випадку, щоб коротко проілюструвати конвенції з деякими прикладами:
:help w
- відображення у звичайному режимі для w
(залежно від регістру);
:help g8
- відображення нормального режиму для g8
;
:help v_o
- візуальне відображення режиму o
; інші режими призначені c
для командного рядка та i
для вставки;
:help CTRL-W
- відображення нормального режиму для <C-w>
;
:help i_CTRL-W
- відображення режиму вставлення <C-w>
;
:help CTRL-W_CTRL-I
- відображення нормального режиму для <C-w><C-i>
;
:help i_CTRL-G_<Down>
- вставити відображення режиму для <C-g><Down>
.