diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-01-07 10:15:50 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-01-07 10:15:50 +0100 |
commit | 8498842311cd7596989da6d1485fbde79488a056 (patch) | |
tree | 417bc2922175f62cfb51a9ef5eb77b8ba51f356c |
Initial import
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r-- | README.md | 32 | ||||
-rw-r--r-- | vimrc | 141 |
2 files changed, 173 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..c712f84 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# nvim-sensible + +My neovim configuration for getting a minimal working environment on any host +without braining. + +Note that this is not my full vim configuration, just a MVP. + + +## Installation + +* git clone this + +```bash +sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' +``` + +* Paste `vimrc` into `~/.vimrc` + +``` +nix-env -iA nixpkgs.fzf +nix-env -iA nixpkgs.fd +nix-env -iA nixpkgs.gitFull + +mkdir ~/.config/nvim -p +ln -s ~/.vimrc ~/.config/nvim/init.vim + +echo "alias vim=nvim" >> ~/.bashrc +echo '. $HOME/.nix-profile/share/git/contrib/completion/git-completion.bash' >> ~/.bashrc +``` + +* `vim` and `:PlugInstall` + @@ -0,0 +1,141 @@ +set autoindent +set backspace=indent,eol,start +set complete-=i +set smarttab +set nu +set nrformats-=octal +set incsearch +set hlsearch +set laststatus=2 +set ruler +set wildmenu + +set tabstop=4 +set expandtab +set shiftwidth=4 + +if has('autocmd') + filetype plugin indent on +endif +if has('syntax') && !exists('g:syntax_on') + syntax enable +endif + +if !has('nvim') && &ttimeoutlen == -1 + set ttimeout + set ttimeoutlen=100 +endif + +" Use <C-L> to clear the highlighting of :set hlsearch. +if maparg('<C-L>', 'n') ==# '' + nnoremap <silent> <C-L> :nohlsearch<C-R>=has('diff')?'<Bar>diffupdate':''<CR><CR><C-L> +endif + + +if !&scrolloff + set scrolloff=1 +endif +if !&sidescrolloff + set sidescrolloff=5 +endif +set display+=lastline + +if &encoding ==# 'latin1' && has('gui_running') + set encoding=utf-8 +endif + +if &listchars ==# 'eol:$' + set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+ +endif + +if v:version > 703 || v:version == 703 && has("patch541") + set formatoptions+=j " Delete comment character when joining commented lines +endif + +if has('path_extra') + setglobal tags-=./tags tags-=./tags; tags^=./tags; +endif + +if &shell =~# 'fish$' && (v:version < 704 || v:version == 704 && !has('patch276')) + set shell=/usr/bin/env\ bash +endif + +set autoread + +if &history < 1000 + set history=1000 +endif +if &tabpagemax < 50 + set tabpagemax=50 +endif +if !empty(&viminfo) + set viminfo^=! +endif +set sessionoptions-=options + +" Allow color schemes to do bright colors without forcing bold. +if &t_Co == 8 && $TERM !~# '^linux\|^Eterm' + set t_Co=16 +endif + +" Load matchit.vim, but only if the user hasn't installed a newer version. +if !exists('g:loaded_matchit') && findfile('plugin/matchit.vim', &rtp) ==# '' + runtime! macros/matchit.vim +endif + +inoremap <C-U> <C-G>u<C-U> + +colorscheme desert + +nmap <Leader>gs iSigned-off-by:<space>Matthias<Space>Beyer<space><mail@beyermatthias.de><ESC> +nmap <Leader>gr iReviewed-by:<space>Matthias<Space>Beyer<space><mail@beyermatthias.de><ESC> +nmap <Leader>gf iFixes:<space>INSERT<space>HASH<space>("INSERT<space>COMMITMSG")<ESC> +nmap <Leader>gS iSuggested-by:<space>INSERT<space>NAME<space><INSERT<space>EMAIL><ESC> +nmap <Leader>gR iReported-by:<space>INSERT<space>NAME<space><INSERT<space>EMAIL><ESC> + +nmap <Leader>h <C-w>h +nmap <Leader>j <C-w>j +nmap <Leader>k <C-w>k +nmap <Leader>l <C-w>l + +nmap <Leader>s <C-w>s +nmap <Leader>v <C-w>v + +nmap <Leader>w :w<CR> +nmap <Leader>q :q +nmap <Leader>e :Explore<CR> + +nnoremap <Leader><Leader> za +onoremap <Leader><Leader> <C-C>za +vnoremap <Leader><Leader> zf + + +nmap <Leader>ga :Git add %:p<CR><CR> +nmap <Leader>gc :Gcommit -v --quiet<CR>ggi +nmap <Leader>gF :Gcommit --fixup<space> +nmap <Leader>gC :Git add %:p<CR><CR>:Gcommit -v -q<CR>ggi +nmap <Leader>gd :Gvdiff<CR> +nmap <Leader>gb :Gblame<CR> +nmap <Leader>gp :!git push<space> + +nmap <Leader>f :ls<CR>:b<space> +nmap <Leader>zf :FZF<CR> +nmap <Leader>zr :FZFRg<CR> +nmap <Leader>zh :FZFHistory<CR> +nmap <Leader>zl :FZFBLines<CR> +nmap <Leader>zt :FZFTags<CR> +nmap <Leader>zT :FZFBTags<CR> +nmap <Leader>zm :FZFMarks<CR> +nmap <Leader>zw :FZFWindows<CR> + +" Specify a directory for plugins +" - For Neovim: stdpath('data') . '/plugged' +" - Avoid using standard Vim directory names like 'plugin' +call plug#begin('~/.vim/plugged') +Plug 'tpope/vim-fugitive', { 'tag': 'v3.2' } + +" Plugin outside ~/.vim/plugged with post-update hook +Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } +call plug#end() + +" vim:set ft=vim et sw=2: |