117 lines
4 KiB
VimL
117 lines
4 KiB
VimL
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => General configuration
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
set nu
|
|
set nofoldenable
|
|
set fileencodings=ucs-bom,utf-8,utf-16,gbk,big5,gb18030,latin1
|
|
|
|
if has('gui_running')
|
|
set lines=60 columns=108 linespace=0
|
|
if has('gui_win32')
|
|
set guifont=DejaVu_Sans_Mono:h10:cANSI
|
|
else
|
|
set guifont=DejaVu\ Sans\ Mono\ 10
|
|
endif
|
|
endif
|
|
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Setup Vundle and my plugins
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
set nocompatible " be iMproved, required
|
|
filetype off " required
|
|
|
|
" set the runtime path to include Vundle and initialize
|
|
set rtp+=~/.vim_runtime/bundle/Vundle.vim
|
|
call vundle#begin('~/.vim_runtime/bundle')
|
|
" alternatively, pass a path where Vundle should install plugins
|
|
"call vundle#begin('~/some/path/here')
|
|
|
|
" let Vundle manage Vundle, required
|
|
Plugin 'VundleVim/Vundle.vim'
|
|
|
|
" The following are examples of different formats supported.
|
|
" Keep Plugin commands between vundle#begin/end.
|
|
" plugin on GitHub repo
|
|
" Plugin 'tpope/vim-fugitive'
|
|
" plugin from http://vim-scripts.org/vim/scripts.html
|
|
" Plugin 'L9'
|
|
" Git plugin not hosted on GitHub
|
|
" Plugin 'git://git.wincent.com/command-t.git'
|
|
" git repos on your local machine (i.e. when working on your own plugin)
|
|
" Plugin 'file:///home/gmarik/path/to/plugin'
|
|
" The sparkup vim script is in a subdirectory of this repo called vim.
|
|
" Pass the path to set the runtimepath properly.
|
|
" Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
|
|
" Install L9 and avoid a Naming conflict if you've already installed a
|
|
" different version somewhere else.
|
|
" Plugin 'ascenator/L9', {'name': 'newL9'}
|
|
|
|
" My Plugins
|
|
Plugin 'plasticboy/vim-markdown'
|
|
|
|
" https://github.com/maksimr/vim-jsbeautify.git
|
|
Plugin 'maksimr/vim-jsbeautify'
|
|
autocmd FileType javascript noremap <buffer> <c-f> :call JsBeautify()<cr>
|
|
" for json
|
|
autocmd FileType json noremap <buffer> <c-f> :call JsonBeautify()<cr>
|
|
" for jsx
|
|
autocmd FileType jsx noremap <buffer> <c-f> :call JsxBeautify()<cr>
|
|
" for html
|
|
autocmd FileType html noremap <buffer> <c-f> :call HtmlBeautify()<cr>
|
|
" for css or scss
|
|
autocmd FileType css noremap <buffer> <c-f> :call CSSBeautify()<cr>
|
|
|
|
" All of your Plugins must bebundleore the following line
|
|
call vundle#end() " required
|
|
filetype plugin indent on " required
|
|
" To ignore plugin indent changes, instead use:
|
|
"filetype plugin on
|
|
"
|
|
" Brief help
|
|
" :PluginList - lists configured plugins
|
|
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
|
|
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
|
|
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
|
|
"
|
|
" see :h vundle for more details or wiki for FAQ
|
|
" Put your non-Plugin stuff after this line
|
|
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Prettify XML
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
function! DoPrettyXML()
|
|
" save the filetype so we can restore it later
|
|
let l:origft = &ft
|
|
set ft=
|
|
" delete the xml header if it exists. This will
|
|
" permit us to surround the document with fake tags
|
|
" without creating invalid xml.
|
|
1s/<?xml .*?>//e
|
|
" insert fake tags around the entire document.
|
|
" This will permit us to pretty-format excerpts of
|
|
" XML that may contain multiple top-level elements.
|
|
0put ='<PrettyXML>'
|
|
$put ='</PrettyXML>'
|
|
silent %!xmllint --format -
|
|
" xmllint will insert an <?xml?> header. it's easy enough to delete
|
|
" if you don't want it.
|
|
" delete the fake tags
|
|
2d
|
|
$d
|
|
" restore the 'normal' indentation, which is one extra level
|
|
" too deep due to the extra tags we wrapped around the document.
|
|
silent %<
|
|
" back to home
|
|
1
|
|
" restore the filetype
|
|
exe "set ft=" . l:origft
|
|
endfunction
|
|
command! PrettyXML call DoPrettyXML()
|
|
|
|
|
|
command! PrettyJson :execute '%!python -m json.tool'
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" => Plugins Configuration
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|