2019-02-10 21:17:03 +01:00
|
|
|
" Be IMproved
|
|
|
|
if &compatible
|
|
|
|
set nocompatible
|
|
|
|
endif
|
2019-02-14 03:22:58 +01:00
|
|
|
|
|
|
|
" set leader key
|
|
|
|
let g:mapleader="\\"
|
|
|
|
" alias for leader key
|
|
|
|
nmap <space> \
|
|
|
|
xmap <space> \
|
|
|
|
|
|
|
|
syntax enable " Enables syntax highlighing
|
2019-02-16 17:44:35 +01:00
|
|
|
set hidden " Required for specific actions that require multiple buffers
|
2019-02-14 03:22:58 +01:00
|
|
|
set nowrap " display long lines as just one line
|
|
|
|
set encoding=utf-8 " The encoding displayed
|
|
|
|
set fileencoding=utf-8 " The encoding written to file
|
2019-02-17 18:03:58 +01:00
|
|
|
set ruler " show the cursor position all the time
|
2019-02-14 03:22:58 +01:00
|
|
|
set iskeyword+=- " treat dash separated words as a word text object"
|
|
|
|
set mouse=a " Enable your mouse
|
|
|
|
set splitbelow " Horizontal splits will automatically be below
|
|
|
|
set splitright " Vertical splits will automatically be to the right
|
|
|
|
set t_Co=256 " Support 256 colors
|
|
|
|
set autochdir " Your working directory will always be the same as your working directory
|
2019-02-17 18:03:58 +01:00
|
|
|
set tabstop=2 " Insert 2 spaces for a tab
|
|
|
|
set shiftwidth=2 " Change the number of space characters inserted for indentation
|
2019-02-14 03:22:58 +01:00
|
|
|
set smarttab " Makes tabbing smarter will realize you have 2 vs 4
|
|
|
|
set expandtab " Converts tabs to spaces
|
|
|
|
set smartindent " Makes indenting smart
|
|
|
|
set autoindent " Good auto indent
|
|
|
|
set laststatus=2 " Always display the status line
|
|
|
|
set number " Line numbers
|
|
|
|
set cursorline " Enable highlighting of the current line
|
|
|
|
set background=dark " tell vim what the background color looks like
|
|
|
|
|
|
|
|
let g:python_highlight_all = 0 " Get rid of annoying red highlights"
|
|
|
|
let g:elite_mode=1 " Disable arrows"
|
|
|
|
|
2019-02-11 21:19:13 +01:00
|
|
|
" Disable arrow movement, resize splits instead.
|
|
|
|
if get(g:, 'elite_mode')
|
|
|
|
nnoremap <Up> :resize -2<CR>
|
|
|
|
nnoremap <Down> :resize +2<CR>
|
|
|
|
nnoremap <Left> :vertical resize -2<CR>
|
|
|
|
nnoremap <Right> :vertical resize +2<CR>
|
|
|
|
endif
|
2019-02-14 03:22:58 +01:00
|
|
|
|
|
|
|
" Gives vim abilty to recognize filetypes
|
|
|
|
filetype plugin indent on
|
2019-02-11 21:19:13 +01:00
|
|
|
" Alternate way to save
|
|
|
|
nnoremap <C-s> :w<CR>
|
|
|
|
" Alternate way to quit
|
|
|
|
nnoremap <C-Q> :wq!<CR>
|
|
|
|
" Use control-c instead of escape
|
|
|
|
nnoremap <C-c> <Esc>
|
|
|
|
" <TAB>: completion.
|
|
|
|
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
|
|
|
|
" Open terminal with F1
|
2019-02-13 00:35:28 +01:00
|
|
|
nnoremap <silent> <F1> :10split term://bash<CR>
|
2019-02-16 23:12:38 +01:00
|
|
|
nnoremap <silent> <F2> :bdelete! term://*<return>
|
2019-02-11 21:19:13 +01:00
|
|
|
" insert mode for terminal
|
2019-02-16 23:12:38 +01:00
|
|
|
""autocmd BufWinEnter,WinEnter term://* startinsert
|
|
|
|
""autocmd BufLeave term://* stopinsert
|
2019-02-13 00:35:28 +01:00
|
|
|
" Toggle tagbar
|
2019-02-16 17:44:35 +01:00
|
|
|
"nnoremap <silent> <F2> :TagbarToggle<CR>
|
2019-02-13 00:35:28 +01:00
|
|
|
" Toggle Line numbers
|
2019-02-16 17:44:35 +01:00
|
|
|
"nnoremap <silent> <F4> :set nonumber!<CR>
|
2019-02-13 00:35:28 +01:00
|
|
|
" Toggle NERDTree
|
2019-02-16 17:44:35 +01:00
|
|
|
"nnoremap <silent> <F5> :NERDTreeToggle<CR>
|
2019-02-13 00:35:28 +01:00
|
|
|
" Startify
|
2019-02-16 17:44:35 +01:00
|
|
|
"nnoremap <silent> <F6> :Startify<CR>
|
2019-02-13 00:35:28 +01:00
|
|
|
" Get rid of highlights after search
|
2019-02-16 17:44:35 +01:00
|
|
|
"nnoremap <silent> <F7> :nohlsearch<CR><F7>
|
2019-02-13 00:35:28 +01:00
|
|
|
" Toggle open buffers
|
2019-02-16 17:44:35 +01:00
|
|
|
" nnoremap <silent> <F8> :BuffergatorToggle<CR>
|
2019-02-13 00:35:28 +01:00
|
|
|
" For fuzzy finder
|
2019-02-14 03:22:58 +01:00
|
|
|
""nnoremap <silent> <F9> :Files<CR>
|
2019-02-13 00:35:28 +01:00
|
|
|
" F10 split vertical
|
2019-02-16 17:44:35 +01:00
|
|
|
"nnoremap <silent> <F9> :vsplit<CR>
|
2019-02-13 00:35:28 +01:00
|
|
|
" F11 split horizontal
|
2019-02-16 17:44:35 +01:00
|
|
|
"nnoremap <silent> <F10> :split<CR>
|
2019-02-13 00:35:28 +01:00
|
|
|
" Make current buffer only buffer
|
2019-02-16 17:44:35 +01:00
|
|
|
"nnoremap <silent> <F12> :only<CR>
|
2019-02-11 21:19:13 +01:00
|
|
|
" Remap window switch
|
2019-02-13 00:35:28 +01:00
|
|
|
" Switch to rename for LSP to do add leader
|
|
|
|
""nnoremap <F4> :SearchTasks *<CR>
|
2019-02-14 03:22:58 +01:00
|
|
|
|
2019-02-16 23:12:38 +01:00
|
|
|
nnoremap <silent> <leader>q :q<return>
|
2019-02-14 03:22:58 +01:00
|
|
|
nnoremap <silent> <leader>n :NERDTreeToggle<return>
|
|
|
|
nnoremap <silent> <leader>m :TagbarToggle<return>
|
|
|
|
nnoremap <silent> <leader>l :set nonumber!<return>
|
2019-02-16 17:44:35 +01:00
|
|
|
nnoremap <silent> <leader>o :only<return>
|
2019-02-14 03:22:58 +01:00
|
|
|
nnoremap <silent> <leader>s :Startify<return>
|
|
|
|
nnoremap <silent> <leader>w :w<return>
|
|
|
|
nnoremap <silent> <leader>p :pclose<return>
|
2019-02-16 23:12:38 +01:00
|
|
|
nnoremap <silent> <leader>b :BuffergatorToggle<return>
|
2019-02-17 18:03:58 +01:00
|
|
|
nnoremap <silent> <leader>ch :ColorToggle<return>
|
2019-02-16 17:44:35 +01:00
|
|
|
nnoremap <silent> <leader>gy :Goyo<return>
|
|
|
|
nnoremap <silent> <leader>hi :nohlsearch<return>
|
|
|
|
nnoremap <silent> <leader>hs :split<return>
|
|
|
|
nnoremap <silent> <leader>vs :vsplit<return>
|
|
|
|
nnoremap <silent> <leader>gh :call LanguageClient_textDocument_hover()<CR>
|
|
|
|
nnoremap <silent> <leader>gd :call LanguageClient_textDocument_definition()<CR>
|
|
|
|
nnoremap <silent> <leader>gr :call LanguageClient_textDocument_rename()<CR>
|
|
|
|
nnoremap <silent> <leader>gc :call LanguageClient_contextMenu()<CR>
|
|
|
|
nnoremap <silent> <leader>fr :call LanguageClient_textDocument_references()<CR>
|
2019-02-14 03:22:58 +01:00
|
|
|
|
2019-02-16 17:44:35 +01:00
|
|
|
" This is a funtion to open any file with <leader>(key sequence)
|
2019-02-14 03:22:58 +01:00
|
|
|
fun! OpenConfigFile(file)
|
|
|
|
if (&filetype ==? 'startify')
|
|
|
|
execute 'e ' . a:file
|
|
|
|
else
|
|
|
|
execute 'tabe ' . a:file
|
|
|
|
endif
|
|
|
|
endfun
|
|
|
|
nnoremap <silent> <leader>in :call OpenConfigFile('~/.config/nvim/init.vim')<cr>
|
2019-02-16 17:44:35 +01:00
|
|
|
nnoremap <silent> <leader>bashrc :call OpenConfigFile('~/.bashrc')<cr>
|
2019-02-17 18:03:58 +01:00
|
|
|
nnoremap <silent> <leader>code :call OpenConfigFile('~/Library/Application Support/Code/User/settings.json')<cr>
|
2019-02-14 03:22:58 +01:00
|
|
|
|
2019-02-11 21:19:13 +01:00
|
|
|
nnoremap <C-h> <C-w>h
|
|
|
|
nnoremap <C-j> <C-w>j
|
|
|
|
nnoremap <C-k> <C-w>k
|
|
|
|
nnoremap <C-l> <C-w>l
|
|
|
|
" Remap terminal switch
|
|
|
|
tnoremap <C-[> <C-\><C-n>
|
|
|
|
tnoremap <C-c><Esc> <Esc>
|
|
|
|
tnoremap <C-h> <C-\><C-n><C-w>h
|
|
|
|
tnoremap <C-j> <C-\><C-n><C-w>j
|
|
|
|
tnoremap <C-k> <C-\><C-n><C-w>k
|
|
|
|
tnoremap <C-l> <C-\><C-n><C-w>l
|
2019-02-14 03:22:58 +01:00
|
|
|
" TAB in general mode will move to text buffer
|
2019-02-11 21:19:13 +01:00
|
|
|
nnoremap <TAB> :bnext<CR>
|
|
|
|
" SHIFT-TAB will go back
|
|
|
|
nnoremap <S-TAB> :bprevious<CR>
|
2019-02-16 23:12:38 +01:00
|
|
|
|
|
|
|
|