mirror of
https://github.com/frebib/dotfiles.git
synced 2024-06-14 12:57:23 +00:00
Move .vim{,rc} to .config
This commit is contained in:
6
.config/vim/.gitignore
vendored
Normal file
6
.config/vim/.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
/bundle/
|
||||
/spell/
|
||||
/swapfiles/
|
||||
/viminfo
|
||||
/vim-latex
|
||||
/.netrwhist
|
1
.config/vim/ftplugin/javascript/config.vim
Normal file
1
.config/vim/ftplugin/javascript/config.vim
Normal file
@ -0,0 +1 @@
|
||||
set tabstop=2
|
1
.config/vim/ftplugin/ocaml/config.vim
Normal file
1
.config/vim/ftplugin/ocaml/config.vim
Normal file
@ -0,0 +1 @@
|
||||
set tabstop=2
|
3
.config/vim/ftplugin/ocaml/keybinds.vim
Normal file
3
.config/vim/ftplugin/ocaml/keybinds.vim
Normal file
@ -0,0 +1,3 @@
|
||||
map <c-p> <esc>:MerlinDocument<enter>
|
||||
map <c-b> <esc>:MerlinLocate<enter>
|
||||
map <c-.> <esc>:MerlinTypeOf<enter>
|
199
.config/vim/vimrc
Normal file
199
.config/vim/vimrc
Normal file
@ -0,0 +1,199 @@
|
||||
set nocompatible " be iMproved, required
|
||||
|
||||
" Reconfigure Vim to be clean!
|
||||
set rtp+=~/.config/vim
|
||||
set directory=.,~/.config/vim
|
||||
set viminfo+=n~/.config/vim/viminfo
|
||||
|
||||
syntax enable
|
||||
filetype plugin on
|
||||
set tabstop=4
|
||||
set shiftwidth=0 " Use tabstop
|
||||
set softtabstop=-1 " Use tabstop
|
||||
set expandtab
|
||||
set smarttab
|
||||
set smartindent
|
||||
set number
|
||||
set linebreak
|
||||
set autoindent
|
||||
set laststatus=2
|
||||
set mouse=nicr
|
||||
set encoding=utf-8
|
||||
set background=dark
|
||||
set directory=$HOME/.config/vim/swapfiles//
|
||||
set omnifunc=syntaxcomplete#Complete
|
||||
|
||||
set title
|
||||
set clipboard=unnamed
|
||||
set wildmenu
|
||||
set report=0
|
||||
set lazyredraw
|
||||
set ttyfast
|
||||
set autoread
|
||||
set showmatch
|
||||
set scrolloff=6
|
||||
set autowriteall
|
||||
set nojoinspaces
|
||||
|
||||
nnoremap <LeftMouse> <nop>
|
||||
nnoremap <RightMouse> <nop>
|
||||
|
||||
" Search options
|
||||
set hlsearch
|
||||
set ignorecase
|
||||
set smartcase
|
||||
|
||||
" GVim settings
|
||||
set guifont=Sauce\ Code\ Pro\ 10.5
|
||||
set guioptions=
|
||||
|
||||
" Whitespace highlight settings
|
||||
set list
|
||||
set listchars=eol:$,space:.,tab:>-,trail:~,extends:>,precedes:<
|
||||
|
||||
" set the runtime path to include Vundle and initialize
|
||||
set rtp+=~/.config/vim/bundle/Vundle.vim
|
||||
call vundle#begin()
|
||||
call vundle#rc('~/.config/vim/bundle')
|
||||
|
||||
Plugin 'VundleVim/Vundle.vim'
|
||||
Plugin 'Valloric/YouCompleteMe'
|
||||
Plugin 'scrooloose/syntastic'
|
||||
Plugin 'tpope/vim-sensible'
|
||||
Plugin 'tpope/vim-fugitive'
|
||||
Plugin 'tpope/vim-rhubarb'
|
||||
Plugin 'tpope/vim-abolish'
|
||||
Plugin 'vim-scripts/vim-auto-save'
|
||||
Plugin 'airblade/vim-gitgutter'
|
||||
Plugin 'ryanoasis/vim-devicons'
|
||||
Plugin 'vim-airline/vim-airline'
|
||||
Plugin 'vim-airline/vim-airline-themes'
|
||||
Plugin 'PotatoesMaster/i3-vim-syntax'
|
||||
Plugin 'lervag/vimtex'
|
||||
Plugin 'JamshedVesuna/vim-markdown-preview'
|
||||
|
||||
call vundle#end()
|
||||
|
||||
" Change to dvorak-mapped keys
|
||||
let g:use_dvorak = 1
|
||||
|
||||
" Vim-Airline config
|
||||
let g:Powerline_symbols = 'fancy'
|
||||
let g:airline_powerline_fonts = 1
|
||||
let g:airline_theme='solarized'
|
||||
let g:airline#extensions#tabline#enabled = 1
|
||||
|
||||
" vim-auto-save
|
||||
let g:auto_save = 1 " enable AutoSave on Vim startup
|
||||
|
||||
" vim-markdown plugin
|
||||
let vim_markdown_preview_toggle=0
|
||||
let vim_markdown_preview_browser='Chromium'
|
||||
let vim_markdown_preview_use_xdg_open=1
|
||||
let vim_markdown_preview_github=1
|
||||
|
||||
" lervag/vimtex plugin
|
||||
nmap <silent><buffer> <Nop> <plug>(vimtex-env-delete)
|
||||
nmap <silent><buffer> <Nop> <plug>(vimtex-cmd-delete)
|
||||
nmap <silent><buffer> <Nop> <plug>(vimtex-env-delete-math)
|
||||
nmap <silent><buffer> <Nop> <plug>(vimtex-env-toggle-star)
|
||||
nmap <silent><buffer> <Nop> <plug>(vimtex-delim-toggle-modifier)
|
||||
xmap <silent><buffer> <Nop> <plug>(vimtex-delim-toggle-modifier)
|
||||
|
||||
let mapleader="\<space>"
|
||||
" Unbind arrow keys
|
||||
for prefix in ['n', 'v']
|
||||
for key in ['<Up>', '<Down>', '<Left>', '<Right>']
|
||||
exe prefix . "noremap " . key . " <Nop>"
|
||||
endfor
|
||||
endfor
|
||||
|
||||
" Dvorak Hackery
|
||||
" Source: https://github.com/sporkbox/vimrc/blob/master/vimrc
|
||||
if (exists("g:use_dvorak") && g:use_dvorak == 1)
|
||||
" I use a Dvorak keyboard, so standard vim movement keys are a hassle.
|
||||
" Since mnemonics are helpful all around, I need a mapping that gives me
|
||||
" pain-free file navigation without screwing up mnemonics (too much).
|
||||
"
|
||||
" Thus:
|
||||
" (D)elete is now (K)ill: d2w == k2w "kill 2 words"
|
||||
" Un(T)il is now (J)ump-To: dt( == kj( "kill, jump-to paren"
|
||||
" (N)ext is now (L)eap: cn == cl "change up to leap point"
|
||||
|
||||
" Standard movement, which is the true focus of this hack.
|
||||
" Mnemonics are awesome, so let's preserve as much as possible.
|
||||
noremap d h
|
||||
noremap h j
|
||||
noremap t k
|
||||
noremap n l
|
||||
noremap D H
|
||||
noremap H J
|
||||
noremap T K
|
||||
noremap N L
|
||||
|
||||
noremap gh gj
|
||||
noremap gt gk
|
||||
|
||||
" I work with tabs every now and then. No, I don't have a mnemonic, so
|
||||
" stfu.
|
||||
noremap gj gt
|
||||
noremap gJ gT
|
||||
|
||||
" Window movement, equally important
|
||||
noremap <C-w>d <C-w>h
|
||||
noremap <C-w>h <C-w>j
|
||||
noremap <C-w>t <C-w>k
|
||||
noremap <C-w>n <C-w>l
|
||||
|
||||
nnoremap <C-w><C-d> <C-w><C-h>
|
||||
nnoremap <C-w><C-h> <C-w><C-j>
|
||||
nnoremap <C-w><C-t> <C-w><C-k>
|
||||
nnoremap <C-w><C-n> <C-w><C-l>
|
||||
|
||||
nnoremap <C-d> <C-w>h
|
||||
nnoremap <C-h> <C-w>j
|
||||
nnoremap <C-t> <C-w>k
|
||||
nnoremap <C-n> <C-w>l
|
||||
|
||||
" Account for tag jumping
|
||||
nnoremap <C-j> <C-t>
|
||||
|
||||
" Remappings for the D key
|
||||
noremap k d
|
||||
noremap K D
|
||||
|
||||
" Remappings for the T key
|
||||
noremap j t
|
||||
noremap J T
|
||||
|
||||
" Remapping for the L key
|
||||
noremap l n
|
||||
noremap L N
|
||||
|
||||
" General purpose help; the originals remain for convenience
|
||||
noremap - 0
|
||||
noremap _ $
|
||||
|
||||
" Fold-related keybindings
|
||||
noremap zh zj
|
||||
noremap zt zk
|
||||
|
||||
endif
|
||||
|
||||
" Interface with system clipboard
|
||||
noremap <Leader>y "*y
|
||||
noremap <Leader>p "*p
|
||||
noremap <Leader>Y "+y
|
||||
noremap <Leader>P "+p
|
||||
|
||||
" Save aliases.
|
||||
noremap <Leader>q :wq<CR>
|
||||
com W w
|
||||
com Q q
|
||||
com Wq wq
|
||||
com WQ wq
|
||||
" Write with sudo
|
||||
cmap w!! w !sudo tee > /dev/null %
|
||||
|
||||
autocmd FileType markdown setlocal ts=2 sts=2 sw=2 et
|
||||
autocmd FileType yaml setlocal ts=2 sts=2 sw=2 et
|
Reference in New Issue
Block a user