我已经开始使用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列表中添加和删除文件?
当前回答
To open 2 or more files with vim type: vim -p file1 file2 After that command to go threw that files you can use CTRL+Shift+↑ or ↓ , it will change your files in vim. If u want to add one more file vim and work on it use: :tabnew file3 Also u can use which will not create a new tab and will open file on screen slicing your screen: :new file3 If u want to use a plugin that will help u work with directories and files i suggest u NERDTree. To download it u need to have vim-plug so to download other plugins also NERDTree to type this commands in your ~/.vimrc.
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
if empty(glob(data_dir . '/autoload/plug.vim'))
silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
call plug#begin('~/.vim/plugged')
Plug 'scrooloose/nerdtree'
call plug#end()
然后通过命令:wq保存.vimrc,返回并输入::PlugInstall
之后,插件将被安装,你可以使用你的NERDTree与其他插件。
其他回答
Vim(但不是原始的Vi!)有制表符,我发现(在许多情况下)比缓冲区更好。你可以说:table [filename]在新选项卡中打开一个文件。标签之间的循环是通过点击标签或组合键[n]gt和gt来完成的。graphic Vim甚至有图形标签。
为什么不使用标签(在Vim 7中引入)? 你可以用:tabn和:tabp在选项卡之间切换, 使用:table <filepath>您可以添加一个新选项卡;使用常规的:q或:wq关闭一个选项卡。 如果你映射:tabn和:tabp到你的F7/F8键,你可以很容易地在文件之间切换。
如果没有那么多文件或者你没有Vim 7,你也可以把你的屏幕分成多个文件::sp <filepath>。然后你可以用Ctrl+W和方向键在你想要移动的方向上切换分屏(或者代替方向键,W代表下一个和W代表上一个分屏)
To open 2 or more files with vim type: vim -p file1 file2 After that command to go threw that files you can use CTRL+Shift+↑ or ↓ , it will change your files in vim. If u want to add one more file vim and work on it use: :tabnew file3 Also u can use which will not create a new tab and will open file on screen slicing your screen: :new file3 If u want to use a plugin that will help u work with directories and files i suggest u NERDTree. To download it u need to have vim-plug so to download other plugins also NERDTree to type this commands in your ~/.vimrc.
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
if empty(glob(data_dir . '/autoload/plug.vim'))
silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
call plug#begin('~/.vim/plugged')
Plug 'scrooloose/nerdtree'
call plug#end()
然后通过命令:wq保存.vimrc,返回并输入::PlugInstall
之后,插件将被安装,你可以使用你的NERDTree与其他插件。
我使用缓冲区命令-:bn(下一个缓冲区),:bp(上一个缓冲区):buffers(列表打开缓冲区):b<n>(打开缓冲区n):bd(删除缓冲区)。:e <filename>将打开一个新的缓冲区。
将所有缓冲区更改为选项卡视图。
:tab sball
将打开TAB视图的所有缓冲区。然后我们可以使用任何与制表符相关的命令
gt or :tabn " go to next tab
gT or :tabp or :tabN " go to previous tab
详细信息见:help tab-page-commands。
我们可以通过vim -p file1 file2命令vim以tab视图的形式打开多个文件。 别名vim='vim -p'将很有用。 在~/.vimrc中使用下面的自动命令也可以实现同样的功能
au VimEnter * if !&diff | tab all | tabfirst | endif
总之,回答这个问题: 添加到arg列表:arga文件
从参数列表中删除:argd模式
更多信息见:help arglist