os/modules/terminal-life/nvim/init.vim

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

112 lines
2.1 KiB
VimL
Raw Normal View History

2021-05-30 19:10:28 +00:00
set nocompatible " be iMproved, required
filetype indent plugin on " required
set modeline
set modelines=1
set nowrap
set viminfo='100,<100,s20 " vim file history
set hidden
set expandtab
set shiftwidth=2
set number
set relativenumber
set mouse=
set autoindent
set smartindent
2021-05-30 19:10:28 +00:00
set undolevels=1000
set undoreload=10000
set updatetime=300
let mapleader = " "
nmap <c-s> :w<CR>
imap <c-s> <Esc>:w<CR>
vmap <c-s> <Esc><c-s>gv
noremap <leader>y "+y
noremap <leader>p "+p
noremap i <Up>
noremap j <Left>
noremap k <Down>
noremap h i
vnoremap K L
vnoremap I H
vnoremap H I
nnoremap K L
nnoremap I H
nnoremap H I
map <leader>wi :wincmd k<CR>
map <leader>wj :wincmd h<CR>
map <leader>wk :wincmd j<CR>
map <leader>wl :wincmd l<CR>
2021-05-30 19:10:28 +00:00
map <leader>wI :wincmd K<CR>
map <leader>wJ :wincmd H<CR>
map <leader>wK :wincmd J<CR>
map <leader>wL :wincmd L<CR>
2021-05-30 19:10:28 +00:00
" replay macro for each line of a visual selection
xnoremap @q :normal @q<CR>
xnoremap @@ :normal @@<CR>
" reselect and re-yank any text that is pasted in visual mode
xnoremap p pgvy
" Escape overwrite
inoremap jj <Esc>
" Open new buffer
nmap <leader>T :enew<cr>
" Move to the next buffer
nmap <leader>l :bnext<CR>
" Move to the previous buffer
nmap <leader>j :bprevious<CR>
" Close the current buffer and move to the previous one
" This replicates the idea of closing a tab
nmap <leader>q :bp <BAR> bd #<CR>
" Show all open buffers and their status
nmap <leader>bl :ls<CR>
"
" Move to the next tab
nmap <leader>tl :tabnext<CR>
" Move to the previous tab
nmap <leader>tj :tabprevious<CR>
" Close the current tab
nmap <leader>tq :tabclose<CR>
2021-05-30 19:10:28 +00:00
" Mapping selecting mappings
nmap <leader><tab> <plug>(fzf-maps-n)
xmap <leader><tab> <plug>(fzf-maps-x)
omap <leader><tab> <plug>(fzf-maps-o)
nmap <c-p> :Files<CR>
imap <c-p> <ESC>:Files<CR>
" Insert mode completion
imap <c-x><c-k> <plug>(fzf-complete-word)
imap <c-x><c-f> <plug>(fzf-complete-path)
imap <c-x><c-j> <plug>(fzf-complete-file)
imap <c-x><c-l> <plug>(fzf-complete-line)
" Clear quickfix shortcut
nmap <Leader>c :ccl<CR>
nmap - :NnnPicker %<CR>
nmap <leader>n :NnnPicker %<CR>
nmap <leader>N :NnnPicker<CR>