国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

vim - 怎樣管理 ultisnips 腳本 ?
淡淡煙草味
淡淡煙草味 2017-05-16 16:37:13
0
2
917

檔案php.snippets 裡的snippet...endsnippet 區(qū)塊越來(lái)越多;
越來(lái)越不方便管理,尤其是有些程式碼區(qū)塊很大時(shí);
觀察了下honza/vim-snippets, 發(fā)現(xiàn)也是一個(gè)語(yǔ)言一個(gè)檔案;

是否有方法或偏方治理下?

淡淡煙草味
淡淡煙草味

全部回覆(2)
巴扎黑

看文件
看文件
看文件
https://github.com/SirVer/ultisnips/blob...

Using a strategy similar to how Vim detects |ftplugins|, UltiSnips
iterates over the snippet definition directories looking for files
with names of the following patterns: ft.snippets, ft.snipp. " is the 'filetype' of the current document and "
" isa shell-like wildcard matching any string including the empty string.The following table shows some typical ipty string.
The following table shows some typical ippet filenames snippet file.

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


例如你有一堆ruby的snippet, 你可以分割這些snippet到單獨(dú)的檔案. 然後可以透過(guò)目錄管理

其實(shí), 你是怎麼管理程式碼的呢?ruby/*[.snippets], 也可以直接用文件管理ruby_*.snippets

洪濤

解決方案:folding(根據(jù)以下假設(shè))

根據(jù)我的猜測(cè),假定你的不方便管理指的是snippets塊越多,文件越長(zhǎng),瀏覽起來(lái)不太容易

.vimrc設(shè)定如下

set foldcolumn=1 "設(shè)置vim左側(cè)1個(gè)寬度用來(lái)顯示folds閉合狀態(tài)"
set foldmethod=syntax "folds根據(jù)語(yǔ)言來(lái)決定如何進(jìn)行閉合"

指令(normal模式下):

zR "打開(kāi)所有folds"
zM "關(guān)閉所有folds"
zi "在以上兩個(gè)命令間切換,其實(shí)是切換foldenable On/Off"

folds閉合前後對(duì)比(透過(guò)以上指令)

操作:先透過(guò)zM指令把所有snippets區(qū)塊閉合(檔案變得很小,每個(gè)snippets只顯示一行),然後方便的進(jìn)行瀏覽,找到你需要的snippets(將遊標(biāo)移至該處),然後在zR或者zi將所有snippets打開(kāi),此時(shí),你就可以查看這個(gè)snippets的內(nèi)容了;
Bonus:當(dāng)你按照上述操作之後,遊標(biāo)應(yīng)該在最底下,用命令zz就可以將內(nèi)容移至屏幕中部,方便查看

最後附上簡(jiǎn)單的.vimrc供參考(Plugin用Vundle進(jìn)行管理):

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
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板