Fail php.snippets
里的 snippet...endsnippet 塊越來越多;
越來越不方便管理,尤其是有些代碼塊很大時(shí);
觀察了下 honza/vim-snippets
, didapati terdapat juga satu bahasa dan satu fail;
Adakah kaedah atau ubat rakyat untuk merawatnya?
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?
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
set foldcolumn=1 "設(shè)置vim左側(cè)1個(gè)寬度用來顯示folds閉合狀態(tài)"
set foldmethod=syntax "folds根據(jù)語言來決定如何進(jìn)行閉合"
zR "打開所有folds"
zM "關(guān)閉所有folds"
zi "在以上兩個(gè)命令間切換,其實(shí)是切換foldenable On/Off"
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.
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