Eu também tive sucesso usando o comando de vários comandos para alcançar concatenação de comandos em ligações.
Você não precisará de um plugin separado para isso, mas precisará repetir o mesmo comando um pouco. Aqui está um exemplo do meu arquivo de ligação.
{
"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"}]
},
Parece horrível, eu sei, mas esta é aparentemente a maneira padrão de fazer seu cursor voltar 10 linhas.
Se houvesse alguma maneira de descobrir qual é a invocação do comando para qualquer digitação "10h" no modo antigo, isso seria mais elegante.