vim 文件相关(四)

一、vim 文件管理相关

插件:

 " 文件管理插件             
 Plug 'preservim/nerdtree'  
 Plug 'Xuyuanp/nerdtree-git-plugin'
 " 历史文件增强 :browse oldfiles
 Plug 'gpanders/vim-oldfiles'

配置:

" NERDTree插件的快捷键
nn <silent> <F5> :NERDTreeToggle<CR>
"自动启动nerdtree
autocmd VimEnter * NERDTree | wincmd p
":browse oldfiles 插件增强
nmap <leader>b <Plug>(Oldfiles)
" F2 通过打开的文件对齐树形目录
nn <silent><F2> :exec("NERDTree ".expand('%:h'))<CR>
" Check if NERDTree is open or active,打开的文件自动定位目录
function! IsNERDTreeOpen()
  return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1)
endfunction
" Call NERDTreeFind iff NERDTree is active, current window contains a modifiable
" file, and we're not in vimdiff
function! SyncTree()
  if &modifiable && IsNERDTreeOpen() && strlen(expand('%')) > 0 && !&diff
    NERDTreeFind
    wincmd p
  endif
endfunction
" Highlight currently open buffer in NERDTree
autocmd BufEnter * call SyncTree()
 
function! ToggleNerdTree()
  set eventignore=BufEnter
  NERDTreeToggle
  set eventignore=
endfunction

" shortcuts to make it easier to jump between errors in quickfix list:
map <C-n> :cnext<CR>
map <C-m> :cprevious<CR>
nnoremap <leader>o :copen<CR>
nnoremap <leader>oo :cclose<CR>

" like <leader>w saves the current file
let mapleader = ","
let g:mapleader = ","

二、常用vim 文件操作

1.vim自带功能

  • 打开文件: shell命令 “vim 路径/文件名” 或者在vim中":e 路径/文件名"
  • 写入文件: vim命令行 “:w 文件名”(无文件名则写入当前文件) 或者 “<leader>w”. 上面配置文件定义了",“为<leader>.
  • 打开历史文件列表: “:browse oldfiles”,这个功能不好用,要翻页到最后输入要打开的文件数字。
  • 打开buffer文件列表: “:ls”

2.插件功能

vim-oldfiles

 历史文件增强插件,用来快速浏览曾经打开过的文件

  • 打开历史文件列表: “<leader>b"在quickfix窗口打开列表。
  • 选择文件:<C-m> <C-n>上下选择。
  • 关闭quickfix窗口: “<leader>oo”
nerdtree

  流行的文件管理插件,配置自动启动以及自动匹配打开文件所在目录。

  • 光标移动: j/k
  • 找到当前目录: p
  • 目录切换: 切换到上级目录: u,进入当前目录 <CR>回车
  • 刷新当前目录: r
  • 设置光标所在目录为顶层目录: C (shift+c)

vim 配置(二)
vim 窗口相关(三)