我已经开始使用Vim来开发Perl脚本,并开始发现它非常强大。
我喜欢的一件事是能够同时打开多个文件:
vi main.pl maintenance.pl
然后在他们之间跳来跳去
:n
:prev
然后查看哪个文件是打开的:
:args
要添加一个文件,我可以说:
:n test.pl
我希望它会被添加到我的文件列表中,但相反,它会清除我当前的文件列表,当我输入:args时,我只有test.pl打开。
那么我如何在我的args列表中添加和删除文件?
我已经开始使用Vim来开发Perl脚本,并开始发现它非常强大。
我喜欢的一件事是能够同时打开多个文件:
vi main.pl maintenance.pl
然后在他们之间跳来跳去
:n
:prev
然后查看哪个文件是打开的:
:args
要添加一个文件,我可以说:
:n test.pl
我希望它会被添加到我的文件列表中,但相反,它会清除我当前的文件列表,当我输入:args时,我只有test.pl打开。
那么我如何在我的args列表中添加和删除文件?
当前回答
你可以在你的.bashrc文件中添加vim和vim -p的别名:
alias vim="vim -p"
这将导致在选项卡中从shell打开多个文件,而不必随后在vim中调用:tab ball。
其他回答
你可以在你的.bashrc文件中添加vim和vim -p的别名:
alias vim="vim -p"
这将导致在选项卡中从shell打开多个文件,而不必随后在vim中调用:tab ball。
在我和其他许多vim用户中,最好的选择是,
使用,
: e file_name.extension
然后按Ctrl + 6切换到最后一个缓冲区。或者,你可以一直按
:ls列出缓冲区,然后使用b后跟缓冲区编号更改缓冲区。
我们使用
:vsp表示垂直分割 :sp:水平拆分
然后<C-W><C-H/K/L/j>来改变工作分割。
当然,您可以在任意数量的分割中编辑任何文件。
清单
要查看当前缓冲区的列表,我使用:
:ls
开放
要打开一个新文件,我使用
:e ../myFile.pl
增强的TAB补全功能(将set wildmenu放在你的.vimrc中)。
注意:你也可以使用:find,它会为你搜索一组路径,但是你需要先自定义这些路径。
切换
要在所有打开的文件之间切换,我使用
:b myfile
增强选项卡完成(仍然设置野生菜单)。
注意::b#选择最后访问的文件,因此您可以使用它在两个文件之间快速切换。
使用windows
Ctrl-W s和Ctrl-W v水平和垂直分割当前窗口。你也可以使用:split和:vertical split (:sp和:vs)
Ctrl-W w在打开的窗口之间切换,Ctrl-W h(或j或k或l)在打开的窗口中导航。
按Ctrl-W c关闭当前窗口,按Ctrl-W o关闭除当前窗口外的所有窗口。
使用-o或-o标志启动vim将打开每个文件各自的分割。
有了所有这些,我不需要在Vim中使用标签,我的手指可以找到缓冲区,而不是眼睛。
注意:如果您希望所有文件都转到同一个Vim实例,请使用——remote-silent选项启动Vim。
为什么不使用标签(在Vim 7中引入)? 你可以用:tabn和:tabp在选项卡之间切换, 使用:table <filepath>您可以添加一个新选项卡;使用常规的:q或:wq关闭一个选项卡。 如果你映射:tabn和:tabp到你的F7/F8键,你可以很容易地在文件之间切换。
如果没有那么多文件或者你没有Vim 7,你也可以把你的屏幕分成多个文件::sp <filepath>。然后你可以用Ctrl+W和方向键在你想要移动的方向上切换分屏(或者代替方向键,W代表下一个和W代表上一个分屏)
添加到args列表:
:argadd
从args列表中删除:
:argdelete
在您的示例中,您可以使用:argedit test.pl将test.pl添加到args列表中,并一步编辑该文件。
:帮助参数提供了更多的细节和高级用法