一、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)