Skip to content

Instantly share code, notes, and snippets.

@andrwj
Created November 10, 2017 04:11
Show Gist options
  • Save andrwj/c3812650d7223d7ff3abda96a569a671 to your computer and use it in GitHub Desktop.
Save andrwj/c3812650d7223d7ff3abda96a569a671 to your computer and use it in GitHub Desktop.
vimrc
"Initialization {{{
set nocompatible
let mapleader = '\'
" }}}
"Loading Vundle Plugins: {{{
filetype on
set rtp+=~/.vim/bundle/Vundle.vim
set runtimepath+=~/.vim/bundle/ctrlp.vim
set runtimepath+=~/.vim/bundle/dart-vim-plugin
call vundle#begin()
Plugin 'gmarik/Vundle.vim'
"Plugin 'Shougo/denite.vim' "unite replacement but needs python3
"Plugin 'Shougo/unite.vim' "vimfiler.vim에 필요
"Plugin 'Shougo/vimfiler.vim' "nerdtree alternative
"Plugin 'Shougo/neossh.vim'
Plugin 'shougo/vimproc'
Plugin 'shougo/vimshell'
"Plugin 'christoomey/vim-tmux-navigator'
"Plugin 'dart-lang/dart-vim-plugin'
"Plugin 'edkolev/promptline.vim'
"Plugin 'edkolev/tmuxline.vim'
"Plugin 'jmcantrell/vim-virtualenv'
Plugin 'mattn/emmet-vim' "https://github.com/mattn/emmet-vim
"Plugin 'mklabs/grunt.vim' "https://github.com/mklabs/grunt.vim
"Plugin 'tpope/vim-scriptease' "https://github.com/tpope/vim-scriptease
"Plugin 'ujihisa/vimshell-ssh'
"Plugin 'vim-pandoc/vim-pandoc'
"Plugin 'vim-pandoc/vim-pandoc-syntax'
"Plugin 'vimrepress'
"Plugin 'vimwiki/vimwiki' "몇가지 수정을 위해 fork 하였다
"Plugin 'xolox/vim-misc' "required by vim-notes.git
"Plugin 'xolox/vim-notes.git'
"Plugin 'othree/eregex.vim'
"Plugin 'terryma/vim-expand-region' "그닥 효과적인지 모르겠다..
"Plugin 'mattn/flappyvird-vim'
"Plugin 'idanarye/vim-merginal' "manage Git branches
"Plugin 'zoeesilcock/vim-caniuse'
"Plugin 'gilligan/vim-lldb'
"Plugin 'Zuckonit/vim-airline-todo'
"Plugin 'junegunn/seoul256.vim'
"Plugin 'sk1418/HowMuch' "수식계산
"Plugin 'flazz/vim-colorschemes'
"Plugin 'biskark/vim-ultimate-colorscheme-utility'
"Plugin 'altercation/vim-colors-solarized'
Plugin 'dracula/vim' "Darducla theme
"Plugin 'drmikehenry/vim-fixkey/' "매크로와 같이 쓸때 주의
"Plugin 'matze/vim-move' "현재 라인을 위/아래로 이동
"Plugin 'mattboehm/vim-unstack' "Parse stack traces or quickfix entries and open the result in vim splits
"Plugin 'justinmk/vim-gtfo' "현재 파일이나 폴더를 터미널이나 파인더로 열기 (got - terminal, gof - finder)
"Plugin '29decibel/vim-stringify' "라인을 싱글/더블 쿼트로 연결해서 문자열로 만들어줌
Plugin 'Lokaltog/vim-easymotion' "'/' - (search)키맵핑
"Plugin 'Raimondi/delimitMate'
"Plugin 'SirVer/ultisnips'
"Plugin 'Valloric/YouCompleteMe'
Plugin 'andrwj/pebble-vim-syntax'
"Plugin 'airblade/vim-gitgutter'
"Plugin 'andrwj/vimwiki'
"Plugin 'benmills/vimux.git' "Interactive with tmux
"Plugin 'bling/vim-airline'
"Plugin 'paranoida/vim-airlineish' "Theme for vim-airlin
"Plugin 'dhruvasagar/vim-table-mode'
"Plugin 'fatih/vim-go'
"Plugin 'fatih/molokai'
"Plugin 'gregsexton/gitv'
"Plugin 'groenewege/vim-less'
"Plugin 'honza/vim-snippets'
Plugin 'Mizuchi/vim-ranger' "File Manager <C-k><C-b>
"Plugin 'jelera/vim-javascript-syntax'
"Plugin 'marijnh/tern_for_vim' "JavaScript completer
"Plugin 'othree/javascript-libraries-syntax.vim'
Plugin 'ctrlpvim/ctrlp.vim'
Plugin 'tacahiroy/ctrlp-funky'
Plugin 'sgur/ctrlp-extensions.vim'
Plugin 'jasoncodes/ctrlp-modified.vim'
Plugin 'kien/rainbow_parentheses.vim'
Plugin 'lokikl/vim-ctrlp-ag'
Plugin 'fisadev/vim-ctrlp-cmdpalette' "Command palette like Sublime Text
"Plugin 'tacahiroy/ctrlp-ssh' "tmux를 실행한 상태여야함
"Plugin 'klen/python-mode'
"Plugin 'nvie/vim-flake8'
"Plugin 'majutsushi/tagbar'
"Plugin 'mattn/gist-vim'
"Plugin 'mattn/webapi-vim' "An Interface to WEB APIs.
Plugin 'mhinz/vim-signify' "Show a VCS diff using Vim's sign column.
"vim-node:Tools and environment to make Vim superb for developing with Node.js. Like Rails.vim for Node.
"Plugin 'moll/vim-node'
"Plugin 'myhere/vim-nodejs-complete' "omnifunc for nodejs (불편하다)
Plugin 'godlygeek/tabular' "tabular vim-markdown은 같이 설정되야 함
Plugin 'plasticboy/vim-markdown' "pandoc을 대신함
"Plugin 'scrooloose/nerdtree'
"Plugin 'Xuyuanp/nerdtree-git-plugin'
"Plugin 'scrooloose/nerdcommenter'
"Plugin 'scrooloose/syntastic'
Plugin 'szw/vim-maximizer' "<F3> to maximize Tab/Window
Plugin 'terryma/vim-multiple-cursors' "동시에 바꾸기 <C-n> (i.e. Sublime Text CMD-D)
Plugin 'tpope/vim-fugitive' "Git wrapper so awesome
"Plugin 'tpope/vim-haml' "Vim runtime files for Haml, Sass, and SCSS
"Plugin 'tpope/vim-repeat'
"Plugin 'tpope/vim-surround.git' "문장/구절을 둘러싼 인용부호를 바꿈: cs"'
"Plugin 'guns/xterm-color-table.vim'
"Plugin 'junegunn/limelight.vim' "<F11> - Limelight [0.0 ~ 1.0]
Plugin 'othree/html5.vim'
"Plugin 'toyamarinyon/vim-swift' "Swift programming language
"Plugin 'burnettk/vim-angularburnettk/vim-angular' "https://github.com/burnettk/vim-angular
Plugin 'jeetsukumaran/vim-markology' "visualizing marks
Plugin 'ap/vim-buftabline' "Tab 형태처럼 Buffer 목록을 표시
Plugin 't9md/vim-choosewin' "land to window you choose like tmux's 'display-pane' keymap: -
"Plugin 'itchyny/calendar.vim'
"Plugin 'junegunn/goyo.vim'
"Plugin 'duff/vim-scratch' "Scratch buffer
"Plugin 'mhinz/vim-startify'
Plugin 'gorkunov/smartpairs.vim' "press v .. v.. v .. and it extends
"Plugin 'Rykka/riv.vim' "reStructedText
"Plugin 'Rykka/clickable.vim' "riv plugin
"Plugin 'ekalinin/Dockerfile.vim'
Plugin 'tomtom/tcomment_vim'
Plugin 'nathanaelkane/vim-indent-guides' "들여쓰기 가이드라인 표시
"Plugin 'tpope/vim-fireplace' "Clojure REPL for vim
"Plugin 'kovisoft/slimv' "Superior Lisp Interaction Mode for Vim
"Plugin 'leafgarland/typescript-vim' "Typescript
Plugin 'Quramy/tsuquyomi' "TypeScript for vim
call vundle#end() " required
filetype plugin indent on " required
" }}}
"Global Settings: {{{
"solarized 테마 토글
"call togglebg#map("<F5>")
scriptencoding utf-8
set nobackup
set nowritebackup
set swapfile
set backupdir=~/tmp
set cursorline
set backspace=indent,eol,start
" set virtualedit=onemore "줄끝으로 커서 이동가능하게
set number
set showmatch
set hlsearch "파일 내용이 클 경우, 검색할 때 시간끄는 요인이 된다
set incsearch
set ignorecase
set smartcase
set wildmenu
set wildmode=list:longest,full
set completeopt=preview,longest,menu
set directory=/tmp
"set autochdir "편집하는 파일이 있는 폴더위치로 작업폴더 위치를 자동으로 변경
let &titlestring = @% " 탭제목에 경로제외하고 파일명만 표시
"let &titlestring = expand('%:p') " 탭제목에 전체 경로표시할 떄
set title
set titleold=""
set cmdheight=1 " 명령입력창 높이
set shell=/usr/local/bin/bash
" set ts=4 sts=4 sw=4 expandtab
set tabstop=2
set softtabstop=2
set shiftwidth=2
set expandtab
set history=1000
set splitright
runtime! ftplugin/man.vim "vim을 매뉴얼뷰어로 지정
set hidden
set encoding=utf-8
set ruler
set showcmd
set showmode
set showmatch
set matchtime=2
set ambiwidth=single "show whitespace characters
set autoindent
"Section: Folding {{{
set foldmethod=marker
set nofoldenable
set foldlevel=0
"}}}
"Section:Clickable {{{
set ttyfast
set ttymouse=xterm2
set mouse=a
set mousehide "타이핑하는 동안 마우스 숨김
""}}}
syntax on
if has("gui_running")
"set guifont=Source\ Code\ Pro\ for\ Powerline:h17
set guifont=Hermit:h16
set background=dark
set cursorcolumn
else
set background=dark
endif
"ctags 파일 참조위치를 편지중인 파일이 위치한 폴더에서 먼처 찾고 상위폴더로 옮겨가면서 찾는다 (need +autochdir)
"공백없이 comman(,)로 항목구분
"set tags=./tags;
" Powerline symbols: ⮂ ⮃ ⮀ ⮁ ⭤·»¬
set laststatus=2
"set ambiwidth=double
set fillchars+=stl:\ ,stlnc:\
set pastetoggle=<F2>
set paste
"workaround for 'Nothing in register *'
if $TMUX == ''
set clipboard+=unnamed
endif
"Invisible character colors
highlight NonText guifg=#4a4a59
highlight SpecialKey guifg=#4a4a59
"현재줄 강조색상 지정
highlight CursorColumn ctermbg=242
"Section: Italic comments {{{
".vim/terminfo/xterm-256color-italic.terminfo
if &term=~ 'xterm-256color-italic'
set t_ZH=
set t_ZR=
"highlight Comment font=Anonymous_Pro:h13
highlight Comment cterm=italic
highlight Comment ctermfg=240 guifg=#aaaaaa "rgb=8,8,8"
highlight Comment gui=italic
endif
"}}}
"문법강조의 cchar까지 보이지 않게 함
set conceallevel=2
"Section: Spell checking {{{
set spelllang=en
set nospell
set novisualbell
set noerrorbells
set magic
"}}}
"Section: Encription {{{
set cryptmethod=blowfish
autocmd BufReadPost * if &key != "" | set noswapfile nowritebackup viminfo= nobackup noshelltemp history=0 secure | endif
"}}}
"Section: Lisp {{{
autocmd BufNewFile,BufRead .spacemacs set syntax=lisp
"}}}
" }}}
"KeyMapping: {{{
"Section: Global {{{
"let g:agprg="/usr/local/bin/ag --ignore-case --ignore .git --ignore .hg --all-text --skip-vcs-ignores --column"
"let g:agprg="/Users/andrwj/bin/ag.sh"
"let g:agformat="%f:%l:%m"
"let g:aghighlight=1
"nnoremap <leader>f :Ag
"<스페이스>키를 눌러 커서위치의 단어를 선택
"nnoremap <space> viw
".vimrc 다시 읽기
nnoremap <leader>rf :source $MYVIMRC<cr>
"cursorcolumn 토글
"색상변경 :highlight CursorColumn ctermbg=Grey
nnoremap <leader>\| :set cursorcolumn!<cr>
"ctags 이전으로 돌아가기 ctrl-[
"nnoremap <C-[> :pop<cr>
"cursor color
autocmd BufNewFile,InsertLeave * hi Cursor guibg=red
autocmd BufEnter,InsertEnter * hi Cursor guibg=green
"JSON formatter
nnoremap =j :%!python -m json.tool<CR>
function! s:formatJSON()
execute ':%!python -m json.tool'
endfunction
"
nnoremap <C-m> :tnext<CR>
"}}}
"Section: Tab {{{
"nnoremap <silent> <C-a><C-n> :tabnew<cr>
nnoremap <silent> <leader>n :tabnew<cr>
"au FileType * map <silent> <C-a><C-]> :tabnext<cr>
nnoremap <silent> <leader>] :tabnext<cr>
"au FileType * map <silent> <C-a><C-[> :tabprevious<cr>
nnoremap <silent> <leader>[ :tabprevious<cr>
"au FileType * map <silent> <C-a><C-w> :tabclose<cr>
nnoremap <silent> <leader>w :tabclose<cr>
"}}}
"Section: 'Mizuchi/vim-ranger' (새로운 탭에 파일 열기) {{{
"새로운 탭에 파일 열기. open new tab
"This only works in version of console vim, not with MacVIM
"nnoremap <silent> <C-k><C-b> :tabe %:p:h<cr>
"수직으로 화면 나누고 파일열기
"nnoremap <silent> <C-k><C-v> :VsplitVifm<cr>
"수직으로 화면 나누고 diff 출력
"nnoremap <silent> <C-k><C-d> :DiffVifm<cr>
"수평으로 화면 나누고 파일 읽어들임
"nnoremap <silent> <C-k><C-s> :SplitVifm<cr>
"}}}
"Section: 그외 ... {{{
"괄호안을 지움 dp | cp
"onoremap p i(
"괄호안을 지움cin
"onoremap in( :<c-u>normal! f(vi(<cr>
"return 문을 만날때까지 삭제 db
"onoremap b /return<cr>
"현재줄을 다음줄 뒤로 붙이기
"nnoremap <leader>sw viw^<c-v>$d<esc>pJ$<cr>
"선택된 블럭양끝에 따옴표 넣기
"nnoremap <leader>" viw<esc>a"<esc>hbi"<esc>lel
"}}}
augroup keymapping
autocmd!
"Filetype: * {{{
map <leader>q :q!<cr>
map <leader>Q :qa!<cr>
"au FileType * nmap <Leader>\ :VimuxPromptCommand<cr>
"Section: 버퍼 {{{
map <space>b :buffer
map <space>l :ls<cr>
map <space>w :bdelete!<cr>
map <space>[ :bprevious!<cr>
map <space>] :bnext!<cr>
map <space>n :vnew<cr>
map <space>s :new<cr>
map <space>o :VimFilerExplorer<cr>
nnoremap <silent>== :MaximizerToggle<cr>
vnoremap <silent><F3> :MaximizerToggle<cr>gv
inoremap <silent><F3> <C-o>:MaximizerToggle<cr>
"}}}
"Section: list character (vim-go 패키지의 lcs 처리를 위해서 필요할 때만 enable 시킨다
"Filetype: go {{{
"map <silent> <C-a><C-m> :set list lcs=trail:·,tab:»,eol:¬<cr>
"map <silent> <C-a><C-u> :set nolist<cr>
map <silent> <Leader>\w :set list lcs=trail:·,tab:»,eol:¬<cr>
map <silent> <Leader>\W :set nolist<cr>
"}}}
"}}}
"Filetype: shell {{{
"autocmd FileType sh nnoremap <buffer> <localleader>c I#<esc>
"}}}
"Filetype: vim {{{
autocmd FileType vim setlocal foldmethod=marker
"}}}
"Filetype: js {{{
"autocmd FileType javascript set dictionary+=$HOME/.vim/dicts/node.dict
"autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
"autocmd FileType javascript set tags+=~/.vim/tags/v5.0.1/tags
"}}}
"Filetype: json {{{
" JSON prettifier
autocmd FileType json,js nnoremap <buffer> <leader>fmt :%!python -m json.tool<cr>
autocmd BufNewFile,BufRead *.json set ft=javascript
"}}}
"Filetype: markdown {{{
au BufRead,BufNewFile *.md set filetype=markdown
"}}}
"Filetype: python {{{
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
autocmd BufRead *.py set nocindent
autocmd BufWritePre *.py normal m`:%s/\s\+$//e ``
" 120 컬럼위치 넘어가면 색상 변경 (이럴필요가 있을까? 2014-9-5)
"autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black
"autocmd FileType python match Excess /\%120v.*/
"autocmd FileType python set nowrap
"PEP8 경고 무시
let g:pep8_ignore="E501,W601,E265"
"}}}
augroup END
" }}}
"Plugin: NERDtree {{{
augroup NERDTree
" let g:NERDTreeDirArrowExpandable = '▸'
" let g:NERDTreeDirArrowCollapsible = '▾'
autocmd!
nnoremap <silent> <C-k><C-t> :NERDTreeToggle<cr>
"파일지정없이 vim을 열었을 경우, 자동으로 NERDTree를 동작시킴
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
augroup END
"}}}
"Plugin: vim-airline {{{
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
" unicode symbols
let g:airline_symbols.space = "\ua0"
let g:airline_left_sep= '⮀'
let g:airline_left_alt_sep = '⮁'
let g:airline_right_sep='⮂'
let g:airline_right_alt_sep = '⮃'
let g:airline_symbols.branch = '⭠'
let g:airline_symbols.readonly = '⭤'
let g:airline_symbols.linenr = '⭡'
let g:airline_symbols.paste = 'ρ'
let g:airline_symbols.whitespace = '·'
let g:airline_detect_modified=1
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#left_sep = '⮀'
let g:airline#extensions#tabline#left_alt_sep = '⮁'
let g:airline#extensions#tabline#enabled=1
let g:airline_theme='solarized'
let g:airline_section_z=''
"let g:airline_detect_whitespace=0
let g:airline#extensions#syntastic#enabled=1
let g:airline#extensions#hunks#enabled=1
let g:airline#extensions#branch#enabled=1
let g:airline#extensions#eclim#enabled=0
let g:airline#extensions#bufferline#enabled=0
let g:airline#extensions#promptline#enabled=0
let g:airline#extensions#promptline#snapshot_file = "~/.shell_prompt.sh"
let airline#extensions#promptline#color_template = 'normal'
"}}}
"Plugin: vim-promptline {{{
"promptline plugin은 zshell을 사용할때에만 적용하기로 한다 (2014-8-17)
"let g:promptline_theme = 'jelly'
"let g:promptline_powerline_symbols=1
"let git_sha_slice = {
" \'function_name': 'git_sha',
" \'function_body': [
" \'function git_sha {',
" \' local sha',
" \' sha=$(git rev-parse --short HEAD 2>/dev/null) || return 1',
" \' printf "%s" "$sha"',
" \'}']}
"
"let g:promptline_preset = {
" \'a' : [ promptline#slices#host() ],
" \'b' : [ promptline#slices#user() ],
" \'c' : [ promptline#slices#cwd() ],
" \'y' : [ promptline#slices#vcs_branch() ],
" \'x' : [ git_sha_slice ],
" \'warn' : [ promptline#slices#last_exit_code() ],
" \'options': {
" \'left_sections' : [ 'a', 'b', 'c' ],
" \'right_sections' : [ 'x', 'y', 'warn' ],
" \'left_only_sections' : [ 'a', 'b', 'c' ] }}
"
"}}}
"Plugin: tagbar {{{
"Section: KeyMap {{{
augroup tagbarWindow
autocmd!
map <silent> <C-c><C-c> :TagbarOpen fj<cr>
map <silent> <C-c><C-x> :TagbarClose<cr>
augroup END
"}}}
"Section: gotags + tagbar {{{
let g:tagbar_type_go = {
\ 'ctagstype' : 'go',
\ 'kinds' : [
\ 'p:package',
\ 'i:imports:1',
\ 'c:constants',
\ 'v:variables',
\ 't:types',
\ 'n:interfaces',
\ 'w:fields',
\ 'e:embedded',
\ 'm:methods',
\ 'r:constructor',
\ 'f:functions'
\ ],
\ 'sro' : '.',
\ 'kind2scope' : {
\ 't' : 'ctype',
\ 'n' : 'ntype'
\ },
\ 'scope2kind' : {
\ 'ctype' : 't',
\ 'ntype' : 'n'
\ },
\ 'ctagsbin' : 'gotags',
\ 'ctagsargs' : '-R -sort -silent'
\ }
"}}}
"Section: JavaScript {{{
let g:tagbar_type_javascript = {
\ 'ctagstype' : 'javascript',
\ 'kinds' : [
\ 'o:objects',
\ 'c:classes',
\ 'm:methods',
\ 'p:properties',
\ 'v:global variables',
\ 'f:functions',
\ 'a:arrays',
\ 's:strings',
\ 'r:string'
\ ]}
"}}}
"
"Section: CSS {{{
let g:tagbar_type_css = {
\ 'ctagstype' : 'Css',
\ 'kinds' : [
\ 'c:classes',
\ 's:selectors',
\ 'i:identities'
\ ]}
"}}}
"Section: Markdown {{{
let g:tagbar_type_markdown = {
\ 'ctagstype' : 'markdown',
\ 'kinds' : [
\ 'h:Heading_L1',
\ 'i:Heading_L2',
\ 'k:Heading_L3'
\ ]}
"}}}
"Section: R {{{
let g:tagbar_type_r = {
\ 'ctagstype' : 'r',
\ 'kinds' : [
\ 'f:Functions',
\ 'g:GlobalVariables',
\ 'v:FunctionVariables'
\ ]}
"}}}
"Section: Ruby {{{
let g:tagbar_type_ruby = {
\ 'ctagstype' : 'ruby',
\ 'kinds' : [
\ 'm:modules',
\ 'c:classes',
\ 'd:describes',
\ 'C:contexts',
\ 'f:methods',
\ 'F:singleton methods'
\ ]}
"}}}
"Section: Snippets {{{
let g:tagbar_type_snippets = {
\ 'ctagstype' : 'snippets',
\ 'kinds' : [
\ 's:snippets',
\ ]}
"}}}
"}}}
"Plugin: ultisnip {{{
let g:UltiSnipsExpandTrigger="<F12>"
"let g:UltiSnipsJumpForwardTrigger="<c-b>"
"let g:UltiSnipsJumpBackwardTrigger="<c-z>"
" If you want :UltiSnipsEdit to split your window.
"let g:UltiSnipsEditSplit="vertical"
"}}}
"Plugin: tmuxline {{{
"for manual setting of Tmuxline theme
let g:airline#extensions#tmuxline#enabled=0
let g:tmuxline_preset = 'full'
let g:tmuxline_theme = 'icebert'
let g:vim_statusline_3=1
"}}}
"Plugin: untotree {{{
"persistent undotree repository
"(소스내에 이 부분을 적용하는게 보이지 않는다:2014-8-19)
if has("persistent_undo")
set undodir='~/.vim/undodir/'
set undofile
endif
"}}}
"Plugin: vim-gist {{{
let g:gist_clip_command = 'pbcopy'
let g:gist_detect_filetype = 1
let g:gist_open_browser_after_post = 1
let g:gist_show_privates = 1
let g:gist_post_private = 1
let g:gist_get_multiplefile = 1
" }}}
"Plugin: python-mode {{{
" Activate rope
" K Show python docs
" <Ctrl-Space> Rope autocomplete
" <Ctrl-c>g Rope goto definition
" <Ctrl-c>d Rope show documentation
" <Ctrl-c>f Rope find occurrences
" <Leader>b Set, unset breakpoint (g:pymode_breakpoint enabled)
" [[ Jump on previous class or function (normal, visual, operator modes)
" ]] Jump on next class or function (normal, visual, operator modes)
" [M Jump on previous class or method (normal, visual, operator modes)
" ]M Jump on next class or method (normal, visual, operator modes)
let g:pymode_rope = 0
" 경고 끔
let g:pymode_warnings = 0
" Documentation
let g:pymode_doc = 1
let g:pymode_doc_key = 'K'
"Linting
"let g:pymode_lint = 1
"let g:pymode_lint_checker = "pyflakes,pep8"
" Auto check on save
"let g:pymode_lint_write = 1
" Support virtualenv
let g:pymode_virtualenv = 1
" Enable breakpoints plugin
let g:pymode_breakpoint = 1
let g:pymode_breakpoint_key = '<leader>b'
" syntax highlighting
"let g:pymode_syntax = 0
"let g:pymode_syntax_all = 0
"let g:pymode_syntax_indent_errors = g:pymode_syntax_all
"let g:pymode_syntax_space_errors = g:pymode_syntax_all
let g:syntastic_python_checker_args='--ignore=E501,E225,E265'
" Don't autofold code
let g:pymode_folding = 0
" Override go-to.definition key shortcut to Ctrl-]
let g:pymode_rope_goto_definition_bind = "<C-]>"
"
" Override run current python file key shortcut to Ctrl-Shift-e
"let g:pymode_run_bind = "<C-S-e>"
" Override view python doc key shortcut to Ctrl-Shift-d
"let g:pymode_doc_bind = "<C-S-d>""
let g:pymode_trim_whitespaces = 1
let g:pymode_options_max_line_length = 130
" }}}
"Plugin: vim-markdown (markdown 타입은 vim-pandoc으로 처리중) {{{
let g:vim_markdown_folding_disabled=1
let g:vim_markdown_emphasis_multiline=0
let g:vim_markdown_conceal = 0 "이미지 태그 라인이 보이지 않는 것을 해결
" }}}
"Plugin: emmet {{{
" 확장단축기: <C-y>,
" let g:user_emmet_mode='a'
" let g:user_emmet_install_global = 1
" augroup emmet
" au!
" autocmd FileType html,css,go EmmetInstall
" "autocmd FileType * EmmetInstall
" augroup END
" let g:user_emmet_leader_key='<C-y>'
"let g:user_emmet_settings = webapi#json#decode(join(readfile(expand('~/.vim/snippets/emmet.json')), "\n"))
" }}}
"Plugin: vim-table-mode {{{
let g:table_mode_separator='|'
let g:table_mode_align_char=':'
let g:table_mode_corner_corner='+'
nnoremap <buffer> <silent> <leader>tm :TableModeToggle<cr>
"block을 잡은후 <leader>tt --> Tableize
"다른 구분자 적용 --> :Tableize/; ';'이 구분자
"+-----------------------------+-----------------------------------+
"| g:table_mode_corner_corner='+' 로 설정해야 테두리가 제대로 나옴 |
"+-----------------------------+-----------------------------------+
" }}}
"Plugin: vim-note (obsoleted) {{{
" let g:notes_suffix = '.note'
" let g:notes_directories = ['~/Documents/vim-notes']
" let g:notes_markdown_program='/usr/local/bin/pandoc'
"}}}
"Plugin: vimwiki {{{
"주의: vimwiki/plugin/vimwiki.vim 350line ==> let s:vimwiki_defaults.syntax = 'markdown'
" augroup mediawiki
" autocmd!
" " Enable folding based on ==sections==
" au BufRead,BufNewFile *.wiki setlocal foldmethod=syntax
" au BufRead,BufNewFile *.wiki setlocal foldexpr=getline(v:lnum)=~'^\\(=\\+\\)[^=]\\+\\1\\(\\s*<!--.*-->\\)\\=\\s*$'?\">\".(len(matchstr(getline(v:lnum),'^=\\+'))-1):\"=\"
" au BufRead,BufNewFile *.wiki setlocal fdm=expr
" au BufRead,BufNewFile *.wiki setlocal matchpairs+=<:>
" au BufRead,BufNewFile *.wiki setlocal comments=n:#,n:*,n:\:,s:{\|,m:\|,ex:\|}
" au BufRead,BufNewFile *.wiki setlocal formatoptions+=roq
"
" " Insert a matching = automatically while starting a new header.
" autocmd FileType mediawiki inoremap <buffer> <silent> = <C-R>=(getline('.')==''\|\|getline('.')=~'^=\+$')?"==\<Lt>Left>":"="<cr>
" augroup END
"}}}
"Plugin: vimshell {{{
function! LaunchVIMShell()
cd %:p:h
execute ':below new'
set noautochdir
execute ':resize 5'
execute ':VimShell'
set autochdir
endfunction
let g:vimshell_force_overwrite_statusline=1
let g:vimshell_user_prompt = 'fnamemodify(getcwd(), ":~")'
let g:vimshell_prompt = '$ '
let g:vimshell_use_terminal_command='bash'
augroup vimshell
autocmd!
nnoremap <leader>sh :call LaunchVIMShell()<cr>
"nnoremap <space>bash :VimShellInteractive --split='below|resize 5' bash
augroup END
"}}}
"Plugin: Tabularize {{{
":Tabularize /패턴 ==> 패턴을 기준으로해서 컬럼폭을 맞춤
augroup tabularize
autocmd!
nnoremap <Leader>a= :Tabularize /=
nnoremap <Leader>a: :Tabularize /:
nnoremap <Leader>a:: :Tabularize /:\zs
nnoremap <Leader>a, :Tabularize /,
nnoremap <Leader>a<Bar> :Tabularize /
augroup END
"}}}
"Plugin: fugitive {{{
augroup fugitive
autocmd!
nnoremap <leader>gs :Gstatus
nnoremap <leader>gd :Gdiff
nnoremap <leader>gc :Gcommit
nnoremap <leader>gb :Gblame
nnoremap <leader>gl :Glog
nnoremap <leader>gp :Git push
augroup END
"}}}
"Plugin: easymotion {{{
if exists('g:EasyMotion_loaded')
augroup easymotion
autocmd!
map / <Plug>(easymotion-sn)
omap / <Plug>(easymotion-tn)
map n <Plug>(easymotion-next)
map N <Plug>(easymotion-prev)
augroup END
endif
"}}}
"Plugin: pebble-vim-syntax {{{
"특정 위치에서의 C 소스는 페블어플리케이션으로 인식하게함
augroup pebble
"autocmd!
"autocmd FileType C set syntax=pebble
"autocmd Filetype C set makeprg=bash\ --init-file\ ~/.shell_prompt.sh\ -c\ 'cd\ ..\ &&\ pebble\ build'
"autocmd Filetype C set errorformat=../src/%f:%l:%c:\ %m
"autocmd Filetype C nmap <leader>b :make!<cr><cr>:cw<cr>
"autocmd Filetype C nmap <F4> :cw<cr>
autocmd BufNewFile,BufRead ~/Develops/pebble.applications/*.{c,h} set syntax=pebble
"autocmd BufNewFile,BufRead ~/Develops/pebble.applications/*.{c,h} set makeprg=bash\ --init-file\ ~/.shell_prompt.sh\ -c\ 'cd\ ..\ &&\ pebble\ build'
autocmd BufNewFile,BufRead ~/Develops/pebble.applications/*.{c,h} set errorformat=../src/c/%f:%l:%c:\ %m
"autocmd BufNewFile,BufRead ~/Develops/pebble.applications/*.{c,h} nmap <leader>b :make!<cr><cr>:cw<cr>
"autocmd BufNewFile,BufRead ~/Develops/pebble.applications/*.{c,h} nmap <F4> :cw<cr>
autocmd BufWritePost ~/Develops/pebble.applications/*.{c,h} *.c,*.h silent! !ctags --fields=+l --C-kinds=+p -R % 2> /dev/null &
augroup END
"}}}
"Plugin: vim-go {{{
let g:go_auto_type_info=1
let g:go_play_open_browser = 1
augroup filetype_go
autocmd!
"타입정보 자동보이기를 수동으로 보일경우
"au FileType go nmap <leader>i <Plug>(go-info)
"문서열기 gd:수평분할, gv:수직분할, gb: 브라우저에서 열기
" au FileType go nmap <Leader>gd <Plug>(go-doc)
" au FileType go nmap <Leader>gv <Plug>(go-doc-vertical)
" au FileType go nmap <Leader>gb <Plug>(go-doc-browser)
"정의된 소스 열기 ds:수평, dv:수직, dt:탭으로 열기
" au FileType go nmap <Leader>ds <Plug>(go-def-split)
" au FileType go nmap <Leader>dv <Plug>(go-def-vertical)
" au FileType go nmap <Leader>dt <Plug>(go-def-tab)
"r: 실행, b:빌드, t:CtrlP를 타입으로 열기
" au FileType go nmap <leader>r <Plug>(go-run)
" au FileType go nmap <leader>b <Plug>(go-build)
" au FileType go nmap <leader>t :CtrlPTag<cr>
" "au FileType go nmap <leader>t <Plug>(go-test)
" au FileType go nmap <leader>c <Plug>(go-coverage)
" 파일저장후에 항상 ctags 업데이트 (~/.ctags의 --languages 설정에 맞춘것임. 경고를 보이지 않게했음<-- 주의 )
au BufWritePost *.go silent! !gotags -R -sort -silent ./ > ./tags &
"[[몇가지 자동완성]]
"현재라인을 주석처리하기
autocmd FileType go nnoremap <buffer> <localleader>c I//<esc>
"자주쓰이는 snippets
autocmd FileType go inoremap <buffer> \|pack package main<cr>
autocmd FileType go inoremap <buffer> \|main func main() {<cr><cr>}<esc>ki<tab>
autocmd FileType go inoremap <buffer> \|{ {<cr><cr>}<esc>ki<tab>
autocmd FileType go inoremap <buffer> \|err err != nil {<cr><cr>}<esc>ki<tab>
autocmd FileType go inoremap <buffer> \|im import (<cr>"fmt"<cr><cr>)<esc>ki<tab>
"autocmd FileType go nnoremap <buffer> <localleader>C I/* <esc>$a */<esc>
"autocmd FileType go vnoremap <buffer> <localleader>c <esc>a*/<esc>I/*<esc>lel
"tool paths
"let g:go_bin_path = expand("~/.vim-go")
"let g:go_gocode_bin="~/your/custom/gocode/path"
"let g:go_goimports_bin="~/your/custom/goimports/path"
"let g:go_godef_bin="~/your/custom/godef/path"
"let g:go_oracle_bin="~/your/custom/godef/path"
"let g:go_golint_bin="~/your/custom/golint/path"
"let g:go_errcheck_bin="~/your/custom/errcheck/path"
augroup END
"}}}
"Plugin: vimrepress (인증문제때문에 안쓰고있음) {{{
"}}}
"Plugin: rainbow_parenthesis {{{
"wiki, markdown의 '[]' 문자를 해제해버리므로 (conceallevel=0) 무조건 enable 시키면 곤란하다
augroup rainbow
autocmd!
au VimEnter *.go,*.sh,*.c RainbowParenthesesToggle
au Syntax *.go,*.sh,*.c RainbowParenthesesLoadRound
au Syntax *.go,*.sh,.c RainbowParenthesesLoadSquare
au Syntax *.go,*.sh,.c RainbowParenthesesLoadBraces
au Syntax *.go,*.sh,.c RainbowParenthesesLoadChevrons
augroup END
"}}}
"Plugin: UndoTree {{{
augroup UndoTree
autocmd!
map <leader>u :UndotreeToggle<cr>
augroup END
"}}}
"Plugin: eregex (easymotion과 충돌하기 때문에 해결방법을 찾을 때까지 disable ) {{{
"let g:eregex_default_enable = 0
"nnoremap <leader>/ :call eregex#toggle()<cr>
""}}}
"Plugin: xterm-color-table {{{
"comand: XtermColorTable
"}}}
"Plugin: limelight {{{
" Color name (:help cterm-colors) or ANSI code
let g:limelight_conceal_ctermfg = 0
" Color name (:help gui-colors) or RGB color
let g:limelight_conceal_guifg = '#777777'
" Default: 0.5
let g:limelight_default_coefficient = 0.5
nnoremap <silent><F11> :Limelight!!<cr>
"if exists(':Limelight')
" nnoremap <silent><F11> :Limelight!!<cr>
"endif
"}}}
"Plugin: vim-choosewin {{{
"keymap '='
let g:choosewin_overlay_enable = 1
let g:choosewin_overlay_clear_multibyte = 1
let g:choosewin_blink_on_land = 0 " dont' blink at land
let g:choosewin_statusline_replace = 0 " don't replace statusline
let g:choosewin_tabline_replace = 0 " don't replace tabline
nmap - <Plug>(choosewin)
nmap = <Plug>(choosewin-swap)
" tmux like overlay color
let g:choosewin_color_overlay = {
\ 'gui': ['DodgerBlue3', 'DodgerBlue3' ],
\ 'cterm': [ 125, 125 ]
\ }
let g:choosewin_color_overlay_current = {
\ 'gui': ['firebrick1', 'firebrick1' ],
\ 'cterm': [ 124, 124 ]
\ }
"}}}
"Plugin: markology {{{
"Section: characters for marking {{{
"- h: Help, m: Non-modifiable, p: Preview, q: Quickfix, r: Readonly
"m+: add, m-:delete, m<space>:toggle, m,:toggle,
"m[/m]: jump previous/next,
"m{/m}: jump lexicographically
"m?: display all marks
"m~: quickfix window
let g:markology_ignore_type=""
let g:markology_include="23456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
let g:markology_hlline_lower=1 "highlight marked line
let g:markology_hlline_upper=1
let g:markology_hlline_other=0
"}}}
"Section: Color Sheme {{{
highlight MarkologyHLl guifg=red guibg=green
"highlight MarkologyHLu guifg=red guibg=green
"highlight MarkologyHLo guifg=red guibg=green
"highlight MarkologyHLm guifg=red guibg=green
"highlight MarkologyHLLine guifg=red guibg=green
"}}}
"Section: Key Remapping instead of 'm' {{{
"nmap <silent> ;0 <Plug>MarkologyEnable
"nmap <silent> ;1 <Plug>MarkologyDisable
"nmap <silent> ;! <Plug>MarkologyToggle
"nmap <silent> ;, <Plug>MarkologyPlaceMarkToggle
"nmap <silent> ;+ <Plug>MarkologyPlaceMark
"nmap <silent> ;- <Plug>MarkologyClearMark
"nmap <silent> ;_ <Plug>MarkologyClearAll
"nmap <silent> ;] <Plug>MarkologyNextLocalMarkPos
"nmap <silent> ;[ <Plug>MarkologyPrevLocalMarkPos
"nmap <silent> ;} <Plug>MarkologyNextLocalMarkByAlpha
"nmap <silent> ;{ <Plug>MarkologyPrevLocalMarkByAlpha
"nmap <silent> ;? <Plug>MarkologyLocationList
"nmap <silent> ;~ <Plug>MarkologyQuickFix
"}}}
"}}}
"Plugin: Stringify {{{
"map <leader>g :call Stringify()<CR>
"}}}
"Plugin: vim-airline-todo {{{
" let g:todo#directory = "/Users/andrwj/.vim/todo"
" let g:todo#remind = "TODO"
" let g:todo#recurse =1
" let g:todo#suffix = "md"
" "nnoremap <leader>t :NERDTree ~/.vim/todo/<cr>
"}}}
"Plugin: calendar {{{
let g:calendar_google_calendar = 1
let g:calendar_google_task = 1
"}}}
"Plugin: Goyo {{{
nnoremap <silent> <leader>z :Goyo<cr>
let g:goyo_width = 90
let g:goyo_margin_top = 3
let g:goyo_margin_bottom = 3
let g:goyo_linenr = 0
"}}}
"Plugin: vim-gtfo {{{
"got - terminal
"gof - finder
"}}}
"Plugin: airlineish (airline status라인을 모드에 따라 바꿔줌) {{{
let g:airline_theme='airlineish'
"}}}
"Plugin: unstack {{{
"supported language: Python, Ruby, C#, Perl, Go, Node.js, Erlang
let g:unstack_mapkey='<F10>'
"let g:unstack_layout = "portrait"
"}}}
"Plugin: colorscheme-utility {{{
nnoremap <leader><leader>a " Adds the current colorscheme to favorites
nnoremap <leader><leader>A " Removes the current colorscheme from favorites
nnoremap <leader><leader>f " Goes to next colorscheme in filetype specific favorites
nnoremap <leader><leader>F " Goes to previous colorscheme in filetype specific favorites
nnoremap <leader><leader>g " Goes to next colorscheme in global favorites
nnoremap <leader><leader>G " Goes to previous colorscheme in global favorites
nnoremap <leader><leader>n " Goes to next colorscheme in all colors
nnoremap <leader><leader>N " Goes to previous colorscheme in all colors
nnoremap <leader><leader>t " Adds the current font to favorites
nnoremap <leader><leader>T " Removes the current font from favorites
nnoremap <leader><leader>e " Goes to the next font in filetype specific favorites
nnoremap <leader><leader>E " Goes to the previous font in filetype specific favorites
nnoremap <leader><leader>r " Goes to the next font in global favorites
nnoremap <leader><leader>R " Goes to the previous font in global favorites
nnoremap <leader><leader>q " Views all favorites
"}}}
"Plugin: vim-move (move up/down visual blocked area) {{{
let g:move_key_modifier = 'C'
"}}}
"Plugin: YouCompleteMe {{{
let g:ycm_global_ycm_extra_conf = "~/.vim/ycm_extra_conf.py"
let g:ycm_confirm_extra_conf = 0
let g:ycm_min_num_of_chars_for_completion = 2
let g:ycm_auto_trigger = 1
"let g:ycm_always_populate_location_list = 1
let g:ycm_collect_identifiers_from_comments_and_strings = 1
let g:ycm_collect_identifiers_from_tags_files = 1
let g:ycm_seed_identifiers_with_syntax = 1
let g:ycm_show_diagnostics_ui = 1
let g:ycm_add_preview_to_completeopt = 1
let g:ycm_autoclose_preview_window_after_completion = 1
let g:ycm_key_invoke_completion = '<C-Space>'
let g:ycm_filepath_completion_use_working_dir = 1
let g:ycm_path_to_python_interpreter = '/usr/bin/python2.7'
let g:ycm_filetype_whitelist = { '*': 1 }
let g:ycm_filetype_blacklist = {
\ 'tagbar' : 1,
\ 'qf' : 1,
\ 'notes' : 1,
\ 'markdown' : 1,
\ 'unite' : 1,
\ 'text' : 1,
\ 'vimwiki' : 1,
\ 'pandoc' : 1,
\ 'infolog' : 1,
\ 'mail' : 1
\}
let g:ycm_semantic_triggers = {
\ 'c' : ['->', '.'],
\ 'objc' : ['->', '.'],
\ 'ocaml' : ['.', '#'],
\ 'cpp,objcpp' : ['->', '.', '::'],
\ 'perl' : ['->'],
\ 'php' : ['->', '::'],
\ 'cs,java,javascript,d,python,perl6,scala,vb,elixir,go' : ['.'],
\ 'vim' : ['re![_a-zA-Z]+[_\w]*\.'],
\ 'ruby' : ['.', '::'],
\ 'lua' : ['.', ':'],
\ 'erlang' : [':'],
\ }
"CTRL-O for jump back
nnoremap <leader>jd :YcmCompleter GoTo<cr>
"}}}
"Plugin: GitGutter {{{
let g:gitgutter_eager = 0
let g:gitgutter_realtime = 0
"}}}
"Plugin: javascript-syntax-library {{{
"let g:used_javascript_libs = 'jquery,angularjs,extjs'
"autocmd BufReadPre *.js let b:javascript_lib_use_jquery = 1
"autocmd BufReadPre *.js let b:javascript_lib_use_underscore = 1
"autocmd BufReadPre *.js let b:javascript_lib_use_backbone = 1
"autocmd BufReadPre *.js let b:javascript_lib_use_prelude = 0
"autocmd BufReadPre *.js let b:javascript_lib_use_angularjs = 0
"}}}
"Plugin: Startify {{{
" let g:startify_disable_at_vimenter = 0
" let g:startify_custom_header = map(split(system('fortune ~/.fortunes/|cowsay'), '\n'), '" ". v:val') + ['','']
" let g:startify_skiplist = [
" \ 'COMMIT_EDITMSG',
" \ '\.DS_Store'
" \ ]
" "파일지정없이 vim을 열었을 경우, 자동으로 Starify를 동작시킴
" autocmd StdinReadPre * let s:std_in=1
" autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | Startify | endif
" autocmd User Startified call AirlineRefresh
" nnoremap <silent> <C-k><C-l> :Startify<cr>
""}}}
"Plugin: tern {{{
let g:tern_map_keys = 1
let g:tern_show_argument_hints = 'on_hold'
let g:tern_show_signature_in_pum = 1
"}}}
"Plugin: pandoc {{{
augroup pandoc
autocmd!
autocmd FileType markdown nnoremap <leader>v :!open -a Marked.app %<cr><cr>
"autocmd FileType markdown set dictionary+=$HOME/.vim/dicts/corpus.dict
augroup END
"}}}
"Plugin: ctrlp {{{
set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux
let g:ctrlp_show_hidden = 1
let g:ctrlp_regexp = 1
let g:ctrlp_use_caching = 1
let g:ctrlp_clear_cache_on_exit = 1
let g:ctrlp_root_markers = ['.git']
let g:ctrlp_switch_buffer = 'et'
let g:ctrlp_working_path_mode='c'
"t - in a new tab.
"h - in a new horizontal split.
"v - in a new vertical split.
"r - in the current window.
let g:ctrlp_follow_symlinks = 1
let g:ctrlp_open_new_file = 'v'
let g:ctrlp_map = '<c-p>'
"let g:ctrlp_cmd = 'CtrlPMixed'
let g:ctrlp_cmd = 'CtrlPLastMode'
let g:ctrlp_extensions = ['line', 'funky', 'tag', 'buffertag', 'dir', 'cmdline', 'yankring', 'modified']
" if executable('ag')
" let g:ctrlp_user_command = "ag %s -l --nocolor"
" endif
" let g:ctrlp_user_command = {
" \ 'types': {
" \ 1: ['.git', 'cd %s && git ls-files . -co --exclude-standard', 'find %s -type f'],
" \ },
" \ 'fallback': 'find %s -type f'
" \ }
let g:ctrlp_custom_ignore = {
\ 'dir': '\v[\/]\.(git|hg|svn)$',
\ 'file': '\v\.(swap)$'
\ }
"let g:ctrlp_funky_matchtype = 'path'
let g:ctrlp_funky_syntax_highlight = 1
" CtrlP auto cache clearing.
" ----------------------------------------------------------------------------
function! SetupCtrlP()
if exists("g:loaded_ctrlp") && g:loaded_ctrlp
augroup CtrlPExtension
autocmd!
autocmd FocusGained * CtrlPClearCache
autocmd BufWritePost * CtrlPClearCache
augroup END
endif
endfunction
if has("autocmd")
autocmd VimEnter * :call SetupCtrlP()
endif
" Use this to customize the mappings inside CtrlP's prompt to your liking. You
" only need to keep the lines that you've changed the values (inside []): >
" let g:ctrlp_prompt_mappings = {
" \ 'PrtBS()': ['<bs>', '<c-]>'],
" \ 'PrtDelete()': ['<del>'],
" \ 'PrtDeleteWord()': ['<c-w>'],
" \ 'PrtClear()': ['<c-u>'],
" \ 'PrtSelectMove("j")': ['<c-j>', '<down>'],
" \ 'PrtSelectMove("k")': ['<c-k>', '<up>'],
" \ 'PrtSelectMove("t")': ['<Home>', '<kHome>'],
" \ 'PrtSelectMove("b")': ['<End>', '<kEnd>'],
" \ 'PrtSelectMove("u")': ['<PageUp>', '<kPageUp>'],
" \ 'PrtSelectMove("d")': ['<PageDown>', '<kPageDown>'],
" \ 'PrtHistory(-1)': ['<c-n>'],
" \ 'PrtHistory(1)': ['<c-p>'],
" \ 'AcceptSelection("e")': ['<cr>', '<2-LeftMouse>'],
" \ 'AcceptSelection("h")': ['<c-x>', '<c-cr>', '<c-s>'],
" \ 'AcceptSelection("t")': ['<c-t>'],
" \ 'AcceptSelection("v")': ['<c-v>', '<RightMouse>'],
" \ 'ToggleFocus()': ['<s-tab>'],
" \ 'ToggleRegex()': ['<c-r>'],
" \ 'ToggleByFname()': ['<c-d>'],
" \ 'ToggleType(1)': ['<c-f>', '<c-up>'],
" \ 'ToggleType(-1)': ['<c-b>', '<c-down>'],
" \ 'PrtExpandDir()': ['<tab>'],
" \ 'PrtInsert("c")': ['<MiddleMouse>', '<insert>'],
" \ 'PrtInsert()': ['<c-\>'],
" \ 'PrtCurStart()': ['<c-a>'],
" \ 'PrtCurEnd()': ['<c-e>'],
" \ 'PrtCurLeft()': ['<c-h>', '<left>', '<c-^>'],
" \ 'PrtCurRight()': ['<c-l>', '<right>'],
" \ 'PrtClearCache()': ['<F5>'],
" \ 'PrtDeleteEnt()': ['<F7>'],
" \ 'CreateNewFile()': ['<c-y>'],
" \ 'MarkToOpen()': ['<c-z>'],
" \ 'OpenMulti()': ['<c-o>'],
" \ 'PrtExit()': ['<esc>', '<c-c>', '<c-g>'],
" \ }
" }}}
"Plugin: tcomment {{{
" A secondary set of key maps is defined for normal and insert mode:
" <Leader>__ :: :TComment
" <Leader>_p :: Comment the current inner paragraph
" <Leader>_<space> :: :TComment <QUERY COMMENT-BEGIN ?COMMENT-END>
" <Leader>_i :: :TCommentInline
" <Leader>_r :: :TCommentRight
" <Leader>_b :: :TCommentBlock
" <Leader>_a :: :TCommentAs <QUERY COMMENT TYPE>
" <Leader>_n :: :TCommentAs &filetype <QUERY COUNT>
" <Leader>_s :: :TCommentAs &filetype_<QUERY COMMENT SUBTYPE>
"
" ... and for select mode:
"
" <Leader>__ :: :TComment
" <Leader>_i :: :TCommentInline
"}}}
"Plugin: dracula {{{
"https://draculatheme.com/vim/
color dracula
"}}}
"Plugin: 'nathanaelkane/vim-indent-guides' {{{
"default indent toggle key: <leader>ig
set background=dark
let g:indent_guides_auto_colors = 1
let g:indent_guides_start_level = 2
let g:indent_guides_guide_size = 1
let g:indent_guides_enable_on_vim_startup = 0
" autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd guibg=black ctermbg=3
" autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=darkgrey ctermbg=4
"}}}
"Plugin: 'Shougo/vimfiler.vim' {{{
nnoremap <silent> <C-k><C-b> :VimFilerExplorer<cr>
let g:vimfiler_as_default_explorer = 1
"}}}
"
"Plugin: 'emmet' {{{
"enable just for HTML/CSS
let g:user_emmet_install_global = 0
autocmd FileType html,css,md EmmetInstall
"remap
let g:user_emmet_leader_key='<C-.>'
" let g:user_emmet_mode='n' "only enable normal mode functions.
" let g:user_emmet_mode='inv' "enable all functions, which is equal to
" let g:user_emmet_mode='a' "enable all function in all mode.
"}}}
"Plugin: cmdpalette {{{
nnoremap <silent> <C-k><C-p> :CtrlPCmdPalette<cr>
"}}}
"Plugin: 'terryma/vim-multiple-cursors' {{{
let g:multi_cursor_use_default_mapping=1
let g:multi_cursor_next_key='<C-d>'
let g:multi_cursor_prev_key='<C-p>'
let g:multi_cursor_skip_key='<C-x>'
let g:multi_cursor_quit_key='<Esc>'
" Default highlighting (see help :highlight and help :highlight-link)
" highlight multiple_cursors_cursor term=reverse cterm=reverse gui=reverse
" highlight link multiple_cursors_visual Visual
"}}}
"Plugin: syntastic {{{
set statusline+=%#warningmsg#
"set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
"}}}
"Plugin: syntastic {{{
let g:calendar_google_calendar = 1
let g:calendar_google_task = 1
" :Calendar 2017 9
" :Calendar -view=year
" :Calendar -view=year -split=vertical -width=27
" :Calendar -view=year -split=horizontal -position=below -height=12
" :Calendar -view=clock
" :Calendar -first_day=monday
" press E for event list
" press T for Goggle task
"}}}
"Plugin: html5 {{{
"Disable event-handler attributes support:
let g:html5_event_handler_attributes_complete = 0
"Disable RDFa attributes support:
let g:html5_rdfa_attributes_complete = 1
"Disable microdata attributes support:
let g:html5_microdata_attributes_complete = 1
"Disable WAI-ARIA attribute support:
let g:html5_aria_attributes_complete = 1
"}}}
"Plugin: Editing for Wrapped selection {{{
augroup VisualEditing
vmap <Leader>tm <Esc>:call VisualHTMLTagWrap('mark')<CR>
vmap <Leader>tn <Esc>:call VisualHTMLTagWrap('note')<CR>
vmap <Leader>tw <Esc>:call VisualHTMLTagWrap('words')<CR>
vmap <Leader>tu <Esc>:call VisualHTMLTagWrap('u')<CR>
vmap <Leader>tub <Esc>:call VisualHTMLTagWrap('ub')<CR>
vmap <Leader>tubs <Esc>:call VisualHTMLTagWrap('ubs')<CR>
vmap <Leader>trb <Esc>:call VisualHTMLTagWrap('rb')<CR>
vmap <Leader>trbs <Esc>:call VisualHTMLTagWrap('rbs')<CR>
vmap <Leader>turbs <Esc>:call VisualHTMLTagWrap('urbs')<CR>
vmap <Leader>tbs <Esc>:call VisualHTMLTagWrap('bs')<CR>
vmap <Leader>tc <Esc>:call VisualHTMLTagWrap('comment')<CR>
augroup END
function! VisualHTMLTagWrap(tag)
"let tag = input("Tag to wrap block: ")
if len(a:tag) > 0
normal `>
if &selection == 'exclusive'
exe "normal i</".a:tag.">"
else
exe "normal a</".a:tag.">"
endif
normal `<
exe "normal i<".a:tag.">"
normal `<
endif
endfunction
"}}}
"
"Plugin: Super Lisp {{{
let g:slimv_swank_cmd = '!osascript -e "tell application \"iTerm\" to do script \"sbcl --load ~/.vim/bundle/slimv/slime/start-swank.lisp\""'
"For Clojure use the g:slimv_swank_clojure option, e.g.:
let g:slimv_swank_clojure = '! xterm -e lein swank &'
"}}}
"Plugin: pluginName {{{
"}}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment