mirror of https://github.com/einverne/dotfiles.git
				
				
			
				 7 changed files with 486 additions and 6 deletions
			
			
		@ -0,0 +1,3 @@ | 
				
			|||||||
 | 
					[submodule ".vim/bundle/Vundle.vim"] | 
				
			||||||
 | 
						path = .vim/bundle/Vundle.vim | 
				
			||||||
 | 
						url = https://github.com/VundleVim/Vundle.vim.git | 
				
			||||||
@ -0,0 +1,90 @@ | 
				
			|||||||
 | 
					" vimrc file for following the coding standards specified in PEP 7 & 8. | 
				
			||||||
 | 
					" | 
				
			||||||
 | 
					" To use this file, source it in your own personal .vimrc file (``source | 
				
			||||||
 | 
					" <filename>``) or, if you don't have a .vimrc file, you can just symlink to it | 
				
			||||||
 | 
					" (``ln -s <this file> ~/.vimrc``).  All options are protected by autocmds | 
				
			||||||
 | 
					" (read below for an explanation of the command) so blind sourcing of this file | 
				
			||||||
 | 
					" is safe and will not affect your settings for non-Python or non-C files. | 
				
			||||||
 | 
					" | 
				
			||||||
 | 
					" | 
				
			||||||
 | 
					" All setting are protected by 'au' ('autocmd') statements.  Only files ending | 
				
			||||||
 | 
					" in .py or .pyw will trigger the Python settings while files ending in *.c or | 
				
			||||||
 | 
					" *.h will trigger the C settings.  This makes the file "safe" in terms of only | 
				
			||||||
 | 
					" adjusting settings for Python and C files. | 
				
			||||||
 | 
					" | 
				
			||||||
 | 
					" Only basic settings needed to enforce the style guidelines are set. | 
				
			||||||
 | 
					" Some suggested options are listed but commented out at the end of this file. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Number of spaces that a pre-existing tab is equal to. | 
				
			||||||
 | 
					" For the amount of space used for a new tab use shiftwidth. | 
				
			||||||
 | 
					au BufRead,BufNewFile *py,*pyw,*.c,*.h set tabstop=8 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" What to use for an indent. | 
				
			||||||
 | 
					" This will affect Ctrl-T and 'autoindent'. | 
				
			||||||
 | 
					" Python: 4 spaces | 
				
			||||||
 | 
					" C: tabs (pre-existing files) or 4 spaces (new files) | 
				
			||||||
 | 
					au BufRead,BufNewFile *.py,*pyw set shiftwidth=4 | 
				
			||||||
 | 
					au BufRead,BufNewFile *.py,*.pyw set expandtab | 
				
			||||||
 | 
					fu! Select_c_style() | 
				
			||||||
 | 
					    if search('^\t', 'n', 150) | 
				
			||||||
 | 
					        set shiftwidth=8 | 
				
			||||||
 | 
					        set noexpandtab | 
				
			||||||
 | 
					    el  | 
				
			||||||
 | 
					        set shiftwidth=4 | 
				
			||||||
 | 
					        set expandtab | 
				
			||||||
 | 
					    en | 
				
			||||||
 | 
					endf | 
				
			||||||
 | 
					au BufRead,BufNewFile *.c,*.h call Select_c_style() | 
				
			||||||
 | 
					au BufRead,BufNewFile Makefile* set noexpandtab | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Use the below highlight group when displaying bad whitespace is desired. | 
				
			||||||
 | 
					highlight BadWhitespace ctermbg=red guibg=red | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Display tabs at the beginning of a line in Python mode as bad. | 
				
			||||||
 | 
					au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/ | 
				
			||||||
 | 
					" Make trailing whitespace be flagged as bad. | 
				
			||||||
 | 
					au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/ | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Wrap text after a certain number of characters | 
				
			||||||
 | 
					" Python: 79  | 
				
			||||||
 | 
					" C: 79 | 
				
			||||||
 | 
					au BufRead,BufNewFile *.py,*.pyw,*.c,*.h set textwidth=79 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Turn off settings in 'formatoptions' relating to comment formatting. | 
				
			||||||
 | 
					" - c : do not automatically insert the comment leader when wrapping based on | 
				
			||||||
 | 
					"    'textwidth' | 
				
			||||||
 | 
					" - o : do not insert the comment leader when using 'o' or 'O' from command mode | 
				
			||||||
 | 
					" - r : do not insert the comment leader when hitting <Enter> in insert mode | 
				
			||||||
 | 
					" Python: not needed | 
				
			||||||
 | 
					" C: prevents insertion of '*' at the beginning of every line in a comment | 
				
			||||||
 | 
					au BufRead,BufNewFile *.c,*.h set formatoptions-=c formatoptions-=o formatoptions-=r | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Use UNIX (\n) line endings. | 
				
			||||||
 | 
					" Only used for new files so as to not force existing files to change their | 
				
			||||||
 | 
					" line endings. | 
				
			||||||
 | 
					" Python: yes | 
				
			||||||
 | 
					" C: yes | 
				
			||||||
 | 
					au BufNewFile *.py,*.pyw,*.c,*.h set fileformat=unix | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" auto add #! /usr/bin/env python | 
				
			||||||
 | 
					autocmd BufNewfile *.py call append(0,'#!/usr/bin/env python') | 
				
			||||||
 | 
					autocmd BufNewfile *.py call append(1,'# -*- coding: UTF-8 -*-') | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" ---------------------------------------------------------------------------- | 
				
			||||||
 | 
					" The following section contains suggested settings.  While in no way required | 
				
			||||||
 | 
					" to meet coding standards, they are helpful. | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Set the default file encoding to UTF-8: ``set encoding=utf-8`` | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Puts a marker at the beginning of the file to differentiate between UTF and | 
				
			||||||
 | 
					" UCS encoding (WARNING: can trick shells into thinking a text file is actually | 
				
			||||||
 | 
					" a binary file when executing the text file): ``set bomb`` | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" For full syntax highlighting: | 
				
			||||||
 | 
					"``let python_highlight_all=1`` | 
				
			||||||
 | 
					"``syntax on`` | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Automatically indent based on file type: ``filetype indent on`` | 
				
			||||||
 | 
					" Keep indentation level from previous line: ``set autoindent`` | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Folding based on indentation: ``set foldmethod=indent`` | 
				
			||||||
@ -0,0 +1,45 @@ | 
				
			|||||||
 | 
					set nocompatible              " be iMproved, required | 
				
			||||||
 | 
					filetype off                  " required | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" set the runtime path to include Vundle and initialize | 
				
			||||||
 | 
					if has("win32") | 
				
			||||||
 | 
						set rtp+=$VIM/vimfiles/bundle/Vundle.vim | 
				
			||||||
 | 
						call vundle#begin('$VIM/vimfiles/bundle') | 
				
			||||||
 | 
					else | 
				
			||||||
 | 
						set rtp+=~/.vim/bundle/Vundle.vim | 
				
			||||||
 | 
						call vundle#begin() | 
				
			||||||
 | 
					endif | 
				
			||||||
 | 
					" alternatively, pass a path where Vundle should install plugins | 
				
			||||||
 | 
					"call vundle#begin('~/some/path/here') | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" let Vundle manage Vundle, required | 
				
			||||||
 | 
					Plugin 'gmarik/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 'vim-perl/vim-perl' | 
				
			||||||
 | 
					Plugin 'godlygeek/tabular' | 
				
			||||||
 | 
					Plugin 'plasticboy/vim-markdown' | 
				
			||||||
 | 
					Plugin 'scrooloose/nerdtree' | 
				
			||||||
 | 
					Plugin 'davidhalter/jedi-vim' | 
				
			||||||
 | 
					Plugin 'ervandew/supertab' | 
				
			||||||
 | 
					Plugin 'Raimondi/delimitMate' | 
				
			||||||
 | 
					"show tabs | 
				
			||||||
 | 
					Plugin 'nathanaelkane/vim-indent-guides' | 
				
			||||||
 | 
					Plugin 'vim-scripts/taglist.vim' | 
				
			||||||
 | 
					" Plugin 'powerline/powerline', {'rtp': 'powerline/bindings/vim/'} | 
				
			||||||
 | 
					" Plugin 'Lokaltog/vim-powerline' | 
				
			||||||
 | 
					" Plugin 'bling/vim-airline' | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" plugin from http://vim-scripts.org/vim/scripts.html | 
				
			||||||
 | 
					Plugin 'L9' | 
				
			||||||
 | 
					Plugin 'perl-support.vim' | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Git plugin not hosted on GitHub | 
				
			||||||
 | 
					Plugin 'git://git.wincent.com/command-t.git' | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					call vundle#end()            " required | 
				
			||||||
 | 
					filetype plugin indent on    " required | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,302 @@ | 
				
			|||||||
 | 
					"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" => Judge current OS is Windows or Linux | 
				
			||||||
 | 
					"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					if(has("win32") || has("win64") || has("win95") || has("win16")) | 
				
			||||||
 | 
						let g:iswindows = 1 | 
				
			||||||
 | 
					else | 
				
			||||||
 | 
						let g:iswindows = 0 | 
				
			||||||
 | 
					endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" => Judge current process is vim or gvim | 
				
			||||||
 | 
					"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					if has("gui_running") | 
				
			||||||
 | 
						let g:isGUI = 1 | 
				
			||||||
 | 
					else | 
				
			||||||
 | 
						let g:isGUI = 0 | 
				
			||||||
 | 
					endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" 引用vundle_vimrc | 
				
			||||||
 | 
					" 引用python_vimrc配置文件 | 
				
			||||||
 | 
					if g:iswindows | 
				
			||||||
 | 
						source $VIM/vundle_vimrc | 
				
			||||||
 | 
						source $VIM/python_vimrc | 
				
			||||||
 | 
					else | 
				
			||||||
 | 
						source ~/.vim/startup/vundle_vimrc | 
				
			||||||
 | 
						source ~/.vim/startup/python_vimrc | 
				
			||||||
 | 
					endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source $VIMRUNTIME/vimrc_example.vim | 
				
			||||||
 | 
					source $VIMRUNTIME/mswin.vim | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" => General | 
				
			||||||
 | 
					""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" Sets how many lines of history VIM has to remember | 
				
			||||||
 | 
					set history=1000 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" set to auto read when a file is changed outside | 
				
			||||||
 | 
					set autoread | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" with a map leader it's possible to do extra key combinations | 
				
			||||||
 | 
					" like <leader>w saves the current file | 
				
			||||||
 | 
					let mapleader = "," | 
				
			||||||
 | 
					let g:mapleader = "," | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" fast saving | 
				
			||||||
 | 
					nmap <leader>w :w!<cr> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"编辑vimrc之后,重新加载 | 
				
			||||||
 | 
					if g:iswindows | 
				
			||||||
 | 
						autocmd! bufwritepost _vimrc source $VIM/_vimrc | 
				
			||||||
 | 
					else | 
				
			||||||
 | 
						autocmd! bufwritepost *.vimrc source $HOME/.vimrc | 
				
			||||||
 | 
					endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" => VIM user interface | 
				
			||||||
 | 
					""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" set 8 lines to the cursor - when moving vertically using j/k | 
				
			||||||
 | 
					" j/k移动时光标距离文件上下n行 缩写 set so = 8 | 
				
			||||||
 | 
					set scrolloff=8 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" gVim automatically maximize when it open | 
				
			||||||
 | 
					" 启动时最大化gVim | 
				
			||||||
 | 
					" http://superuser.com/questions/140419/how-to-start-gvim-maximized | 
				
			||||||
 | 
					au GUIEnter * simalt ~x | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" 如下命令使鼠标用起来象微软 Windows | 
				
			||||||
 | 
					behave mswin | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" 高亮整行 | 
				
			||||||
 | 
					set cursorline | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" always show current position | 
				
			||||||
 | 
					set ruler | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" height of the command bar | 
				
			||||||
 | 
					set cmdheight=2 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" in many terminal emulators the mouse works just fine, thus enable it | 
				
			||||||
 | 
					if has('mouse') | 
				
			||||||
 | 
						set mouse=a | 
				
			||||||
 | 
					endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Ignore case when searching 忽略大小写 | 
				
			||||||
 | 
					set ignorecase | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" When searching try to be smart about cases  | 
				
			||||||
 | 
					set smartcase | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Highlight search results | 
				
			||||||
 | 
					set hlsearch | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Makes search act like search in modern browsers | 
				
			||||||
 | 
					set incsearch | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" for regular expressions turn magic on | 
				
			||||||
 | 
					set magic | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set showcmd | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if has('multi_byte_ime') | 
				
			||||||
 | 
						"未开启IME时光标背景色 | 
				
			||||||
 | 
						hi Cursor guifg=bg guibg=Orange gui=NONE | 
				
			||||||
 | 
						"开启IME时光标背景色 | 
				
			||||||
 | 
						hi CursorIM guifg=NONE guibg=Skyblue gui=NONE | 
				
			||||||
 | 
						" 关闭Vim的自动切换IME输入法(插入模式和检索模式) | 
				
			||||||
 | 
						set iminsert=0 imsearch=0 | 
				
			||||||
 | 
						" 插入模式输入法状态未被记录时,默认关闭IME | 
				
			||||||
 | 
						"inoremap <silent> <ESC> <ESC>:set iminsert=0<CR> | 
				
			||||||
 | 
					endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" => Colors and Fonts | 
				
			||||||
 | 
					""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					"语法高亮 | 
				
			||||||
 | 
					syntax on | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" using monokai color | 
				
			||||||
 | 
					" there should be molokai.vim file under ~/vimfile/colors/ | 
				
			||||||
 | 
					" https://github.com/tomasr/molokai | 
				
			||||||
 | 
					colorscheme molokai | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"vim内部编码 | 
				
			||||||
 | 
					set encoding=utf-8 | 
				
			||||||
 | 
					" set current file encoding | 
				
			||||||
 | 
					set fileencoding=utf-8 | 
				
			||||||
 | 
					"按照utf-8 without bom,utf-8,顺序识别打开文件 | 
				
			||||||
 | 
					set fileencodings=ucs-bom,utf-8,gbk,gb2312,cp936,big5,gb18030,shift-jis,latin1 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"防止菜单乱码 | 
				
			||||||
 | 
					if(g:iswindows && g:isGUI) | 
				
			||||||
 | 
					    source $VIMRUNTIME/delmenu.vim | 
				
			||||||
 | 
					    source $VIMRUNTIME/menu.vim | 
				
			||||||
 | 
					    language messages zh_CN.utf-8 | 
				
			||||||
 | 
					endif | 
				
			||||||
 | 
					"默认以双字节处理那些特殊字符 | 
				
			||||||
 | 
					if v:lang =~? '^\(zh\)\|\(ja\)\|\(ko\)' | 
				
			||||||
 | 
					    set ambiwidth=double | 
				
			||||||
 | 
					endif | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set nobomb "不自动设置字节序标记 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set guifont=Courier\ New\:h12 | 
				
			||||||
 | 
					" set guifont=Droid\ Sans\ Mono\ for\ Powerline\:h12 | 
				
			||||||
 | 
					set guifontwide=NSimsun\:h12 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" => Files, backups and undo | 
				
			||||||
 | 
					""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" Turn backup off, since most stuff is in SVN, git et.c anyway... | 
				
			||||||
 | 
					" no backup file, no write backup file, no swap file | 
				
			||||||
 | 
					set nobackup | 
				
			||||||
 | 
					set nowb | 
				
			||||||
 | 
					set noswapfile | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" => Text, tab and indent related | 
				
			||||||
 | 
					""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					"去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 | 
				
			||||||
 | 
					set nocompatible | 
				
			||||||
 | 
					"设置自动缩进 | 
				
			||||||
 | 
					set autoindent | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"C语言自动缩进 | 
				
			||||||
 | 
					set cindent | 
				
			||||||
 | 
					"设置Tab缩进4格 | 
				
			||||||
 | 
					set tabstop=4 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" 设置">"操作符 缩进,增加的缩进量是使用'shiftwidth'指定,默认是8 | 
				
			||||||
 | 
					set shiftwidth=4 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"显示行号 | 
				
			||||||
 | 
					set nu | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" set smart indent | 
				
			||||||
 | 
					set si | 
				
			||||||
 | 
					" wrap lines | 
				
			||||||
 | 
					set wrap | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" YAML | 
				
			||||||
 | 
					autocmd Filetype yaml setlocal tabstop=2 shiftwidth=2 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Web | 
				
			||||||
 | 
					autocmd Filetype json setlocal tabstop=2 shiftwidth=2 | 
				
			||||||
 | 
					autocmd Filetype javascript setlocal tabstop=2 shiftwidth=2 | 
				
			||||||
 | 
					autocmd Filetype html setlocal tabstop=2 shiftwidth=2 | 
				
			||||||
 | 
					autocmd Filetype css setlocal tabstop=2 shiftwidth=2 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" => Moving around, tabs, windows and buffers | 
				
			||||||
 | 
					""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" Treat long lines as break lines (useful when moving around in them) | 
				
			||||||
 | 
					map j gj | 
				
			||||||
 | 
					map k gk | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" => Status line | 
				
			||||||
 | 
					"""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					"状态栏显示内容 | 
				
			||||||
 | 
					"define 3 custom highlight groups | 
				
			||||||
 | 
					hi User1 ctermbg=green ctermfg=red   guibg=green guifg=red | 
				
			||||||
 | 
					hi User2 ctermbg=gray   ctermfg=blue  guibg=gray   guifg=blue | 
				
			||||||
 | 
					hi User3 ctermbg=blue  ctermfg=green guibg=blue  guifg=green | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" always show the status line | 
				
			||||||
 | 
					set laststatus=2 | 
				
			||||||
 | 
					set statusline= | 
				
			||||||
 | 
					" full filename	modified flag	read only flag 	help file flag	Preview | 
				
			||||||
 | 
					set statusline=%1*%F%m%r%h%w\  | 
				
			||||||
 | 
					set statusline+=%2*[%{strlen(&fenc)?&fenc:'none'}, "file encoding | 
				
			||||||
 | 
					set statusline+=%{&ff}] "file format | 
				
			||||||
 | 
					set statusline+=%y		"file type | 
				
			||||||
 | 
					set statusline+=%=		"divider left/right separator" | 
				
			||||||
 | 
					set statusline+=%3*%c,		"column | 
				
			||||||
 | 
					set statusline+=%l/%L	"line no/all line" | 
				
			||||||
 | 
					set statusline+=\ %P | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" Plugin settings | 
				
			||||||
 | 
					" Normal mode F2 to call NERDTree | 
				
			||||||
 | 
					nmap <F2> :NERDTreeToggle<cr> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" plasticboy/vim-markdown | 
				
			||||||
 | 
					" disable folding | 
				
			||||||
 | 
					let g:vim_markdown_folding_disabled=1 | 
				
			||||||
 | 
					" Highlight YAML frontmatter as used by Jekyll | 
				
			||||||
 | 
					let g:vim_markdown_frontmatter=1 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" intend guides | 
				
			||||||
 | 
					let g:indent_guides_enable_on_vim_startup = 1 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" jedi-vim plugin config | 
				
			||||||
 | 
					let g:jedi#completions_command = "<C-N>" | 
				
			||||||
 | 
					let g:jedi#popup_on_dot = 0 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" powerline | 
				
			||||||
 | 
					" hide the default mode text (e.g. -- INSERT -- below the statusline) | 
				
			||||||
 | 
					" set t_Co=256 | 
				
			||||||
 | 
					" let g:Powerline_symbols='fancy' | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" general mapping | 
				
			||||||
 | 
					" no <up> ddkP | 
				
			||||||
 | 
					" no <down> ddp | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" =>Others | 
				
			||||||
 | 
					"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | 
				
			||||||
 | 
					" Delete trailing white space on save, useful for Python and CoffeeScript ;) | 
				
			||||||
 | 
					func! DeleteTrailingWS() | 
				
			||||||
 | 
					  exe "normal mz" | 
				
			||||||
 | 
					  %s/\s\+$//ge | 
				
			||||||
 | 
					  exe "normal `z" | 
				
			||||||
 | 
					endfunc | 
				
			||||||
 | 
					autocmd BufWrite *.py :call DeleteTrailingWS() | 
				
			||||||
 | 
					autocmd BufWrite *.coffee :call DeleteTrailingWS() | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					" smart way to move between windows | 
				
			||||||
 | 
					map <C-j> <C-W>j | 
				
			||||||
 | 
					map <C-k> <C-W>k | 
				
			||||||
 | 
					map <C-h> <C-W>h | 
				
			||||||
 | 
					map <C-l> <C-W>l | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set diffexpr=MyDiff() | 
				
			||||||
 | 
					function! MyDiff() | 
				
			||||||
 | 
					  let opt = '-a --binary ' | 
				
			||||||
 | 
					  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif | 
				
			||||||
 | 
					  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif | 
				
			||||||
 | 
					  let arg1 = v:fname_in | 
				
			||||||
 | 
					  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif | 
				
			||||||
 | 
					  let arg2 = v:fname_new | 
				
			||||||
 | 
					  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif | 
				
			||||||
 | 
					  let arg3 = v:fname_out | 
				
			||||||
 | 
					  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif | 
				
			||||||
 | 
					  let eq = '' | 
				
			||||||
 | 
					  if $VIMRUNTIME =~ ' ' | 
				
			||||||
 | 
					    if &sh =~ '\<cmd' | 
				
			||||||
 | 
					      let cmd = '""' . $VIMRUNTIME . '\diff"' | 
				
			||||||
 | 
					      let eq = '"' | 
				
			||||||
 | 
					    else | 
				
			||||||
 | 
					      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"' | 
				
			||||||
 | 
					    endif | 
				
			||||||
 | 
					  else | 
				
			||||||
 | 
					    let cmd = $VIMRUNTIME . '\diff' | 
				
			||||||
 | 
					  endif | 
				
			||||||
 | 
					  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq | 
				
			||||||
 | 
					endfunction | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function! Xml() | 
				
			||||||
 | 
						set filetype=xml | 
				
			||||||
 | 
						:%s/></>\r</g 	"把><替换成>回车< | 
				
			||||||
 | 
						:normal gg=G<cr> | 
				
			||||||
 | 
					endfunction | 
				
			||||||
 | 
					map <leader>xml :call Xml() | 
				
			||||||
@ -0,0 +1,10 @@ | 
				
			|||||||
 | 
					#!/bin/bash | 
				
			||||||
 | 
					VIMDIR=${1:-$HOME} | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mv $VIMDIR/.vim $VIMDIR/.vim.old | 
				
			||||||
 | 
					mv $VIMDIR/.vimrc $VIMDIR/.vimrc.old | 
				
			||||||
 | 
					ln -s $PWD/.vim $VIMDIR/.vim 2> /dev/null | 
				
			||||||
 | 
					cat $PWD/_vimrc > $PWD/.vimrc | 
				
			||||||
 | 
					ln -s $PWD/.vimrc $VIMDIR/.vimrc 2> /dev/null | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					git submodule init && git submodule update | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue