added all current config
This commit is contained in:
commit
7f9136b78d
13 changed files with 245 additions and 0 deletions
218
.vimrc
Normal file
218
.vimrc
Normal file
|
@ -0,0 +1,218 @@
|
||||||
|
set nocompatible " be iMproved, required
|
||||||
|
filetype off " required
|
||||||
|
|
||||||
|
call plug#begin('~/.vim/plugged')
|
||||||
|
|
||||||
|
" Ctrlp for fuzzy file search
|
||||||
|
Plug 'ctrlpvim/ctrlp.vim'
|
||||||
|
|
||||||
|
" File browser
|
||||||
|
Plug 'scrooloose/nerdtree'
|
||||||
|
|
||||||
|
" tab support for nerdtree
|
||||||
|
Plug 'jistr/vim-nerdtree-tabs'
|
||||||
|
|
||||||
|
" Snippet handler
|
||||||
|
Plug 'SirVer/ultisnips'
|
||||||
|
|
||||||
|
" snippets for ultisnips
|
||||||
|
Plug 'honza/vim-snippets'
|
||||||
|
|
||||||
|
" supertab for completion
|
||||||
|
Plug 'ervandew/supertab'
|
||||||
|
|
||||||
|
" YouCompleteMe auto-completion
|
||||||
|
Plug 'Valloric/YouCompleteMe'
|
||||||
|
|
||||||
|
" More clever matching for % key
|
||||||
|
Plug 'tmhedberg/matchit'
|
||||||
|
|
||||||
|
" JavaScript syntax highlighting
|
||||||
|
Plug 'pangloss/vim-javascript'
|
||||||
|
|
||||||
|
" jsx syntax highlighting
|
||||||
|
Plug 'mxw/vim-jsx'
|
||||||
|
|
||||||
|
" Language server protocol linter
|
||||||
|
Plug 'w0rp/ale'
|
||||||
|
|
||||||
|
" fugitive.vim git integration
|
||||||
|
Plug 'tpope/vim-fugitive'
|
||||||
|
|
||||||
|
" Clojure highlight
|
||||||
|
Plug 'guns/vim-clojure-static'
|
||||||
|
|
||||||
|
" Surround
|
||||||
|
Plug 'tpope/vim-surround'
|
||||||
|
|
||||||
|
" Repeat of plugin commands
|
||||||
|
Plug 'tpope/vim-repeat'
|
||||||
|
|
||||||
|
" Ack.vim -- can use ag with this
|
||||||
|
Plug 'mileszs/ack.vim'
|
||||||
|
|
||||||
|
call plug#end()
|
||||||
|
" All of your Plugins must be added before the following line
|
||||||
|
|
||||||
|
filetype plugin indent on " required
|
||||||
|
syntax on
|
||||||
|
|
||||||
|
"Set the status line options.Make it show more information.
|
||||||
|
set laststatus=2
|
||||||
|
set statusline=%{FugitiveStatusline()}\ %F%m%r%h%w\ [BUF=%n]\ [FORMAT=%{&ff}]\ [FO=%{&fo}]\ [TYPE=%Y]\ [POS=%l,%v]\[%p%%]\ %{strftime(\"%d/%m/%y\ -\%H:%M\")}
|
||||||
|
|
||||||
|
"set line no, buffer, search, highlight, autoindent and more.
|
||||||
|
set nu
|
||||||
|
set hidden
|
||||||
|
set ignorecase
|
||||||
|
set incsearch
|
||||||
|
set smartcase
|
||||||
|
set showmatch
|
||||||
|
" set autoindent
|
||||||
|
set ruler
|
||||||
|
set vb
|
||||||
|
set noerrorbells
|
||||||
|
set showcmd
|
||||||
|
set mouse=a
|
||||||
|
set history=1000
|
||||||
|
set undolevels=1000
|
||||||
|
|
||||||
|
" highlight search results
|
||||||
|
set hlsearch
|
||||||
|
|
||||||
|
" make delimitMate insert another line when
|
||||||
|
" closing curlys for example
|
||||||
|
let delimitMate_expand_cr = 1
|
||||||
|
|
||||||
|
" make YCM load with python 3
|
||||||
|
let g:ycm_server_python_interpreter = '/usr/bin/python2'
|
||||||
|
|
||||||
|
" YCM non-arch package install path to ycm extra conf
|
||||||
|
"let g:ycm_global_ycm_extra_conf = "~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py"
|
||||||
|
|
||||||
|
" YCM extra configuration for arch specific YCM package
|
||||||
|
"let g:ycm_global_ycm_extra_conf = '/usr/share/vim/vimfiles/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
|
||||||
|
"let g:ycm_path_to_python_interpreter = '/usr/bin/python2'
|
||||||
|
|
||||||
|
" Eclim completion method should be set to omnifunc in order to work with YCM
|
||||||
|
let g:EclimCompletionMethod = 'omnifunc'
|
||||||
|
|
||||||
|
" let syntastic handle the syntax checking
|
||||||
|
let g:ycm_show_diagnostics_ui = 0
|
||||||
|
|
||||||
|
" make YCM compatible with UltiSnips (using supertab)
|
||||||
|
let g:ycm_key_list_select_completion = ['<C-n>', '<Down>']
|
||||||
|
let g:ycm_key_list_previous_completion = ['<C-p>', '<Up>']
|
||||||
|
let g:SuperTabDefaultCompletionType = '<C-n>'
|
||||||
|
|
||||||
|
" better key bindings for UltiSnipsExpandTrigger
|
||||||
|
let g:UltiSnipsExpandTrigger = "<tab>"
|
||||||
|
let g:UltiSnipsJumpForwardTrigger = "<tab>"
|
||||||
|
let g:UltiSnipsJumpBackwardTrigger = "<s-tab>"
|
||||||
|
|
||||||
|
" Leader maps
|
||||||
|
let mapleader=","
|
||||||
|
let maplocalleader="\\"
|
||||||
|
map <leader>n <plug>NERDTreeTabsToggle<CR>
|
||||||
|
|
||||||
|
|
||||||
|
autocmd VimEnter * wincmd p
|
||||||
|
|
||||||
|
|
||||||
|
"for ino completion
|
||||||
|
"autocmd BufNewFile,BufRead *.ino setlocal ft=arduino
|
||||||
|
|
||||||
|
" IMPORTANT: grep will sometimes skip displaying the file name if you
|
||||||
|
" search in a singe file. This will confuse Latex-Suite. Set your grep
|
||||||
|
" program to always generate a file-name.
|
||||||
|
" set grepprg=grep\ -nH\ $*
|
||||||
|
|
||||||
|
" OPTIONAL: Starting with Vim 7, the filetype of empty .tex files defaults to
|
||||||
|
" 'plaintex' instead of 'tex', which results in vim-latex not being loaded.
|
||||||
|
" The following changes the default filetype back to 'tex':
|
||||||
|
" let g:tex_flavor='latex'
|
||||||
|
|
||||||
|
" Short commands -----------------------
|
||||||
|
|
||||||
|
" Searching for visually selected text
|
||||||
|
vnoremap // y/<C-R>"<CR>"
|
||||||
|
|
||||||
|
" For latex compiling
|
||||||
|
augroup latex_macros " {
|
||||||
|
autocmd!
|
||||||
|
autocmd FileType tex :nnoremap <leader>c :w<CR> :!latexmk -pdf % <CR>
|
||||||
|
autocmd FileType tex :nnoremap <leader>v :!evince %:r.pdf &<CR><CR>
|
||||||
|
augroup END " }
|
||||||
|
|
||||||
|
" JavaScript macros
|
||||||
|
augroup html_macros " {
|
||||||
|
autocmd!
|
||||||
|
autocmd FileType html :nnoremap <leader>c :w<CR> :silent !firefox %:p &<CR>
|
||||||
|
augroup END " }
|
||||||
|
|
||||||
|
augroup javascript_macros " {
|
||||||
|
autocmd!
|
||||||
|
autocmd FileType javascript.jsx :nnoremap <localleader>df :YcmCompleter GoTo<CR>
|
||||||
|
augroup END " }
|
||||||
|
|
||||||
|
" JSON macros
|
||||||
|
augroup json_macros " {
|
||||||
|
autocmd!
|
||||||
|
autocmd FileType json :nnoremap <localleader>fm :%!python -m json.tool<CR>
|
||||||
|
augroup END " }
|
||||||
|
|
||||||
|
" Function for toggling the relative line numbers
|
||||||
|
function ToggleRelative()
|
||||||
|
if &relativenumber==1
|
||||||
|
set norelativenumber
|
||||||
|
else
|
||||||
|
set relativenumber
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Macros for toggling relative number lines
|
||||||
|
noremap <F3> :call ToggleRelative()<CR>
|
||||||
|
inoremap <F3> <C-O>:call ToggleRelative()<CR>
|
||||||
|
|
||||||
|
function GrepAskForDir(specifier)
|
||||||
|
let cw = expand("<cword>")
|
||||||
|
let cwd = getcwd()
|
||||||
|
call inputsave()
|
||||||
|
let dir = input('Grep for word ' . cw . 'in dir: ')
|
||||||
|
call inputrestore()
|
||||||
|
execute 'Ack '. a:specifier . ' ' . dir
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
noremap <leader>g :call GrepAskForDir(expand("<cword>"))<CR>
|
||||||
|
|
||||||
|
" Automatically user relative lines when not in insert mode
|
||||||
|
au InsertLeave * :set relativenumber
|
||||||
|
au InsertEnter * :set norelativenumber
|
||||||
|
|
||||||
|
|
||||||
|
" Syntastic settings
|
||||||
|
"let g:syntastic_mode_map = {
|
||||||
|
" \ "mode": "active",
|
||||||
|
" \ "passive_filetypes": ["java", "scala"] }
|
||||||
|
|
||||||
|
" Ale linter settings
|
||||||
|
let g:ale_linters = {
|
||||||
|
\ 'javascript': ['standard'],
|
||||||
|
\}
|
||||||
|
let g:ale_fixers = {'javascript': ['standard']}
|
||||||
|
|
||||||
|
"let g:ale_lint_on_text_changed = 'never'
|
||||||
|
|
||||||
|
" Ctrl-p settings
|
||||||
|
"let g:ctrlp_max_files = 30000
|
||||||
|
let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard']
|
||||||
|
|
||||||
|
let g:ale_linters_explicit = 1
|
||||||
|
|
||||||
|
" hlsearch
|
||||||
|
noremap <leader>h :nohlsearch<CR>
|
||||||
|
|
||||||
|
" Ack
|
||||||
|
if executable('ag')
|
||||||
|
let g:ackprg = 'ag --vimgrep'
|
||||||
|
endif
|
3
after/ftplugin/arduino.vim
Normal file
3
after/ftplugin/arduino.vim
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
set softtabstop=8 tabstop=8 noexpandtab
|
||||||
|
|
||||||
|
set cindent
|
1
after/ftplugin/c.vim
Normal file
1
after/ftplugin/c.vim
Normal file
|
@ -0,0 +1 @@
|
||||||
|
set softtabstop=4 shiftwidth=4 expandtab
|
6
after/ftplugin/haskell.vim
Normal file
6
after/ftplugin/haskell.vim
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
" Tab specific option
|
||||||
|
set tabstop=8 "A tab is 8 spaces
|
||||||
|
set expandtab "Always uses spaces instead of tabs
|
||||||
|
set softtabstop=4 "Insert 4 spaces when tab is pressed
|
||||||
|
set shiftwidth=4 "An indent is 4 spaces
|
||||||
|
set shiftround "Round indent to nearest shiftwidth multiple
|
5
after/ftplugin/html.vim
Normal file
5
after/ftplugin/html.vim
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
let g:html_indent_inctags = "html,body,head,tbody"
|
||||||
|
let g:html_indent_script1 = "inc"
|
||||||
|
let g:html_indent_style1 = "inc"
|
||||||
|
|
||||||
|
set softtabstop=2 shiftwidth=2 expandtab
|
1
after/ftplugin/java.vim
Normal file
1
after/ftplugin/java.vim
Normal file
|
@ -0,0 +1 @@
|
||||||
|
set softtabstop=4 shiftwidth=4 expandtab
|
1
after/ftplugin/javascript.vim
Normal file
1
after/ftplugin/javascript.vim
Normal file
|
@ -0,0 +1 @@
|
||||||
|
set softtabstop=2 shiftwidth=2 expandtab
|
1
after/ftplugin/json.vim
Normal file
1
after/ftplugin/json.vim
Normal file
|
@ -0,0 +1 @@
|
||||||
|
set softtabstop=2 shiftwidth=2 expandtab
|
1
after/ftplugin/p0.vim
Normal file
1
after/ftplugin/p0.vim
Normal file
|
@ -0,0 +1 @@
|
||||||
|
set softtabstop=2 shiftwidth=2 expandtab
|
1
after/ftplugin/php.vim
Normal file
1
after/ftplugin/php.vim
Normal file
|
@ -0,0 +1 @@
|
||||||
|
set softtabstop=8 shiftwidth=8 noexpandtab
|
1
after/ftplugin/python.vim
Normal file
1
after/ftplugin/python.vim
Normal file
|
@ -0,0 +1 @@
|
||||||
|
set softtabstop=4 shiftwidth=4 expandtab
|
5
after/ftplugin/tex.vim
Normal file
5
after/ftplugin/tex.vim
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
set textwidth=80
|
||||||
|
|
||||||
|
set softtabstop=2 shiftwidth=2 expandtab
|
||||||
|
|
||||||
|
set iskeyword+=:
|
1
after/ftplugin/text.vim
Normal file
1
after/ftplugin/text.vim
Normal file
|
@ -0,0 +1 @@
|
||||||
|
set textwidth=80
|
Loading…
Add table
Add a link
Reference in a new issue