gcman105 icon

init.vim

gcman105 | PRO | 08/04/17 10:49:59 AM UTC | 0 ⭐ | 5339 👁️ | Never ⏰ | []
VIM |

8.66 KB

|

None

|

0 👍

/

0 👎

" Specify a directory for plugins For Neovim: ~/.local/share/nvim/plugged
" - Avoid using standard Vim directory names like 'plugin'
 
"-----------------------------------------------------------------------------
" vim-plug plugins {{{1
"-----------------------------------------------------------------------------
" Make sure you use single quotes
 
call plug#begin('~/.vim/plugged')
Plug 'Shougo/neomru.vim'
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'zchee/deoplete-jedi'
Plug 'Shougo/deoplete-zsh'
Plug 'mattn/webapi-vim'
Plug 'mattn/gist-vim'
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
Plug 'Shougo/neoinclude.vim'
Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'}
Plug 'scrooloose/nerdcommenter'
Plug 'mattn/emmet-vim'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-vinegar'
Plug 'tpope/vim-repeat'
Plug 'tpope/vim-unimpaired'
Plug 'rizzatti/dash.vim'
Plug 'kshenoy/vim-signature'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
Plug 'hkupty/iron.nvim'
Plug 'sbdchd/neoformat', {'on': 'Neoformat'}
Plug 'mhartington/nvim-typescript'
Plug 'terryma/vim-multiple-cursors'
Plug 'easymotion/vim-easymotion'
Plug 'junegunn/vim-easy-align', {'on': 'EasyAlign'}
Plug 'frankier/neovim-colors-solarized-truecolor-only'
 
function! BuildComposer(info)
  if a:info.status != 'unchanged' || a:info.force
    if has('nvim')
      !cargo build --release
    else
      !cargo build --release --no-default-features --features json-rpc
    endif
  endif
endfunction
 
Plug 'euclio/vim-markdown-composer', { 'do': function('BuildComposer') }
 
call plug#end()
" }}} end of vim-plug plugins ------------------------------------------------
 
"-----------------------------------------------------------------------------
" Settings {{{1
"-----------------------------------------------------------------------------
"Want a different map leader than \
let mapleader = ","
 
"Enable filetypes
filetype on
filetype plugin on
filetype indent on
syntax on
 
"Write the old file out when switching between files.
set autowrite
 
set incsearch           " Set incremental searching"
set hlsearch            " Highlight searching
set wildmenu            " Command line completion
 
set cmdheight=2
set autoindent
 
set spelllang=en_gb     " Set region to British English
 
set scrolloff=3         " Keep the cursor 3 lines off of bottom when scrolling
set timeoutlen=800     " A little bit more time for macros
set ttimeoutlen=50      " Make Esc work faster
 
" When completing by tag, show the whole tag, not just the function name
set showfulltag
 
"Syntax coloring lines that are too long just slows down the world
"set synmaxcol=2048
set synmaxcol=512
 
" Don't update the display while executing macros
set lazyredraw
 
"Switch between buffers without saving
set hidden
 
"command tabo, which makes the current tab the only tab
autocmd BufWinEnter,BufNewFile * silent tabo
 
"Allow backspacing over indent, eol, and the start of an insert
set backspace=2
 
" I'm happy to type the case of things.  I tried the ignorecase, smartcase
" thing but it just wasn't working out for me
set noignorecase
 
set number              " Show lines numbers
set relativenumber      " Make line numbers relative
set laststatus=2        " Always show the status line
set clipboard=unnamed
set showmatch           " Show matching brackets.
set cpoptions+=$        " Show $ at the end of a change command
set virtualedit=all     " Allow cursor into places it cant normally go
 
set splitbelow          " More natural split below
set splitright          " More natural split right
 
set nostartofline       " Do not jump to first character with page commands.
set expandtab           " Insert spaces when TAB is pressed.
set tabstop=2           " Render TABs using this many spaces.
set shiftwidth=2        " Indentation amount for < and > commands.
 
set foldlevel=1         " Set the opening fold level
set foldcolumn=3        " Set the fold gutter width
set foldmethod=marker
set foldopen+=jump
 
set termguicolors
set background=dark     " or light
colorscheme solarized
 
" }}} end of settings --------------------------------------------------------
 
"-----------------------------------------------------------------------------
" Keyboard mapping stuff {{{1
"-----------------------------------------------------------------------------
" Map CTRL-E to do what ',' used to do
nnoremap <c-e> ,
vnoremap <c-e> ,
 
" Shortcut for editing  vimrc file in a new tab
nmap <leader>ev :edit $MYVIMRC<CR>
nmap <leader>et :edit ~/.tmux.conf<CR>
nmap <leader>ez :edit ~/.zshrc<CR>
nmap <leader>sv :so $MYVIMRC<CR>
nmap <leader>st :so ~/.tmux.conf<CR>
nmap <leader>sz :so ~/.zshrc<CR>
 
" Toggle spell checking on and off
nmap <silent> <F3> :set spell!<CR>
 
" Map escape key to jj -- much faster
imap jj <esc>
cmap jj <esc>
 
"Saves time; maps the spacebar to colon
nmap <space> :
 
" Gist keyboard mappings
noremap <leader>gl    :Gist -l<CR>
noremap <leader>gp    :Gist<CR>
vnoremap <leader>gv   :'<,'>Gist<CR>
 
" Press F2 to toggle showing white space on/off
nmap <F2> :set list!<CR>
 
" Press F4 to toggle highlighting on/off, and show current value.
:noremap <F4> :set hlsearch! hlsearch?<CR>
 
" Insert a hash rocket with <c-l>
imap <c-l> <space>=><space>
 
" Emmet expandtab
imap <C-e><C-e> <C-y>,
 
" Align selected lines
vnoremap <leader>ib :!align<cr>
 
" Use CTRL-s for saving, also in instert mode
noremap <silent> <C-s> :w<CR>
inoremap <silent> <C-s> <Esc>:w<CR>a
vnoremap <silent> <C-s> <C-c>:update<CR>
 
"Bubble single lines (kicks butt)
"http://vimcasts.org/episodes/bubbling-text/
nmap <C-Up> ddkP
nmap <C-Down> ddp
 
"Bubble multiple lines
vmap <C-Up> xkP`[V`]
vmap <C-Down> xp`[V`]
 
"Better line wrapping
set wrap
set textwidth=79
set formatoptions=qrn1
 
"Indent stuff
set smartindent
set autoindent
set shiftround
 
" A way to iter through buffers
nnoremap <C-b> :buffers<CR>:buffer<Space>
 
" sudo write this
cmap W! w !sudo tee % >/dev/null
 
" ultisnips setup and key bindings {{{2 ------------------
"let g:UltiSnipsExpandTrigger             =  "<tab>"
"let g:UltiSnipsListSnippets              =  "<c-tab>"
"let g:UltiSnipsJumpForwardTrigger        =  "<tab>"
"let g:UltiSnipsJumpBackwardTrigger       =  "<c-tab>"
inoremap <c-x><c-k> <c-x><c-k>
" If you want :UltiSnipsEdit to split your window.
let g:UltiSnipsEditSplit="vertical"
" }}} end of UltiSnips setup and key bindings ------------
 
" Easymotion setup and key bindings {{{2 -----------------
map <leader><leader>    <Plug>(easymotion-prefix)
" }}} end of Easymotion setup and key bindings -----------
 
" NERDTree setup and key bindings {{{2 -------------------
nnoremap <leader>n         :NERDTreeToggle<cr>
 
"Show hidden files in NerdTree
let NERDTreeShowHidden=1
 
" Hide certain files
let NERDTreeIgnore = ['\.pyc$', '__pycache__', '.git', '.cache', '.idea', '.vscode', '.DS_Store', '.projectile', '.noseids', 'htmlcov', 'node_modules']
 
" }}} end of NERDTree setup and key bindings -------------
 
" }}} end of Keyboard mapping stuff ------------------------------------------
 
" Airline stuff {{{2 -------------------------------------
let g:airline_powerline_fonts = 1
let g:airline_solarized_bg='dark'
" }}} end of Airline stuff -------------------------------
 
" Disable Python 2 support:
let g:loaded_python_provider = 1
 
" Enable deoplete
let g:deoplete#enable_at_startup = 1
 
" FZF stuff {{{2 -----------------------------------------
set rtp+=/usr/local/opt/fzf
" Open files in horizontal split
nnoremap <silent> <Leader>s :call fzf#run({
\   'down': '40%',
\   'sink': 'botright split' })<CR>
 
" Open files in vertical horizontal split
nnoremap <silent> <Leader>v :call fzf#run({
\   'right': winwidth('.') / 2,
\   'sink':  'vertical botright split' })<CR>
 
nnoremap <silent> <Leader>C :call fzf#run({
\   'source':
\     map(split(globpath(&rtp, "colors/*.vim"), "\n"),
\         "substitute(fnamemodify(v:val, ':t'), '\\..\\{-}$', '', '')"),
\   'sink':    'colo',
\   'options': '+m',
\   'left':    30
\ })<CR>
 
" Open buffer
function! s:buflist()
  redir => ls
  silent ls
  redir END
  return split(ls, '\n')
endfunction
 
function! s:bufopen(e)
  execute 'buffer' matchstr(a:e, '^[ 0-9]*')
endfunction
 
nnoremap <silent> <Leader><Enter> :call fzf#run({
\   'source':  reverse(<sid>buflist()),
\   'sink':    function('<sid>bufopen'),
\   'options': '+m',
\   'down':    len(<sid>buflist()) + 2
\ })<CR>
 
nnoremap <C-p> :GFiles<CR>
 
" }}} end of FZF stuff -----------------------------------

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎