我已经开始使用Vim开发Perl脚本,而且开始发现它很是强大。 linux
我喜欢的一件事是可以使用vi main.pl maintenance.pl
例如一次打开多个文件,而后使用如下命令在它们之间跳转: git
:n :prev
并查看打开哪一个文件 vim
:args
要添加文件,我能够说: bash
:n test.pl
我但愿它将添加到个人文件列表中,可是它将清除当前文件列表,当我键入:args
我只打开了test.pl
app
那么如何将文件添加和删除到个人args列表中? ide
若是您使用的是osx,而且但愿可以单击选项卡,请使用MouseTerm和SIMBL(从此处获取 )。 另外,请查看此相关讨论 。 wordpress
您可能须要使用Vim全局标记 。 单元测试
这样,您能够快速在文件之间跳动,甚至跳到文件中标记的位置。 并且,关键命令很简短: 'C
带我进入正在使用的代码, 'T
带我进入正在使用的单元测试。 测试
当您更改位置时,重置标记也很快: mC
标记新的代码点, mT
标记新的测试点。 spa
尝试如下地图以方便编辑多个文件
分割窗户
nmap <leader>sh :leftabove vnew<CR>
nmap <leader>sl :rightbelow vnew<CR>
nmap <leader>sk :leftabove new<CR>
nmap <leader>sj :rightbelow new<CR>
“ 处处走
nmap <Cj> <Cw>j
nmap <Ck> <Cw>k
nmap <Cl> <Cw>l
nmap <Ch> <Cw>h
有效处理多个文件的方法是使用tmux。
它容许您垂直和水平分割窗口,以下所示:
我在Mac和linux机器上都以这种方式工做,而且发现它比提供的(在Mac上)本机窗口窗格切换机制更好。 我发现切换更加容易,而且只有使用tmux才能在Mac上运行“位于同一当前目录的新页面”(尽管彷佛存在在同一目录中打开新窗格的选项)。一个很是关键的部分。 当前位置的即时新窗格很是有用。 对于我来讲,使用两个操做系统具备相同按键组合的新窗格的方法对我来讲相当重要,对于全部人的将来兼容性而言,这也是一种奖励。 除了多个tmux窗格,我还尝试使用多个选项卡,例如 和多个新窗口,例如
最终我发现多个tmux窗格对我来讲最有用。 我很是“视觉化”,喜欢将各类环境摆在我面前,就像窗格同样。
tmux还支持旧screen
不支持的水平和垂直窗格(尽管mac的iterm2彷佛支持它,但一样,当前目录设置对我不起做用)。 tmux 1.8
我常常使用命令行和git,所以个人bashrc中有如下别名:
alias gvim="gvim --servername \$(git rev-parse --show-toplevel || echo 'default') --remote-tab"
这将在现有窗口的新选项卡中打开每一个新文件,并将为每一个git存储库建立一个窗口。 所以,若是您从存储库A打开两个文件,从存储库B打开三个文件,则最终会出现两个窗口,一个窗口用于带有两个选项卡的存储库A,一个窗口用于带有三个选项卡的存储库B。
若是您要打开的文件未包含在git repo中,它将进入默认窗口。
要在选项卡之间跳转,请使用如下映射:
nmap <C-p> :tabprevious<CR> nmap <C-n> :tabnext<CR>
要一次打开多个文件,应将其与其余解决方案之一结合使用。