我开始提交一些文件导航到内存,但我正在努力在多个文件之间导航。
在我的工作流中,很常见的是,我经常在少数文件之间翻转(足够的文件,使分割窗格窗口变得太小)。
我目前使用NERDTree,但发现钻下到目录繁琐,以及不断使用CTRL W h / CTRL W来回跳来跳去。
我想我会更好地与选项卡,我可以轻松切换之间,但也许我需要使用不同的工作流。
我也喜欢一个“转到文件…”快捷方式像CMD T在TextMate。我发现fuzzy_file_finder
,但它需要vim构建与Ruby绑定,这不是我的原生安装的情况下工作。
虽然我可以重建主要原因,我想切换到vim是所以我可以有一个编辑器环境,我知道将轻松工作在任何平台。
选项有压倒性的任何想法都非常赞赏!
查看’wildmenu’选项让Vim在命令行上方的modeline中显示完成(文件名)列表。您可以更改“wildmode”选项,以进一步配置Vim将完成的选项卡完成类型。
我个人使用:set wildmode = full。
我的工作流程是这样的:
>:cd进入我的项目的toplevel目录。
>打开文件foo / bar / baz:
>最简单的场景:类型:e f< tab> b< tab> b< tab>< enter> ;.
>如果在其中一个目录中有多个以b开头的文件,您可能需要执行< left>或< right>或另一< tab>在键盘上跳跃(或键入几个字母以消除歧义)。
>最差情况下,有共享名称的文件和目录,您需要向下钻取到目录。在这种情况下,选项卡 – 完成目录名称,然后键入*< tab>向下钻取。
>打开2或3个窗口,并根据需要打开所有窗口中的文件。
>一旦文件在缓冲区中打开,不要杀死缓冲区。当您打开新文件时,将其在后台打开。只是:e在同一个窗口中的一个新文件。
>然后,使用:b< tab>循环通过已经在后台打开的缓冲区。如果您键入:b foo< tab>它将仅匹配与foo匹配的当前打开的文件。
我也使用这些映射,使它更容易打开新的窗口,并在它们之间跳跃,因为它是我这么做的东西。
" Window movements; I do this often enough to warrant using up M-arrows on this" nnoremap <M-Right> <C-W><Right> nnoremap <M-Left> <C-W><Left> nnoremap <M-Up> <C-W><Up> nnoremap <M-Down> <C-W><Down> " Open window below instead of above" nnoremap <C-W>N :let sb=&sb<BAR>set sb<BAR>new<BAR>let &sb=sb<CR> " Vertical equivalent of C-w-n and C-w-N" nnoremap <C-w>v :vnew<CR> nnoremap <C-w>V :let spr=&spr<BAR>set nospr<BAR>vnew<BAR>let &spr=spr<CR> " I open new windows to warrant using up C-M-arrows on this" nmap <C-M-Up> <C-w>n nmap <C-M-Down> <C-w>N nmap <C-M-Right> <C-w>v nmap <C-M-Left> <C-w>V
它需要我几秒钟来打开Vim,设置一些窗口,并打开它们中的几个文件。我个人从来没有发现任何第三方文件浏览脚本是非常有用的。