From 8a573a7066741e7a242dd7282b8d9a4b1947d10f Mon Sep 17 00:00:00 2001 From: Hunter Haugen Date: Wed, 4 Jan 2017 16:15:07 -0800 Subject: [PATCH] Add rg/fzf and updated init.vm --- .config/nvim/init.vim | 95 ++++++++++++++++++++++++++++++++++++++----- .zshrc | 5 +++ 2 files changed, 90 insertions(+), 10 deletions(-) diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index 940fe5b..a87234c 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -4,9 +4,9 @@ Plug 'simnalamburt/vim-mundo' Plug 'easymotion/vim-easymotion' Plug 'vim-scripts/Align' Plug 'neomake/neomake' | Plug 'dojoteef/neomake-autolint' -Plug 'Shougo/neosnippet.vim' -Plug 'Shougo/neosnippet-snippets' +Plug 'Shougo/neosnippet.vim' | Plug 'Shougo/neosnippet-snippets' Plug 'Shougo/deoplete.nvim' +Plug 'Shougo/denite.nvim' | Plug 'Shougo/neoyank.vim' Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } Plug 'junegunn/fzf.vim' Plug 'junegunn/vim-easy-align' @@ -19,14 +19,23 @@ Plug 'rodjek/vim-puppet' call plug#end() " Because. -noremap : +"noremap : let mapleader = "," nnoremap :MundoToggle " +(s)earch, (w)ord for jumping + +noremap fs :w +noremap qq :q +noremap qa :qa +noremap ff :Files +noremap pf :GFiles +noremap bb :Buffers + noremap f :Files noremap F :Files %:p:h noremap v :GFiles +" TODO I'd like to merge the history / buffers list noremap b :Buffers noremap h :History noremap gc :Commits @@ -34,9 +43,22 @@ noremap gb :BCommits noremap c :ChangeDir "noremap u :FufRenewCache "noremap w :bdelete -noremap / :Ag noremap :Helptags +" --column: Show column number +" --line-number: Show line number +" --no-heading: Do not show file headings in results +" --fixed-strings: Search term as a literal string +" --ignore-case: Case insensitive search +" --no-ignore: Do not respect .gitignore, etc... +" --hidden: Search hidden files and folders +" --follow: Follow symlinks +" --glob: Additional conditions for search (in this case ignore everything in the .git/ folder) +" --color: Search color options +command! -bang -nargs=* Rg call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --no-ignore --hidden --follow --glob "!.git/*" --color "always" '.shellescape(), 1, 0) +noremap / :Rg +noremap / :Rg + function s:get_buffer_git_root(...) let root = fugitive#repo().tree(expand('%:p:h')) if empty(root) @@ -67,22 +89,75 @@ command! -bar -bang ChangeDir " 24-bit blue/orange theme colorscheme tender let g:lightline = { - \ 'colorscheme': 'tenderplus', - \ 'separator': { 'left': '', 'right': '' }, - \ 'subseparator': { 'left': '', 'right': '' } - \ } + \ 'colorscheme': 'tenderplus', + \ 'component': { + \ 'lineinfo': '0x%02B:%03l:%-2v' + \ }, + \ 'separator': { 'left': '', 'right': '' }, + \ 'subseparator': { 'left': '', 'right': '' } + \ } noremap tn :color tender noremap ip :color inkpot noremap ir :color ir_black +" TODO quickfix for ripgrep results +" TODO quickfix for autolint and rake stuff + +let g:deoplete#enable_at_startup = 1 + " Undo files in undodir=~/.local/share/nvim/undo/ +" Backup files in backupdir=~/.local/share/nvim/backup/ set undofile +" Copy between instances +let g:neoyank#file = $HOME.'/.local/share/nvim/yankring.txt' +nmap :Denite neoyank +"vmap y :'<,'>! cat \| tee ~/.local/share/nvim/yank.txt +"nmap p o:.!cat ~/.local/share/nvim/yank.txt + +" ^n Show number and fold columns in windows {{{2 +if has("eval") + function! FoldNumbers() + " If we're in a wide window, enable line numbers. + "if winwidth(0) >= 76 " 72 + 4, or should I use tw? + " Add folds, or cycle through number schemes + if &foldlevel < 99 && &foldenable && &foldcolumn == 0 + setlocal foldcolumn=1 + elseif (&foldlevel == 99 || ! &foldenable) && &foldcolumn != 0 + setlocal foldcolumn=0 + elseif ! &rnu && ! &nu + setlocal relativenumber + elseif &rnu + setlocal number + setlocal norelativenumber + elseif &nu + setlocal nonumber + endif + "else + " setlocal norelativenumber + " setlocal nonumber + " setlocal foldcolumn=0 + "endif + endfun + "autocmd WinEnter,BufWinEnter,BufNew * :call FoldNumbers() + noremap :call FoldNumbers() +endif + " Case insensitivity for searching set ignorecase set infercase +" Indentation +set expandtab +set tabstop=2 +set shiftwidth=2 +set smartindent + +" More sane directory completion +set wildmode=longest,list,full +set wildignorecase + " C-c and are not entirely the same, but I want them to be inoremap @@ -101,8 +176,8 @@ nmap l noremap pry orequire'pry';binding.pry noremap PRY Orequire'pry';binding.pry -" Clear search highlights with -nnoremap :noh +" Clear search highlights +nnoremap :noh " Show tabs and trailing whitespace visually {{{2 set list listchars=tab:»·,trail:·,extends:…,nbsp:‗ diff --git a/.zshrc b/.zshrc index 6cd6147..0de8ddc 100644 --- a/.zshrc +++ b/.zshrc @@ -108,6 +108,9 @@ export GPGKEY="0x1CED67750173FC1C" export NETHACKOPTIONS='autopickup,color,!cmdassist,!number_pad,hilite_pet,boulder:0,pickup_types:$"=/!?+,menustyle:partial,!legacy,suppress_alert:3.3.1' export ENVPUPPET_BASEDIR="$HOME/Documents/work/git" export OVFTOOL='/Applications/VMware OVF Tool/ovftool' +if whence rg > /dev/null ; then + export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --glob "!.git/*"' +fi # Prompt #prompt_precmd() { @@ -448,3 +451,5 @@ fi ## Profiling options #unsetopt xtrace #exec 2>&3 3>&- + +[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh