您当前的位置: 首页 >  vim

ITKEY_

暂无认证

  • 0浏览

    0关注

    732博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

05_[nvim0.5+从0单排]_vim文件管理插件defx与窗口选择工具 vim-choosewin

ITKEY_ 发布时间:2021-10-06 20:47:24 ,浏览量:0

视频与目录 项目值教程目录https://blog.csdn.net/lxyoucan/article/details/120641546视频全屏https://www.bilibili.com/video/BV1XR4y1n78z/视频

05vim文件管理插件defx与窗口选择工具 vim-choosewin

05_[nvim0.5+从0单排]_vim文件管理插件—defx

欢迎来到第5期,本期介绍一款本人长期在用的插件,在文件管理这块非常的强大.

插件安装

这里以packer为例

-- 文件管理插件,类似与ranger。小孩子才做选择,我都要
use {
	"Shougo/defx.nvim",
	requires = {
		"kristijanhusak/defx-icons", -- dexf文件管理图标支持
		"t9md/vim-choosewin" -- 窗口选择器,可以让defx使用i打开文件
	}
}

配置 defx配置

新增如下配置文件

~/.config/nvim/after/plugin/defx.rc.vim

内容如下:

if !exists('g:loaded_defx') | finish | endif
" Define mappings
"cnoreabbrev sf Defx -listed -new
"      \ -columns=indent:mark:icon:icons:filename:git:size
"      \ -buffer-name=tab`tabpagenr()`
nnoremap sf :Defx -listed -resume
      \ -columns=indent:mark:icon:icons:filename:git:size
      \ -buffer-name=tab`tabpagenr()`
      \ `expand('%:p:h')` -search=`expand('%:p')`
"nnoremap fi :Defx -new `expand('%:p:h')` -search=`expand('%:p')`

autocmd FileType defx call s:defx_my_settings()
	function! s:defx_my_settings() abort
	  " Define mappings
	  nnoremap  
	  \ defx#do_action('open')
	  nnoremap  yy
	  \ defx#do_action('copy')
	  nnoremap  dd
	  \ defx#do_action('move')
	  nnoremap  pp
	  \ defx#do_action('paste')
	  nnoremap  l
	  \ defx#do_action('open')
	  nnoremap  
	  \ defx#do_action('open')
	  nnoremap  E
	  \ defx#do_action('open', 'vsplit')
	  nnoremap  n
	  \ defx#do_action('open', 'pedit')
	  nnoremap  i
	  \ defx#do_action('open', 'choose')
	  nnoremap  o
	  \ defx#do_action('open_or_close_tree')
	  nnoremap  K
	  \ defx#do_action('new_directory')
	  nnoremap  N
	  \ defx#do_action('new_file')
	  nnoremap  M
	  \ defx#do_action('new_multiple_files')
	  nnoremap  C
	  \ defx#do_action('toggle_columns',
	  \                'mark:indent:icon:filename:type:size:time')
	  nnoremap  S
	  \ defx#do_action('toggle_sort', 'time')
	  nnoremap  dD
	  \ defx#do_action('remove')
	  nnoremap  a
	  \ defx#do_action('rename')
	  nnoremap  !
	  \ defx#do_action('execute_command')
	  nnoremap  x
	  \ defx#do_action('execute_system')
	  nnoremap  YY
	  \ defx#do_action('yank_path')
	  nnoremap  .
	  \ defx#do_action('toggle_ignored_files')
	  nnoremap  
	  \ defx#do_action('toggle_ignored_files')
	  nnoremap  ;
	  \ defx#do_action('repeat')
	  nnoremap  h
	  \ defx#do_action('cd', ['..'])
	  nnoremap  
	  \ defx#do_action('cd', ['..'])
	  nnoremap  ~
	  \ defx#do_action('cd')
	  nnoremap  gh
	  \ defx#do_action('cd')
	  nnoremap  gn
	  \ defx#do_action('cd',['~/.config/nvim'])
	  nnoremap  q
	  \ defx#do_action('quit')
	  nnoremap  
	  \ defx#do_action('toggle_select') . 'j'
	  nnoremap  m
	  \ defx#do_action('toggle_select') . 'j'
	  nnoremap  vv
	  \ defx#do_action('toggle_select_all')
	  nnoremap  *
	  \ defx#do_action('toggle_select_all')
	  nnoremap  j
	  \ line('.') == line('$') ? 'gg' : 'j'
	  nnoremap  k
	  \ line('.') == 1 ? 'G' : 'k'
	  nnoremap  
	  \ defx#do_action('redraw')
	  nnoremap  
	  \ defx#do_action('print')
	  nnoremap  cd
	  \ defx#do_action('change_vim_cwd')
	endfunction

call defx#custom#column('icon', {
      \ 'directory_icon': '▸',
      \ 'opened_icon': '▾',
      \ 'root_icon': ' ',
      \ })
call defx#custom#column('git', 'indicators', {
  \ 'Modified'  : 'M',
  \ 'Staged'    : '✚',
  \ 'Untracked' : '✭',
  \ 'Renamed'   : '➜',
  \ 'Unmerged'  : '═',
  \ 'Ignored'   : '☒',
  \ 'Deleted'   : '✖',
  \ 'Unknown'   : '?'
  \ })
defx-icons配置

新增如下配置文件

~/.config/nvim/after/plugin/defx-icons.rc.vim

内容如下:

" 增加图标的宽度,来解决图标 与文件名重叠的问题
let g:defx_icons_column_length = 2

因为图标配置需要优化级比较高,所以要在init.vim中增加如下一行:

source ~/.config/nvim/after/plugin/defx-icons.rc.vim
vim-choosewin配置

这是一个窗口选择插件. 新增如下配置文件

~/.config/nvim/after/plugin/vim-choosewin.rc.vim

内容如下:

"window选择器
" if you want to use overlay feature
let g:choosewin_overlay_enable = 1
关注
打赏
1665243900
查看更多评论
立即登录/注册

微信扫码登录

0.0403s