这又是一个非常好用的插件,可以快速的浏览本地文件打开本地文件。如果是不同类型的文件如pdf,会调用本地系统的应用打开,就是这么好用,在习惯了vim后有个毛病,就是想要什么都可能通过命令行去操作,如果你也是这样,那这个插件非常适合你。
老规距,先上效果图
安装 需要先安装到系统中,首次安装不需要初始化也能使用,但是会比较丑,也没有预览功能,所以安装完成后,需要一些配置。
验证安装效果
brew install ranger
iterm2插件 mac 我使用的是 iter2 来使用nvim,所以能不能预览需要iterm2的支持,iterm2官方可以支持。 添加图片插件
curl https://iterm2.com/utilities/imgcat > imgcat chmod +x imgcat mv imgcat /usr/local/bin
这步是装上iterm2的图片预览插件,还需要配置 ranger 的预览功能。
初始化 如何果不初始化将没有图片预览、边框等。
生成配置
ranger --copy-config=all
~/.config/ranger 目录生成以下5个文件:
commands.py 与以下命令一起启动的命令
commands_full.py 全套命令
rc.conf 配置和绑定
rifle.conf 文件关联(用于打开文件的程序)
scope.sh 负责各种文件预览
图片预览 修改 rc.conf,ranger 将可以直接在终端预览图片
set preview_images true set preview_images_method iterm2
操作
:help 里有所有快捷键 l 进入当前当标目录 h 后退 回车 打开应用
g 快速跳转
gh 跳至home gd gu
vim 集成 添加插件:
Plug 'francoiscabrol/ranger.vim'
执行:
安装完成后,验证一下,调用ranger:
输入
也可以通过快捷键就行调用: \ + f 这个操作就是先按一下 \ 后放开,再按一下f。
vim 对应插件官网: https://github.com/francoiscabrol/ranger.vim
当前完整配置 vim-IDE
已经进化到了这一阶段,完成了:
系统基础环境安装
vim 安装、基本配置
左侧文列表
状态栏
模糊搜索
文件浏览
对于文本编辑是完全够用了。
完整配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 set fileencodings=utf-8 ,gb2312,gb18030,gbk,ucs-bom,cp936,latin1set enc=utf8set fencs=utf8,gbk,gb2312,gb18030set nocompatiblefiletype on filetype plugin indent on set tabstop=4 set shiftwidth =4 set softtabstop=4 set expandtabset cursorcolumnau BufReadPost * if line ("'\"" ) > 1 && line ("'\"" ) <= line ("$" ) | exe "normal! g'\"" | endif map td :set splitright<CR> :vsplit <CR> map ta :set nosplitright<CR> :vsplit <CR> map ts :set nosplitbelow<CR> :split <CR> map tw :set splitbelow<CR> :split <CR> map <M-up> :res -5 <CR> map <M-down> :res +5 <CR> map <M-left> :vertical resize -5 <CR> map <M-right> :vertical resize +5 <CR> map W :w <CR> map Q :wq <CR> map tq :q!<CR> map te :terminal<CR> set list listchars=extend s: ❯,precedes: ❮,ta b: ▸\syntax on set number "set relativenumber " 相对行号set wildmenu set hlsearch set incsearch set t_ut= vnoremap <C-y> nnoremap <C-p> call plug#begin('~/.vim/plugged' )Plug 'scrooloose/nerdtree' Plug 'Xuyuanp/nerdtree-git-plugin' Plug 'mhinz/vim-startify' # ranger 插件 Plug 'francoiscabrol/ranger.vim' call plug#end()map tt :NERDTreeToggle<CR> autocmd vimenter * NERDTreemap <leader> r :NERDTreeFind<cr> <C-w> <C-w> "显示书签" let NERDTreeShowBookmarks=1 let NERDTreeShowHidden=1 let NERDTreeIgnore=['\.pyc' ,'\~$' ,'\.swp' ]let g:NERDTreeGitStatusIndicatorMapCustom = { \ "Modified" : "✹" , \ "Staged" : "✚" , \ "Untracked" : "✭" , \ "Renamed" : "➜" , \ "Unmerged" : "═" , \ "Deleted" : "✖" , \ "Dirty" : "✗" , \ "Clean" : "✔︎" , \ 'Ignored' : '☒' , \ "Unknown" : "?" \ } let g:startify_bookmarks = [ \ '~/workspaces/' , \ '~/.config/nvim/init.vim' , \] let g:startify_files_number = 10 let g:startify_session_autoload = 1 let g:startify_skiplist = [ \ '^/tmp' , \ ] let g:startify_custom_header = [ \ '+------------------------------+' , \ '| |' , \ '| Still waters run deep! |' , \ '| |' , \ '+----------------+-------------+' , \] let g:startify_custom_footer = [ \ '+------------------------------+' , \ '| Keep an open mind! |' , \ '+----------------+-------------+' , \] function ! SomeCheck () if filereadable (expand ("%" )) echo "SpecificFile exists" else autocmd VimEnter * Startify endif endfunction call SomeCheck()let g:ranger_map_keys = 0 map <leader> f :Ranger<CR> let g:NERDTreeHijackNetrw = 0 let g:ranger_replace_netrw = 1
总结 到这一步,可以有完成日常文件编译、脱离鼠标的大部份操作,但是对于开发来说还是不够的,尤其每一种编程语言的特点还不太相同。 相信大部分使用vim的朋友都是IT领域的从业人员,小部分是出于真爱使用vim,那是真爱。有很大一部份是为了装X。 但是如果能坚持研究到这一步,也是从路人到喜欢。
后面开始向着编程IDE方向继续进化,演示如何集成各种编程需要的插件,还可以开发自己的插件。 目前工作中大部分时间都是使用vim,已经完成能胜任90%的工作需要。