mirror of
https://github.com/amix/vimrc
synced 2025-06-22 22:25:34 +08:00
Merge branch 'master' into master
This commit is contained in:
@ -1,13 +1,6 @@
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Maintainer:
|
||||
" Amir Salihefendic
|
||||
" http://amix.dk - amix@amix.dk
|
||||
"
|
||||
" Version:
|
||||
" 6.0 - 01/04/17 14:24:34
|
||||
"
|
||||
" Blog_post:
|
||||
" http://amix.dk/blog/post/19691#The-ultimate-Vim-configuration-on-Github
|
||||
" Amir Salihefendic — @amix3k
|
||||
"
|
||||
" Awesome_version:
|
||||
" Get this config, nice color schemes and lots of plugins!
|
||||
@ -16,12 +9,6 @@
|
||||
"
|
||||
" https://github.com/amix/vimrc
|
||||
"
|
||||
" Syntax_highlighted:
|
||||
" http://amix.dk/vim/vimrc.html
|
||||
"
|
||||
" Raw_version:
|
||||
" http://amix.dk/vim/vimrc.txt
|
||||
"
|
||||
" Sections:
|
||||
" -> General
|
||||
" -> VIM user interface
|
||||
@ -52,18 +39,18 @@ filetype indent on
|
||||
|
||||
" Set to auto read when a file is changed from the outside
|
||||
set autoread
|
||||
au FocusGained,BufEnter * checktime
|
||||
|
||||
" 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>
|
||||
|
||||
" :W sudo saves the file
|
||||
" (useful for handling the permission-denied error)
|
||||
command W w !sudo tee % > /dev/null
|
||||
command! W execute 'w !sudo tee % > /dev/null' <bar> edit!
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
@ -78,7 +65,7 @@ set langmenu=en
|
||||
source $VIMRUNTIME/delmenu.vim
|
||||
source $VIMRUNTIME/menu.vim
|
||||
|
||||
" Turn on the WiLd menu
|
||||
" Turn on the Wild menu
|
||||
set wildmenu
|
||||
|
||||
" Ignore compiled files
|
||||
@ -93,7 +80,7 @@ endif
|
||||
set ruler
|
||||
|
||||
" Height of the command bar
|
||||
set cmdheight=2
|
||||
set cmdheight=1
|
||||
|
||||
" A buffer becomes hidden when it is abandoned
|
||||
set hid
|
||||
@ -177,7 +164,7 @@ set ffs=unix,dos,mac
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => Files, backups and undo
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Turn backup off, since most stuff is in SVN, git et.c anyway...
|
||||
" Turn backup off, since most stuff is in SVN, git etc. anyway...
|
||||
set nobackup
|
||||
set nowb
|
||||
set noswapfile
|
||||
@ -219,7 +206,7 @@ vnoremap <silent> # :<C-u>call VisualSelection('', '')<CR>?<C-R>=@/<CR><CR>
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Map <Space> to / (search) and Ctrl-<Space> to ? (backwards search)
|
||||
map <space> /
|
||||
map <c-space> ?
|
||||
map <C-space> ?
|
||||
|
||||
" Disable highlight when <leader><cr> is pressed
|
||||
map <silent> <leader><cr> :noh<cr>
|
||||
@ -254,7 +241,7 @@ au TabLeave * let g:lasttab = tabpagenr()
|
||||
|
||||
" Opens a new tab with the current buffer's path
|
||||
" Super useful when editing files in the same directory
|
||||
map <leader>te :tabedit <c-r>=expand("%:p:h")<cr>/
|
||||
map <leader>te :tabedit <C-r>=expand("%:p:h")<cr>/
|
||||
|
||||
" Switch CWD to the directory of the open buffer
|
||||
map <leader>cd :cd %:p:h<cr>:pwd<cr>
|
||||
@ -356,28 +343,26 @@ endfunction
|
||||
" Don't close window, when deleting a buffer
|
||||
command! Bclose call <SID>BufcloseCloseIt()
|
||||
function! <SID>BufcloseCloseIt()
|
||||
let l:currentBufNum = bufnr("%")
|
||||
let l:alternateBufNum = bufnr("#")
|
||||
let l:currentBufNum = bufnr("%")
|
||||
let l:alternateBufNum = bufnr("#")
|
||||
|
||||
if buflisted(l:alternateBufNum)
|
||||
buffer #
|
||||
else
|
||||
bnext
|
||||
endif
|
||||
if buflisted(l:alternateBufNum)
|
||||
buffer #
|
||||
else
|
||||
bnext
|
||||
endif
|
||||
|
||||
if bufnr("%") == l:currentBufNum
|
||||
new
|
||||
endif
|
||||
if bufnr("%") == l:currentBufNum
|
||||
new
|
||||
endif
|
||||
|
||||
if buflisted(l:currentBufNum)
|
||||
execute("bdelete! ".l:currentBufNum)
|
||||
endif
|
||||
if buflisted(l:currentBufNum)
|
||||
execute("bdelete! ".l:currentBufNum)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! CmdLine(str)
|
||||
exe "menu Foo.Bar :" . a:str
|
||||
emenu Foo.Bar
|
||||
unmenu Foo
|
||||
call feedkeys(":" . a:str)
|
||||
endfunction
|
||||
|
||||
function! VisualSelection(direction, extra_filter) range
|
||||
|
@ -10,13 +10,13 @@
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Set font according to system
|
||||
if has("mac") || has("macunix")
|
||||
set gfn=Hack:h14,Source\ Code\ Pro:h15,Menlo:h15
|
||||
set gfn=IBM\ Plex\ Mono:h14,Hack:h14,Source\ Code\ Pro:h15,Menlo:h15
|
||||
elseif has("win16") || has("win32")
|
||||
set gfn=Hack:h14,Source\ Code\ Pro:h12,Bitstream\ Vera\ Sans\ Mono:h11
|
||||
set gfn=IBM\ Plex\ Mono:h14,Source\ Code\ Pro:h12,Bitstream\ Vera\ Sans\ Mono:h11
|
||||
elseif has("gui_gtk2")
|
||||
set gfn=Hack\ 14,Source\ Code\ Pro\ 12,Bitstream\ Vera\ Sans\ Mono\ 11
|
||||
set gfn=IBM\ Plex\ Mono\ 14,:Hack\ 14,Source\ Code\ Pro\ 12,Bitstream\ Vera\ Sans\ Mono\ 11
|
||||
elseif has("linux")
|
||||
set gfn=Hack\ 14,Source\ Code\ Pro\ 12,Bitstream\ Vera\ Sans\ Mono\ 11
|
||||
set gfn=IBM\ Plex\ Mono\ 14,:Hack\ 14,Source\ Code\ Pro\ 12,Bitstream\ Vera\ Sans\ Mono\ 11
|
||||
elseif has("unix")
|
||||
set gfn=Monospace\ 11
|
||||
endif
|
||||
@ -99,7 +99,7 @@ inoremap $e ""<esc>i
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => General abbreviations
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
iab xdate <c-r>=strftime("%d/%m/%y %H:%M:%S")<cr>
|
||||
iab xdate <C-r>=strftime("%d/%m/%y %H:%M:%S")<cr>
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
@ -142,6 +142,8 @@ map <leader>co ggVGy:tabnew<cr>:set syntax=qf<cr>pgg
|
||||
map <leader>n :cn<cr>
|
||||
map <leader>p :cp<cr>
|
||||
|
||||
" Make sure that enter is never overriden in the quickfix window
|
||||
autocmd BufReadPost quickfix nnoremap <buffer> <CR> <CR>
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
@ -12,14 +12,11 @@ au FileType python map <buffer> F :set foldmethod=indent<cr>
|
||||
au FileType python inoremap <buffer> $r return
|
||||
au FileType python inoremap <buffer> $i import
|
||||
au FileType python inoremap <buffer> $p print
|
||||
au FileType python inoremap <buffer> $f #--- <esc>a
|
||||
au FileType python inoremap <buffer> $f # --- <esc>a
|
||||
au FileType python map <buffer> <leader>1 /class
|
||||
au FileType python map <buffer> <leader>2 /def
|
||||
au FileType python map <buffer> <leader>C ?class
|
||||
au FileType python map <buffer> <leader>D ?def
|
||||
au FileType python set cindent
|
||||
au FileType python set cinkeys-=0#
|
||||
au FileType python set indentkeys-=0#
|
||||
|
||||
|
||||
""""""""""""""""""""""""""""""
|
||||
@ -29,11 +26,11 @@ 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 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
|
||||
au FileType javascript inoremap <buffer> $f // --- PH<esc>FP2xi
|
||||
|
||||
function! JavaScriptFold()
|
||||
setl foldmethod=syntax
|
||||
@ -75,3 +72,9 @@ endif
|
||||
" => Twig section
|
||||
""""""""""""""""""""""""""""""
|
||||
autocmd BufRead *.twig set syntax=html filetype=html
|
||||
|
||||
|
||||
""""""""""""""""""""""""""""""
|
||||
" => Markdown
|
||||
""""""""""""""""""""""""""""""
|
||||
let vim_markdown_folding_disabled = 1
|
||||
|
@ -1,6 +1,6 @@
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Important:
|
||||
" This requries that you install https://github.com/amix/vimrc !
|
||||
" This requires that you install https://github.com/amix/vimrc !
|
||||
"
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
@ -14,6 +14,7 @@ call pathogen#infect(s:vim_runtime.'/sources_non_forked/{}')
|
||||
call pathogen#infect(s:vim_runtime.'/my_plugins/{}')
|
||||
call pathogen#helptags()
|
||||
|
||||
|
||||
""""""""""""""""""""""""""""""
|
||||
" => bufExplorer plugin
|
||||
""""""""""""""""""""""""""""""
|
||||
@ -36,8 +37,8 @@ map <leader>f :MRU<CR>
|
||||
""""""""""""""""""""""""""""""
|
||||
let g:yankstack_yank_keys = ['y', 'd']
|
||||
|
||||
nmap <c-p> <Plug>yankstack_substitute_older_paste
|
||||
nmap <c-n> <Plug>yankstack_substitute_newer_paste
|
||||
nmap <C-p> <Plug>yankstack_substitute_older_paste
|
||||
nmap <C-n> <Plug>yankstack_substitute_newer_paste
|
||||
|
||||
|
||||
""""""""""""""""""""""""""""""
|
||||
@ -45,9 +46,15 @@ nmap <c-n> <Plug>yankstack_substitute_newer_paste
|
||||
""""""""""""""""""""""""""""""
|
||||
let g:ctrlp_working_path_mode = 0
|
||||
|
||||
let g:ctrlp_map = '<c-f>'
|
||||
" Quickly find and open a file in the current working directory
|
||||
let g:ctrlp_map = '<C-f>'
|
||||
map <leader>j :CtrlP<cr>
|
||||
map <c-b> :CtrlPBuffer<cr>
|
||||
|
||||
" Quickly find and open a buffer
|
||||
map <leader>b :CtrlPBuffer<cr>
|
||||
|
||||
" Quickly find and open a recently opened file
|
||||
map <leader>f :CtrlPMRU<CR>
|
||||
|
||||
let g:ctrlp_max_height = 20
|
||||
let g:ctrlp_custom_ignore = 'node_modules\|^\.DS_Store\|^\.git\|^\.coffee'
|
||||
@ -63,8 +70,8 @@ let g:user_zen_mode='a'
|
||||
""""""""""""""""""""""""""""""
|
||||
" => snipMate (beside <TAB> support <CTRL-j>)
|
||||
""""""""""""""""""""""""""""""
|
||||
ino <c-j> <c-r>=snipMate#TriggerSnippet()<cr>
|
||||
snor <c-j> <esc>i<right><c-r>=snipMate#TriggerSnippet()<cr>
|
||||
ino <C-j> <C-r>=snipMate#TriggerSnippet()<cr>
|
||||
snor <C-j> <esc>i<right><C-r>=snipMate#TriggerSnippet()<cr>
|
||||
|
||||
|
||||
""""""""""""""""""""""""""""""
|
||||
@ -89,7 +96,17 @@ map <leader>nf :NERDTreeFind<cr>
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => vim-multiple-cursors
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
let g:multi_cursor_next_key="\<C-s>"
|
||||
let g:multi_cursor_use_default_mapping=0
|
||||
|
||||
" Default mapping
|
||||
let g:multi_cursor_start_word_key = '<C-s>'
|
||||
let g:multi_cursor_select_all_word_key = '<A-s>'
|
||||
let g:multi_cursor_start_key = 'g<C-s>'
|
||||
let g:multi_cursor_select_all_key = 'g<A-s>'
|
||||
let g:multi_cursor_next_key = '<C-s>'
|
||||
let g:multi_cursor_prev_key = '<C-p>'
|
||||
let g:multi_cursor_skip_key = '<C-x>'
|
||||
let g:multi_cursor_quit_key = '<Esc>'
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
@ -103,10 +120,6 @@ au FileType mako vmap Si S"i${ _(<esc>2f"a) }<esc>
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => lightline
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
let g:lightline = {
|
||||
\ 'colorscheme': 'wombat',
|
||||
\ }
|
||||
|
||||
let g:lightline = {
|
||||
\ 'colorscheme': 'wombat',
|
||||
\ 'active': {
|
||||
@ -117,12 +130,12 @@ let g:lightline = {
|
||||
\ 'component': {
|
||||
\ 'readonly': '%{&filetype=="help"?"":&readonly?"🔒":""}',
|
||||
\ 'modified': '%{&filetype=="help"?"":&modified?"+":&modifiable?"":"-"}',
|
||||
\ 'fugitive': '%{exists("*fugitive#head")?fugitive#head():""}'
|
||||
\ 'fugitive': '%{exists("*FugitiveHead")?FugitiveHead():""}'
|
||||
\ },
|
||||
\ 'component_visible_condition': {
|
||||
\ 'readonly': '(&filetype!="help"&& &readonly)',
|
||||
\ 'modified': '(&filetype!="help"&&(&modified||!&modifiable))',
|
||||
\ 'fugitive': '(exists("*fugitive#head") && ""!=fugitive#head())'
|
||||
\ 'fugitive': '(exists("*FugitiveHead") && ""!=FugitiveHead())'
|
||||
\ },
|
||||
\ 'separator': { 'left': ' ', 'right': ' ' },
|
||||
\ 'subseparator': { 'left': ' ', 'right': ' ' }
|
||||
@ -138,32 +151,22 @@ nnoremap <silent> <leader>z :Goyo<cr>
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => Vim-go
|
||||
" => Ale (syntax checker and linter)
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
let g:go_fmt_command = "goimports"
|
||||
let g:ale_linters = {
|
||||
\ 'javascript': ['jshint'],
|
||||
\ 'python': ['flake8'],
|
||||
\ 'go': ['go', 'golint', 'errcheck']
|
||||
\}
|
||||
|
||||
nmap <silent> <leader>a <Plug>(ale_next_wrap)
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" => Syntastic (syntax checker)
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
" Python
|
||||
let g:syntastic_python_checkers=['pyflakes']
|
||||
" Disabling highlighting
|
||||
let g:ale_set_highlights = 0
|
||||
|
||||
" Javascript
|
||||
let g:syntastic_javascript_checkers = ['jshint']
|
||||
|
||||
" Go
|
||||
let g:syntastic_auto_loc_list = 1
|
||||
let g:syntastic_go_checkers = ['go', 'golint', 'errcheck']
|
||||
|
||||
" Custom CoffeeScript SyntasticCheck
|
||||
func! SyntasticCheckCoffeescript()
|
||||
let l:filename = substitute(expand("%:p"), '\(\w\+\)\.coffee', '.coffee.\1.js', '')
|
||||
execute "tabedit " . l:filename
|
||||
execute "SyntasticCheck"
|
||||
execute "Errors"
|
||||
endfunc
|
||||
nnoremap <silent> <leader>c :call SyntasticCheckCoffeescript()<cr>
|
||||
" Only run linting when saving the file
|
||||
let g:ale_lint_on_text_changed = 'never'
|
||||
let g:ale_lint_on_enter = 0
|
||||
|
||||
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
Reference in New Issue
Block a user