cari

Rumah  >  Soal Jawab  >  teks badan

vim - Bagaimana untuk menguruskan skrip ultisnips?

Fail php.snippets 里的 snippet...endsnippet 块越来越多;
越来越不方便管理,尤其是有些代码块很大时;
观察了下 honza/vim-snippets, didapati terdapat juga satu bahasa dan satu fail;

Adakah kaedah atau ubat rakyat untuk merawatnya?

淡淡烟草味淡淡烟草味2774 hari yang lalu807

membalas semua(2)saya akan balas

  • 巴扎黑

    巴扎黑2017-05-16 16:39:13

    Lihat dokumentasi
    Lihat dokumentasi
    Lihat dokumentasi
    https://github.com/SirVer/ultisnips/blob...

    Menggunakan strategi yang serupa dengan cara Vim mengesan |ftplugins|, UltiSnips
    menguasai direktori definisi coretan mencari fail
    dengan nama corak berikut: ft.snippet, ft_*.snippet, atau
    ft/, di mana "ft " ialah 'jenis fail' bagi dokumen semasa dan "" ialah
    kad liar seperti cangkerang yang sepadan dengan mana-mana rentetan termasuk rentetan kosong.
    Jadual berikut menunjukkan beberapa nama fail coretan biasa dan
    jenis fail yang berkaitan.

    snippet filename         filetype ~
    ruby.snippets            ruby
    perl.snippets            perl
    c.snippets               c
    c_my.snippets            c
    c/a                      c
    c/b.snippets             c
    all.snippets             *all
    all/a.snippets           *all

    Sebagai contoh, jika anda mempunyai sekumpulan coretan Ruby, anda boleh membahagikan coretan ini kepada fail yang berasingan Kemudian anda boleh mengurusnya melalui direktoriruby/*[.snippets], 也可以直接用文件管理ruby_*.snippets

    Sebenarnya, bagaimana anda menguruskan kod?

    balas
    0
  • PHP中文网

    PHP中文网2017-05-16 16:39:13

    Penyelesaian: lipatan (berdasarkan andaian berikut)

    Menurut tekaan saya, adalah diandaikan bahawa pengurusan anda yang menyusahkan merujuk kepada lebih banyak coretan blok, lebih panjang fail, dan ia tidak mudah untuk menyemak imbas

    .tetapan vimrc adalah seperti berikut

    set foldcolumn=1 "设置vim左侧1个宽度用来显示folds闭合状态"
    set foldmethod=syntax "folds根据语言来决定如何进行闭合"
    

    Arahan (dalam mod biasa):

    zR "打开所有folds"
    zM "关闭所有folds"
    zi "在以上两个命令间切换,其实是切换foldenable On/Off"
    

    Perbandingan sebelum dan selepas lipatan ditutup (melalui arahan di atas)

    Operasi: Mula-mula tutup semua blok coretan melalui arahan zM (fail menjadi sangat kecil, setiap coretan hanya memaparkan satu baris), kemudian semak imbas dengan mudah untuk mencari coretan yang anda perlukan (gerakkan kursor di sana), dan kemudian gunakan zR Or zi opens semua coretan. Pada masa ini, anda boleh melihat kandungan coretan ini
    Bonus: Selepas anda mengikuti operasi di atas, kursor harus berada di bahagian bawah tontonan.

    Akhir sekali, .vimrc ringkas dilampirkan untuk rujukan (Plugin diuruskan oleh Vundle):

    set nocompatible
    filetype off
    set rtp+=~/.vim/bundle/Vundle.vim
    
    call vundle#begin()
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Plugin goes here
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    Plugin 'VundleVim/Vundle.vim'
    Plugin 'tpope/vim-sensible'
    Plugin 'tpope/vim-fugitive'
    Plugin 'tpope/vim-commentary'
    Plugin 'tpope/vim-repeat'
    Plugin 'scrooloose/syntastic'
    Plugin 'tpope/vim-surround'
    Plugin 'vim-airline/vim-airline'
    Plugin 'vim-airline/vim-airline-themes'
    Plugin 'tomasr/molokai'
    Plugin 'morhetz/gruvbox'
    Plugin 'mattn/emmet-vim'
    Plugin 'SirVer/ultisnips'
    Plugin 'honza/vim-snippets'
    Plugin 'ctrlpvim/ctrlp.vim'
    Plugin 'scrooloose/nerdtree'
    Plugin 'mru.vim'
    Plugin 'rking/ag.vim'
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Plugin stops here
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    call vundle#end()
    
    filetype plugin indent on
    
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Tab Settings
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    set tabstop=4
    set shiftwidth=4
    set expandtab
    
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Colorscheme Settings
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    set background=dark
    if has('gui_running')
        colorscheme molokai
    else
        colorscheme slate
    endif
    
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Text
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    set linebreak
    set textwidth=500
    set wrap
    
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Other Settings
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    set number
    let mapleader=','
    set foldcolumn=1
    set foldmethod=syntax
    
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    " User ,ev to open .vimrc file
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    nmap <leader>ev :tabedit $MYVIMRC<CR>
    
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Automatically source .vimrc file
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    augroup source_vimrc
        autocmd!
        autocmd BufWritePost $MYVIMRC source $MYVIMRC
    augroup END
    
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    " CtrlP
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""
    let g:ctrlp_user_command = 'ag %s -i --nocolor --nogroup --hidden
        \ --ignore .git
        \ --ignore .svn
        \ --ignore .hg
        \ --ignore .DS_Store
        \ --ignore "**/*.pyc"
        \ -g ""'
    
    let g:ctrlp_working_path_mode=0
    let g:ctrlp_match_window='results=100'
    
    """"""""""""""""""""""""""""""
    " JavaScript section
    """""""""""""""""""""""""""""""
    au FileType javascript call JavaScriptFold()
    au FileType javascript setl fen
    au FileType javascript setl nocindent
    
    au FileType javascript imap <c-t> $log();<esc>hi
    au FileType javascript imap <c-a> alert();<esc>hi
    
    au FileType javascript inoremap <buffer> $r return 
    au FileType javascript inoremap <buffer> $f //--- PH ----------------------------------------------<esc>FP2xi
    
    function! JavaScriptFold() 
        setl foldmethod=syntax
        setl foldlevelstart=1
        syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend
    
        function! FoldText()
            return substitute(getline(v:foldstart), '{.*', '{...}', '')
        endfunction
        setl foldtext=FoldText()
    endfunction

    balas
    0
  • Batalbalas