зеркало из
				https://github.com/iharh/notes.git
				synced 2025-11-04 07:36:08 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			594 строки
		
	
	
		
			15 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			594 строки
		
	
	
		
			15 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" vim-bootstrap 2021-11-04 18:49:39
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"" Vim-Plug core
 | 
						||
"*****************************************************************************
 | 
						||
let vimplug_exists=expand('~/./autoload/plug.vim')
 | 
						||
if has('win32')&&!has('win64')
 | 
						||
  let curl_exists=expand('C:\Windows\Sysnative\curl.exe')
 | 
						||
else
 | 
						||
  let curl_exists=expand('curl')
 | 
						||
endif
 | 
						||
 | 
						||
let g:vim_bootstrap_langs = "javascript,ocaml,ruby,rust"
 | 
						||
let g:vim_bootstrap_editor = ""				" nvim or vim
 | 
						||
let g:vim_bootstrap_theme = "molokai"
 | 
						||
let g:vim_bootstrap_frams = ""
 | 
						||
 | 
						||
if !filereadable(vimplug_exists)
 | 
						||
  if !executable(curl_exists)
 | 
						||
    echoerr "You have to install curl or first install vim-plug yourself!"
 | 
						||
    execute "q!"
 | 
						||
  endif
 | 
						||
  echo "Installing Vim-Plug..."
 | 
						||
  echo ""
 | 
						||
  silent exec "!"curl_exists" -fLo " . shellescape(vimplug_exists) . " --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
 | 
						||
  let g:not_finish_vimplug = "yes"
 | 
						||
 | 
						||
  autocmd VimEnter * PlugInstall
 | 
						||
endif
 | 
						||
 | 
						||
" Required:
 | 
						||
call plug#begin(expand('~/./plugged'))
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"" Plug install packages
 | 
						||
"*****************************************************************************
 | 
						||
Plug 'scrooloose/nerdtree'
 | 
						||
Plug 'jistr/vim-nerdtree-tabs'
 | 
						||
Plug 'tpope/vim-commentary'
 | 
						||
Plug 'tpope/vim-fugitive'
 | 
						||
Plug 'vim-airline/vim-airline'
 | 
						||
Plug 'vim-airline/vim-airline-themes'
 | 
						||
Plug 'airblade/vim-gitgutter'
 | 
						||
Plug 'vim-scripts/grep.vim'
 | 
						||
Plug 'vim-scripts/CSApprox'
 | 
						||
Plug 'Raimondi/delimitMate'
 | 
						||
Plug 'majutsushi/tagbar'
 | 
						||
Plug 'dense-analysis/ale'
 | 
						||
Plug 'Yggdroot/indentLine'
 | 
						||
Plug 'editor-bootstrap/vim-bootstrap-updater'
 | 
						||
Plug 'tpope/vim-rhubarb' " required by fugitive to :Gbrowse
 | 
						||
Plug 'tomasr/molokai'
 | 
						||
 | 
						||
 | 
						||
if isdirectory('/usr/local/opt/fzf')
 | 
						||
  Plug '/usr/local/opt/fzf' | Plug 'junegunn/fzf.vim'
 | 
						||
else
 | 
						||
  Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --bin' }
 | 
						||
  Plug 'junegunn/fzf.vim'
 | 
						||
endif
 | 
						||
let g:make = 'gmake'
 | 
						||
if exists('make')
 | 
						||
        let g:make = 'make'
 | 
						||
endif
 | 
						||
Plug 'Shougo/vimproc.vim', {'do': g:make}
 | 
						||
 | 
						||
"" Vim-Session
 | 
						||
Plug 'xolox/vim-misc'
 | 
						||
Plug 'xolox/vim-session'
 | 
						||
 | 
						||
"" Snippets
 | 
						||
Plug 'SirVer/ultisnips'
 | 
						||
Plug 'honza/vim-snippets'
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"" Custom bundles
 | 
						||
"*****************************************************************************
 | 
						||
 | 
						||
" javascript
 | 
						||
"" Javascript Bundle
 | 
						||
Plug 'jelera/vim-javascript-syntax'
 | 
						||
 | 
						||
 | 
						||
" ocaml
 | 
						||
"" OCaml Bundle
 | 
						||
Plug 'def-lkb/ocp-indent-vim'
 | 
						||
 | 
						||
 | 
						||
" ruby
 | 
						||
Plug 'tpope/vim-rails'
 | 
						||
Plug 'tpope/vim-rake'
 | 
						||
Plug 'tpope/vim-projectionist'
 | 
						||
Plug 'thoughtbot/vim-rspec'
 | 
						||
Plug 'ecomba/vim-ruby-refactoring', {'tag': 'main'}
 | 
						||
 | 
						||
 | 
						||
" rust
 | 
						||
" Vim racer
 | 
						||
Plug 'racer-rust/vim-racer'
 | 
						||
 | 
						||
" Rust.vim
 | 
						||
Plug 'rust-lang/rust.vim'
 | 
						||
 | 
						||
" Async.vim
 | 
						||
Plug 'prabirshrestha/async.vim'
 | 
						||
 | 
						||
" Vim lsp
 | 
						||
Plug 'prabirshrestha/vim-lsp'
 | 
						||
 | 
						||
" Asyncomplete.vim
 | 
						||
Plug 'prabirshrestha/asyncomplete.vim'
 | 
						||
 | 
						||
" Asyncomplete lsp.vim
 | 
						||
Plug 'prabirshrestha/asyncomplete-lsp.vim'
 | 
						||
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"*****************************************************************************
 | 
						||
 | 
						||
"" Include user's extra bundle
 | 
						||
if filereadable(expand("~/.rc.local.bundles"))
 | 
						||
  source ~/.rc.local.bundles
 | 
						||
endif
 | 
						||
 | 
						||
call plug#end()
 | 
						||
 | 
						||
" Required:
 | 
						||
filetype plugin indent on
 | 
						||
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"" Basic Setup
 | 
						||
"*****************************************************************************"
 | 
						||
"" Encoding
 | 
						||
set encoding=utf-8
 | 
						||
set fileencoding=utf-8
 | 
						||
set fileencodings=utf-8
 | 
						||
set ttyfast
 | 
						||
 | 
						||
"" Fix backspace indent
 | 
						||
set backspace=indent,eol,start
 | 
						||
 | 
						||
"" Tabs. May be overridden by autocmd rules
 | 
						||
set tabstop=4
 | 
						||
set softtabstop=0
 | 
						||
set shiftwidth=4
 | 
						||
set expandtab
 | 
						||
 | 
						||
"" Map leader to ,
 | 
						||
let mapleader=','
 | 
						||
 | 
						||
"" Enable hidden buffers
 | 
						||
set hidden
 | 
						||
 | 
						||
"" Searching
 | 
						||
set hlsearch
 | 
						||
set incsearch
 | 
						||
set ignorecase
 | 
						||
set smartcase
 | 
						||
 | 
						||
set fileformats=unix,dos,mac
 | 
						||
 | 
						||
if exists('$SHELL')
 | 
						||
    set shell=$SHELL
 | 
						||
else
 | 
						||
    set shell=/bin/sh
 | 
						||
endif
 | 
						||
 | 
						||
" session management
 | 
						||
let g:session_directory = "~/./session"
 | 
						||
let g:session_autoload = "no"
 | 
						||
let g:session_autosave = "no"
 | 
						||
let g:session_command_aliases = 1
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"" Visual Settings
 | 
						||
"*****************************************************************************
 | 
						||
syntax on
 | 
						||
set ruler
 | 
						||
set number
 | 
						||
 | 
						||
let no_buffers_menu=1
 | 
						||
colorscheme molokai
 | 
						||
 | 
						||
 | 
						||
set mousemodel=popup
 | 
						||
set t_Co=256
 | 
						||
set guioptions=egmrti
 | 
						||
set gfn=Monospace\ 10
 | 
						||
 | 
						||
if has("gui_running")
 | 
						||
  if has("gui_mac") || has("gui_macvim")
 | 
						||
    set guifont=Menlo:h12
 | 
						||
    set transparency=7
 | 
						||
  endif
 | 
						||
else
 | 
						||
  let g:CSApprox_loaded = 1
 | 
						||
 | 
						||
  " IndentLine
 | 
						||
  let g:indentLine_enabled = 1
 | 
						||
  let g:indentLine_concealcursor = 0
 | 
						||
  let g:indentLine_char = '┆'
 | 
						||
  let g:indentLine_faster = 1
 | 
						||
 | 
						||
  
 | 
						||
  if $COLORTERM == 'gnome-terminal'
 | 
						||
    set term=gnome-256color
 | 
						||
  else
 | 
						||
    if $TERM == 'xterm'
 | 
						||
      set term=xterm-256color
 | 
						||
    endif
 | 
						||
  endif
 | 
						||
  
 | 
						||
endif
 | 
						||
 | 
						||
 | 
						||
if &term =~ '256color'
 | 
						||
  set t_ut=
 | 
						||
endif
 | 
						||
 | 
						||
 | 
						||
"" Disable the blinking cursor.
 | 
						||
set gcr=a:blinkon0
 | 
						||
 | 
						||
set scrolloff=3
 | 
						||
 | 
						||
 | 
						||
"" Status bar
 | 
						||
set laststatus=2
 | 
						||
 | 
						||
"" Use modeline overrides
 | 
						||
set modeline
 | 
						||
set modelines=10
 | 
						||
 | 
						||
set title
 | 
						||
set titleold="Terminal"
 | 
						||
set titlestring=%F
 | 
						||
 | 
						||
set statusline=%F%m%r%h%w%=(%{&ff}/%Y)\ (line\ %l\/%L,\ col\ %c)\
 | 
						||
 | 
						||
" Search mappings: These will make it so that going to the next one in a
 | 
						||
" search will center on the line it's found in.
 | 
						||
nnoremap n nzzzv
 | 
						||
nnoremap N Nzzzv
 | 
						||
 | 
						||
if exists("*fugitive#statusline")
 | 
						||
  set statusline+=%{fugitive#statusline()}
 | 
						||
endif
 | 
						||
 | 
						||
" vim-airline
 | 
						||
let g:airline_theme = 'powerlineish'
 | 
						||
let g:airline#extensions#branch#enabled = 1
 | 
						||
let g:airline#extensions#ale#enabled = 1
 | 
						||
let g:airline#extensions#tabline#enabled = 1
 | 
						||
let g:airline#extensions#tagbar#enabled = 1
 | 
						||
let g:airline_skip_empty_sections = 1
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"" Abbreviations
 | 
						||
"*****************************************************************************
 | 
						||
"" no one is really happy until you have this shortcuts
 | 
						||
cnoreabbrev W! w!
 | 
						||
cnoreabbrev Q! q!
 | 
						||
cnoreabbrev Qall! qall!
 | 
						||
cnoreabbrev Wq wq
 | 
						||
cnoreabbrev Wa wa
 | 
						||
cnoreabbrev wQ wq
 | 
						||
cnoreabbrev WQ wq
 | 
						||
cnoreabbrev W w
 | 
						||
cnoreabbrev Q q
 | 
						||
cnoreabbrev Qall qall
 | 
						||
 | 
						||
"" NERDTree configuration
 | 
						||
let g:NERDTreeChDirMode=2
 | 
						||
let g:NERDTreeIgnore=['\.rbc$', '\~$', '\.pyc$', '\.db$', '\.sqlite$', '__pycache__']
 | 
						||
let g:NERDTreeSortOrder=['^__\.py$', '\/$', '*', '\.swp$', '\.bak$', '\~$']
 | 
						||
let g:NERDTreeShowBookmarks=1
 | 
						||
let g:nerdtree_tabs_focus_on_files=1
 | 
						||
let g:NERDTreeMapOpenInTabSilent = '<RightMouse>'
 | 
						||
let g:NERDTreeWinSize = 50
 | 
						||
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc,*.db,*.sqlite
 | 
						||
nnoremap <silent> <F2> :NERDTreeFind<CR>
 | 
						||
nnoremap <silent> <F3> :NERDTreeToggle<CR>
 | 
						||
 | 
						||
" grep.vim
 | 
						||
nnoremap <silent> <leader>f :Rgrep<CR>
 | 
						||
let Grep_Default_Options = '-IR'
 | 
						||
let Grep_Skip_Files = '*.log *.db'
 | 
						||
let Grep_Skip_Dirs = '.git node_modules'
 | 
						||
 | 
						||
" terminal emulation
 | 
						||
nnoremap <silent> <leader>sh :terminal<CR>
 | 
						||
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"" Commands
 | 
						||
"*****************************************************************************
 | 
						||
" remove trailing whitespaces
 | 
						||
command! FixWhitespace :%s/\s\+$//e
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"" Functions
 | 
						||
"*****************************************************************************
 | 
						||
if !exists('*s:setupWrapping')
 | 
						||
  function s:setupWrapping()
 | 
						||
    set wrap
 | 
						||
    set wm=2
 | 
						||
    set textwidth=79
 | 
						||
  endfunction
 | 
						||
endif
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"" Autocmd Rules
 | 
						||
"*****************************************************************************
 | 
						||
"" The PC is fast enough, do syntax highlight syncing from start unless 200 lines
 | 
						||
augroup vimrc-sync-fromstart
 | 
						||
  autocmd!
 | 
						||
  autocmd BufEnter * :syntax sync maxlines=200
 | 
						||
augroup END
 | 
						||
 | 
						||
"" Remember cursor position
 | 
						||
augroup vimrc-remember-cursor-position
 | 
						||
  autocmd!
 | 
						||
  autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
 | 
						||
augroup END
 | 
						||
 | 
						||
"" txt
 | 
						||
augroup vimrc-wrapping
 | 
						||
  autocmd!
 | 
						||
  autocmd BufRead,BufNewFile *.txt call s:setupWrapping()
 | 
						||
augroup END
 | 
						||
 | 
						||
"" make/cmake
 | 
						||
augroup vimrc-make-cmake
 | 
						||
  autocmd!
 | 
						||
  autocmd FileType make setlocal noexpandtab
 | 
						||
  autocmd BufNewFile,BufRead CMakeLists.txt setlocal filetype=cmake
 | 
						||
augroup END
 | 
						||
 | 
						||
set autoread
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"" Mappings
 | 
						||
"*****************************************************************************
 | 
						||
 | 
						||
"" Split
 | 
						||
noremap <Leader>h :<C-u>split<CR>
 | 
						||
noremap <Leader>v :<C-u>vsplit<CR>
 | 
						||
 | 
						||
"" Git
 | 
						||
noremap <Leader>ga :Gwrite<CR>
 | 
						||
noremap <Leader>gc :Git commit --verbose<CR>
 | 
						||
noremap <Leader>gsh :Gpush<CR>
 | 
						||
noremap <Leader>gll :Gpull<CR>
 | 
						||
noremap <Leader>gs :Gstatus<CR>
 | 
						||
noremap <Leader>gb :Gblame<CR>
 | 
						||
noremap <Leader>gd :Gvdiff<CR>
 | 
						||
noremap <Leader>gr :Gremove<CR>
 | 
						||
 | 
						||
" session management
 | 
						||
nnoremap <leader>so :OpenSession<Space>
 | 
						||
nnoremap <leader>ss :SaveSession<Space>
 | 
						||
nnoremap <leader>sd :DeleteSession<CR>
 | 
						||
nnoremap <leader>sc :CloseSession<CR>
 | 
						||
 | 
						||
"" Tabs
 | 
						||
nnoremap <Tab> gt
 | 
						||
nnoremap <S-Tab> gT
 | 
						||
nnoremap <silent> <S-t> :tabnew<CR>
 | 
						||
 | 
						||
"" Set working directory
 | 
						||
nnoremap <leader>. :lcd %:p:h<CR>
 | 
						||
 | 
						||
"" Opens an edit command with the path of the currently edited file filled in
 | 
						||
noremap <Leader>e :e <C-R>=expand("%:p:h") . "/" <CR>
 | 
						||
 | 
						||
"" Opens a tab edit command with the path of the currently edited file filled
 | 
						||
noremap <Leader>te :tabe <C-R>=expand("%:p:h") . "/" <CR>
 | 
						||
 | 
						||
"" fzf.vim
 | 
						||
set wildmode=list:longest,list:full
 | 
						||
set wildignore+=*.o,*.obj,.git,*.rbc,*.pyc,__pycache__
 | 
						||
let $FZF_DEFAULT_COMMAND =  "find * -path '*/\.*' -prune -o -path 'node_modules/**' -prune -o -path 'target/**' -prune -o -path 'dist/**' -prune -o  -type f -print -o -type l -print 2> /dev/null"
 | 
						||
 | 
						||
" The Silver Searcher
 | 
						||
if executable('ag')
 | 
						||
  let $FZF_DEFAULT_COMMAND = 'ag --hidden --ignore .git -g ""'
 | 
						||
  set grepprg=ag\ --nogroup\ --nocolor
 | 
						||
endif
 | 
						||
 | 
						||
" ripgrep
 | 
						||
if executable('rg')
 | 
						||
  let $FZF_DEFAULT_COMMAND = 'rg --files --hidden --follow --glob "!.git/*"'
 | 
						||
  set grepprg=rg\ --vimgrep
 | 
						||
  command! -bang -nargs=* Find call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --hidden --follow --glob "!.git/*" --color "always" '.shellescape(<q-args>).'| tr -d "\017"', 1, <bang>0)
 | 
						||
endif
 | 
						||
 | 
						||
cnoremap <C-P> <C-R>=expand("%:p:h") . "/" <CR>
 | 
						||
nnoremap <silent> <leader>b :Buffers<CR>
 | 
						||
nnoremap <silent> <leader>e :FZF -m<CR>
 | 
						||
"Recovery commands from history through FZF
 | 
						||
nmap <leader>y :History:<CR>
 | 
						||
 | 
						||
" snippets
 | 
						||
let g:UltiSnipsExpandTrigger="<tab>"
 | 
						||
let g:UltiSnipsJumpForwardTrigger="<tab>"
 | 
						||
let g:UltiSnipsJumpBackwardTrigger="<c-b>"
 | 
						||
let g:UltiSnipsEditSplit="vertical"
 | 
						||
 | 
						||
" ale
 | 
						||
let g:ale_linters = {}
 | 
						||
 | 
						||
" Tagbar
 | 
						||
nmap <silent> <F4> :TagbarToggle<CR>
 | 
						||
let g:tagbar_autofocus = 1
 | 
						||
 | 
						||
" Disable visualbell
 | 
						||
set noerrorbells visualbell t_vb=
 | 
						||
if has('autocmd')
 | 
						||
  autocmd GUIEnter * set visualbell t_vb=
 | 
						||
endif
 | 
						||
 | 
						||
"" Copy/Paste/Cut
 | 
						||
if has('unnamedplus')
 | 
						||
  set clipboard=unnamed,unnamedplus
 | 
						||
endif
 | 
						||
 | 
						||
noremap YY "+y<CR>
 | 
						||
noremap <leader>p "+gP<CR>
 | 
						||
noremap XX "+x<CR>
 | 
						||
 | 
						||
if has('macunix')
 | 
						||
  " pbcopy for OSX copy/paste
 | 
						||
  vmap <C-x> :!pbcopy<CR>
 | 
						||
  vmap <C-c> :w !pbcopy<CR><CR>
 | 
						||
endif
 | 
						||
 | 
						||
"" Buffer nav
 | 
						||
noremap <leader>z :bp<CR>
 | 
						||
noremap <leader>q :bp<CR>
 | 
						||
noremap <leader>x :bn<CR>
 | 
						||
noremap <leader>w :bn<CR>
 | 
						||
 | 
						||
"" Close buffer
 | 
						||
noremap <leader>c :bd<CR>
 | 
						||
 | 
						||
"" Clean search (highlight)
 | 
						||
nnoremap <silent> <leader><space> :noh<cr>
 | 
						||
 | 
						||
"" Switching windows
 | 
						||
noremap <C-j> <C-w>j
 | 
						||
noremap <C-k> <C-w>k
 | 
						||
noremap <C-l> <C-w>l
 | 
						||
noremap <C-h> <C-w>h
 | 
						||
 | 
						||
"" Vmap for maintain Visual Mode after shifting > and <
 | 
						||
vmap < <gv
 | 
						||
vmap > >gv
 | 
						||
 | 
						||
"" Move visual block
 | 
						||
vnoremap J :m '>+1<CR>gv=gv
 | 
						||
vnoremap K :m '<-2<CR>gv=gv
 | 
						||
 | 
						||
"" Open current line on GitHub
 | 
						||
nnoremap <Leader>o :.Gbrowse<CR>
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"" Custom configs
 | 
						||
"*****************************************************************************
 | 
						||
 | 
						||
" javascript
 | 
						||
let g:javascript_enable_domhtmlcss = 1
 | 
						||
 | 
						||
" vim-javascript
 | 
						||
augroup vimrc-javascript
 | 
						||
  autocmd!
 | 
						||
  autocmd FileType javascript setl tabstop=4|setl shiftwidth=4|setl expandtab softtabstop=4
 | 
						||
augroup END
 | 
						||
 | 
						||
 | 
						||
" ocaml
 | 
						||
" Add Merlin to rtp
 | 
						||
let g:opamshare = substitute(system('opam config var share'),'\n$','','''')
 | 
						||
execute "set rtp+=" . g:opamshare . "/merlin/vim"
 | 
						||
 | 
						||
" ale
 | 
						||
:call extend(g:ale_linters, {
 | 
						||
    \'ocaml': ['merlin'], })
 | 
						||
 | 
						||
 | 
						||
" ruby
 | 
						||
let g:rubycomplete_buffer_loading = 1
 | 
						||
let g:rubycomplete_classes_in_global = 1
 | 
						||
let g:rubycomplete_rails = 1
 | 
						||
 | 
						||
augroup vimrc-ruby
 | 
						||
  autocmd!
 | 
						||
  autocmd BufNewFile,BufRead *.rb,*.rbw,*.gemspec setlocal filetype=ruby
 | 
						||
  autocmd FileType ruby set tabstop=2|set shiftwidth=2|set expandtab softtabstop=2
 | 
						||
augroup END
 | 
						||
 | 
						||
let g:tagbar_type_ruby = {
 | 
						||
    \ 'kinds' : [
 | 
						||
        \ 'm:modules',
 | 
						||
        \ 'c:classes',
 | 
						||
        \ 'd:describes',
 | 
						||
        \ 'C:contexts',
 | 
						||
        \ 'f:methods',
 | 
						||
        \ 'F:singleton methods'
 | 
						||
    \ ]
 | 
						||
\ }
 | 
						||
 | 
						||
" RSpec.vim mappings
 | 
						||
map <Leader>t :call RunCurrentSpecFile()<CR>
 | 
						||
map <Leader>s :call RunNearestSpec()<CR>
 | 
						||
map <Leader>l :call RunLastSpec()<CR>
 | 
						||
map <Leader>a :call RunAllSpecs()<CR>
 | 
						||
 | 
						||
" For ruby refactory
 | 
						||
if has('nvim')
 | 
						||
  runtime! macros/matchit.vim
 | 
						||
else
 | 
						||
  packadd! matchit
 | 
						||
endif
 | 
						||
 | 
						||
" Ruby refactory
 | 
						||
nnoremap <leader>rap  :RAddParameter<cr>
 | 
						||
nnoremap <leader>rcpc :RConvertPostConditional<cr>
 | 
						||
nnoremap <leader>rel  :RExtractLet<cr>
 | 
						||
vnoremap <leader>rec  :RExtractConstant<cr>
 | 
						||
vnoremap <leader>relv :RExtractLocalVariable<cr>
 | 
						||
nnoremap <leader>rit  :RInlineTemp<cr>
 | 
						||
vnoremap <leader>rrlv :RRenameLocalVariable<cr>
 | 
						||
vnoremap <leader>rriv :RRenameInstanceVariable<cr>
 | 
						||
vnoremap <leader>rem  :RExtractMethod<cr>
 | 
						||
 | 
						||
 | 
						||
" rust
 | 
						||
" Vim racer
 | 
						||
au FileType rust nmap gd <Plug>(rust-def)
 | 
						||
au FileType rust nmap gs <Plug>(rust-def-split)
 | 
						||
au FileType rust nmap gx <Plug>(rust-def-vertical)
 | 
						||
au FileType rust nmap <leader>gd <Plug>(rust-doc)
 | 
						||
 | 
						||
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"*****************************************************************************
 | 
						||
 | 
						||
"" Include user's local vim config
 | 
						||
if filereadable(expand("~/.rc.local"))
 | 
						||
  source ~/.rc.local
 | 
						||
endif
 | 
						||
 | 
						||
"*****************************************************************************
 | 
						||
"" Convenience variables
 | 
						||
"*****************************************************************************
 | 
						||
 | 
						||
" vim-airline
 | 
						||
if !exists('g:airline_symbols')
 | 
						||
  let g:airline_symbols = {}
 | 
						||
endif
 | 
						||
 | 
						||
if !exists('g:airline_powerline_fonts')
 | 
						||
  let g:airline#extensions#tabline#left_sep = ' '
 | 
						||
  let g:airline#extensions#tabline#left_alt_sep = '|'
 | 
						||
  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#extensions#branch#prefix     = '⤴' "➔, ➥, ⎇
 | 
						||
  let g:airline#extensions#readonly#symbol   = '⊘'
 | 
						||
  let g:airline#extensions#linecolumn#prefix = '¶'
 | 
						||
  let g:airline#extensions#paste#symbol      = 'ρ'
 | 
						||
  let g:airline_symbols.linenr    = '␊'
 | 
						||
  let g:airline_symbols.branch    = '⎇'
 | 
						||
  let g:airline_symbols.paste     = 'ρ'
 | 
						||
  let g:airline_symbols.paste     = 'Þ'
 | 
						||
  let g:airline_symbols.paste     = '∥'
 | 
						||
  let g:airline_symbols.whitespace = 'Ξ'
 | 
						||
else
 | 
						||
  let g:airline#extensions#tabline#left_sep = ''
 | 
						||
  let g:airline#extensions#tabline#left_alt_sep = ''
 | 
						||
 | 
						||
  " powerline symbols
 | 
						||
  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 = ''
 | 
						||
endif
 |