summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-01-07 10:15:50 +0100
committerMatthias Beyer <mail@beyermatthias.de>2021-01-07 10:15:50 +0100
commit8498842311cd7596989da6d1485fbde79488a056 (patch)
tree417bc2922175f62cfb51a9ef5eb77b8ba51f356c
Initial import
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--README.md32
-rw-r--r--vimrc141
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`
+
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 <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: