From 8498842311cd7596989da6d1485fbde79488a056 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Thu, 7 Jan 2021 10:15:50 +0100 Subject: Initial import Signed-off-by: Matthias Beyer --- README.md | 32 ++++++++++++++ vimrc | 141 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 173 insertions(+) create mode 100644 README.md create mode 100644 vimrc 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` + diff --git a/vimrc b/vimrc new file mode 100644 index 0000000..8b5065c --- /dev/null +++ b/vimrc @@ -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 to clear the highlighting of :set hlsearch. +if maparg('', 'n') ==# '' + nnoremap :nohlsearch=has('diff')?'diffupdate':'' +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 u + +colorscheme desert + +nmap gs iSigned-off-by:MatthiasBeyer +nmap gr iReviewed-by:MatthiasBeyer +nmap gf iFixes:INSERTHASH("INSERTCOMMITMSG") +nmap gS iSuggested-by:INSERTNAMEEMAIL> +nmap gR iReported-by:INSERTNAMEEMAIL> + +nmap h h +nmap j j +nmap k k +nmap l l + +nmap s s +nmap v v + +nmap w :w +nmap q :q +nmap e :Explore + +nnoremap za +onoremap za +vnoremap zf + + +nmap ga :Git add %:p +nmap gc :Gcommit -v --quietggi +nmap gF :Gcommit --fixup +nmap gC :Git add %:p:Gcommit -v -qggi +nmap gd :Gvdiff +nmap gb :Gblame +nmap gp :!git push + +nmap f :ls:b +nmap zf :FZF +nmap zr :FZFRg +nmap zh :FZFHistory +nmap zl :FZFBLines +nmap zt :FZFTags +nmap zT :FZFBTags +nmap zm :FZFMarks +nmap zw :FZFWindows + +" 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: -- cgit v1.2.3