搜尋

首頁  >  問答  >  主體

vim 怎麼寫 可以在命令列互動 的函數 ?

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

#大意是在 &path 路徑下使用 Ack 搜尋 pattern.

這條映射中的 n*<right> 醜死了, 可以怎麼優化下?

經過社區幫助, 我把最終的方法放到下面:

" help input

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

command! AckClass call AckClass()
phpcn_u1582phpcn_u15822776 天前583

全部回覆(1)我來回復

  • PHPz

    PHPz2017-05-16 16:40:35

    不知道你要互動到什麼程度

    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

    這是我的vimrc的換編碼開啟檔案的函數,會展現一個選項列表,供你參考

    回覆
    0
  • 取消回覆