recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment écrire des fonctions dans vim avec lesquelles il est possible d'interagir sur la ligne de commande ?

nnoremap <leader>c :Ack '^class ' <c-r>=&path<cr><home><right><right><right><right><right><right><right><right><right><right><right><right>

L'idée générale est d'utiliser Ack pour rechercher un modèle sous &path path.

Le n*<right> dans cette cartographie est si laid, comment peut-il être optimisé ?

Avec l'aide de la communauté, je mets la méthode finale ci-dessous :

" help input

function! AckClass()
    let l:classPattern = input('Pattern: ')
    execute " Ack '^class " . l:classPattern . "' " . &path
endfunction

command! AckClass call AckClass()
phpcn_u1582phpcn_u15822778 Il y a quelques jours585

répondre à tous(1)je répondrai

  • PHPz

    PHPz2017-05-16 16:40:35

    Je ne sais pas dans quelle mesure vous souhaitez interagir

    function! ChangeFileencoding()
        let encodings = ['GB18030', 'GBK', 'cp936', 'utf-8', 'big5', "latin1", "euc-kr", "euc-jp", "ucs-bom", "shift-jis"]
        let prompt_encs = []
        let index = 0
        while index < len(encodings)
            call add(prompt_encs, index.'. '.encodings[index])
            let index = index + 1
        endwhile
        let choice = inputlist(prompt_encs)
        if choice >= 0 && choice < len(encodings)
            execute 'e ++enc='.encodings[choice].' %:p'
        endif
    endf

    C'est ma fonction vimrc qui modifie l'encodage et ouvre le fichier. Elle affichera une liste d'options pour votre référence

    .

    répondre
    0
  • Annulerrépondre