Ma question centrale est comment créer un mappage personnalisé qui permet le comptage et le mouvement. Mais j'aimerais que le compte prenne le pas sur la motion. Pour clarifier je veux ce qui suit pour travailler:Commande Vim avec comptage et mouvement possible?
[count][cmd]
- Faire quelque chose d'utile sur les lignes [count], et ne pas attendre [motion].
[cmd][motion]
- Faire quelque chose d'utile dans la plage de [mouvement] des lignes.
Mon scénario exact tente d'ajouter des commentaires aux lignes, mais j'utiliserais cette information pour d'autres mappages dans mon vimrc. Voici ce que j'ai jusqu'ici.
"comment motion of lines
nmap <silent> ,c :set opfunc=Comment<CR>[email protected]
"comment count lines
nmap <silent> ,cc :s/^/\/\//<CR>:noh<CR>
function! Comment(...)
silent exe "'[,']s/^/\\/\\//"
silent exe "noh"
endfunction
,c[motion]
Commentaires d'une ligne par mouvement. [count],cc
Commentaires une ligne par le nombre. Je voudrais ,c[motion]
et [count],c
pour fonctionner.
Est-ce possible?
EDIT: clarifié ma question. Changed "plage" à "compter"
avantage de créer des solutions encapsulées dans des fonctions est que vous pouvez maintenir une liste des sauts et des changements par la commande keepjumps' pour plus de détails: h keepjumps J'ai quelques fonctions qui utilisent cette fonction: https: // bitbucket.org/sergio/vimfiles/src/7e15525eed4a/vimrc – SergioAraujo
Je n'ai pas de problème pour garder les états de saut, merci. –
Par plage, voulez-vous dire un [compte] (http://vimdoc.sourceforge.net/htmldoc/intro.html#count), comme en tapant '5dd' pour supprimer cinq lignes en mode normal? Ou voulez-vous vraiment dire un [range] (http://vimdoc.sourceforge.net/htmldoc/cmdline.html#cmdline-ranges), comme taper ':.,. + 4d' pour supprimer cinq lignes en mode ex? – Andy