diff --git a/nvim/config/init.vim b/nvim/config/init.vim index 5fb6d6b..296c7cf 100644 --- a/nvim/config/init.vim +++ b/nvim/config/init.vim @@ -98,12 +98,18 @@ call plug#begin('~/.vim/plugged') Plug 'editorconfig/editorconfig-vim' Plug 'tpope/vim-surround' Plug 'jiangmiao/auto-pairs' -Plug 'preservim/nerdtree', { 'on': 'NERDTreeToggle' } +"Plug 'preservim/nerdtree', { 'on': 'NERDTreeToggle' } +if has('nvim') + Plug 'rbgrouleff/bclose.vim' +endif +Plug 'francoiscabrol/ranger.vim' Plug 'posva/vim-vue', { 'for': 'vue' } Plug 'tpope/vim-repeat' if $VIM_MODE == 'enhanced' Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'puremourning/vimspector' + Plug 'chrisbra/Colorizer' + Plug 'plasticboy/vim-markdown', { 'for': 'markdown' } else Plug 'Vimjas/vim-python-pep8-indent', { 'for': 'python' } endif @@ -113,10 +119,8 @@ Plug 'scrooloose/nerdcommenter' Plug 'mhinz/vim-grepper', { 'on': ['Grepper', '(GrepperOperator)'] } Plug 'morhetz/gruvbox' Plug 'dag/vim-fish', { 'for': 'fish' } -Plug 'chrisbra/Colorizer' Plug 'alvan/vim-closetag', { 'for': ['vue', 'html', 'xml'] } "Plug 'airblade/vim-gitgutter' -Plug 'plasticboy/vim-markdown', { 'for': 'markdown' } Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } Plug 'junegunn/fzf.vim' call plug#end() @@ -182,8 +186,14 @@ nnoremap j :cn nnoremap k :cp -" ==== NERDTree configuration ==== -nnoremap fe :NERDTreeToggle +"" ==== NERDTree configuration ==== +"nnoremap fe :NERDTreeToggle + + +" ==== Ranger configuration ==== +let g:ranger_map_key = 0 +nnoremap :Ranger +nnoremap cg :call OpenRangerIn(system('git rev-parse --show-toplevel') . '/', 'edit ') " ==== fugitive configuration ==== @@ -205,7 +215,7 @@ nnoremap gsc :exec "!git switch -c " . input("Enter new branch name:") for fzf let g:fugitive_no_maps=1 -nnoremap :FZF +nnoremap :GitFiles nnoremap gco :call fzf#run({'source': 'git branch \| cut -c 3-; git tag -l', 'sink': '!git checkout'}) nnoremap gm :call fzf#run({'source': 'git branch \| cut -c 3-', 'sink': '!git merge'}) diff --git a/ranger/config/commands.py b/ranger/config/commands.py index eb12eda..c1d6949 100644 --- a/ranger/config/commands.py +++ b/ranger/config/commands.py @@ -147,3 +147,26 @@ class fzf_select(Command): self.fm.cd(fzf_file) else: self.fm.select_file(fzf_file) + + +class fzf_edit(Command): + """ + :fzf_open + + edit a file using fzf. + + With a prefix argument select only directories. + + See: https://github.com/junegunn/fzf + """ + def execute(self): + import subprocess + import os.path + # match files and directories + command="find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune \ + -o -print 2> /dev/null | sed 1d | cut -b3- | fzf +m" + fzf = self.fm.execute_command(command, universal_newlines=True, stdout=subprocess.PIPE) + stdout, stderr = fzf.communicate() + if fzf.returncode == 0: + fzf_file = os.path.abspath(stdout.rstrip('\n')) + self.fm.edit_file(fzf_file) diff --git a/ranger/config/rc.conf b/ranger/config/rc.conf index 4c4f9ae..8eacefd 100644 --- a/ranger/config/rc.conf +++ b/ranger/config/rc.conf @@ -6,4 +6,5 @@ default_linemode devicons set draw_borders both set vcs_aware true map cg eval import subprocess;fm.cd(subprocess.getoutput('git rev-parse --show-toplevel')) -map fzf_select +map fzf_select +map fzf_edit