У меня также был успех с использованием команды нескольких команд для достижения объединения команд в привязках.
Для этого вам не понадобится отдельный плагин, хотя вам нужно будет немного повторить ту же команду. Вот пример из моего файла связывания.
{
"keys": ["H"],
"command": "run_multiple_commands",
"args": {
"commands": [
{"command": "set_motion", "args": {
"motion": "vi_move_by_characters_in_line",
"motion_args": {"forward": false, "extend": true }}},
{"command": "set_motion", "args": {
"motion": "vi_move_by_characters_in_line",
"motion_args": {"forward": false, "extend": true }}},
{"command": "set_motion", "args": {
"motion": "vi_move_by_characters_in_line",
"motion_args": {"forward": false, "extend": true }}},
{"command": "set_motion", "args": {
"motion": "vi_move_by_characters_in_line",
"motion_args": {"forward": false, "extend": true }}},
{"command": "set_motion", "args": {
"motion": "vi_move_by_characters_in_line",
"motion_args": {"forward": false, "extend": true }}},
{"command": "set_motion", "args": {
"motion": "vi_move_by_characters_in_line",
"motion_args": {"forward": false, "extend": true }}},
{"command": "set_motion", "args": {
"motion": "vi_move_by_characters_in_line",
"motion_args": {"forward": false, "extend": true }}},
{"command": "set_motion", "args": {
"motion": "vi_move_by_characters_in_line",
"motion_args": {"forward": false, "extend": true }}},
{"command": "set_motion", "args": {
"motion": "vi_move_by_characters_in_line",
"motion_args": {"forward": false, "extend": true }}},
{"command": "set_motion", "args": {
"motion": "vi_move_by_characters_in_line",
"motion_args": {"forward": false, "extend": true }}},
]
},
"context": [{"key": "setting.command_mode"}]
},
Выглядит ужасно, я знаю, но это, видимо, стандартный способ переместить курсор назад на 10 строк.
Если бы был какой-то способ узнать, что вызов команды для того, что наберет "10h" в винтажном режиме, это было бы более элегантно.