当前位置:  开发笔记 > 开发工具 > 正文

访问VIM中的多个文件

如何解决《访问VIM中的多个文件》经验,为你挑选了4个好方法。

"Unix in a Nutshell"一书讨论了如何访问第572-573页上的多个文件.似乎有非常有用的命令,例如":e",":e#",":e new_file",":n files",":args",":prev"和":n!".命令让我困惑:

":n编辑文件列表中的下一个文件."

":args显示要编辑的文件列表."

":prev编辑文件列表中的上一个文件."

当我做":args"时,我看不到真正的清单.角落里只有一个小文字.我希望看到我用":e"访问的所有文件,即缓冲区中的文件列表.

当我执行命令":n files"时,我在哪里可以看到列表?什么命令":prev"和":n"应该做什么?我收到了错误消息:

只能编辑一个文件.

Rook.. 17

我没有提到这本书,但我会尝试解释vim如何处理文件.

Vim有缓冲区.您打开每个文件:

:e name_of_the_file.txt (在缓冲区中加载文件,即"打开文件")

你也可以:

:e *.txt

这样做的有用选项是

:set laststatus=2 (总是显示状态线)

:set wildmenu (轻松打开文件)

如果你有带netrw插件的标准vim,你可以:

:e . (对于vim的文件管理员之一,可以这么说)

管理缓冲区:

:ls 会给你一个当前打开的缓冲区列表(文件)

:bnext:bprevious(:bn:bp)使您能够循环缓冲区

:bd 关闭缓冲区/文件(完成缓冲区)

其他缓冲区类型用于其他目的(yanking/pasting,temporary,vim的内部,等等)



1> Rook..:

我没有提到这本书,但我会尝试解释vim如何处理文件.

Vim有缓冲区.您打开每个文件:

:e name_of_the_file.txt (在缓冲区中加载文件,即"打开文件")

你也可以:

:e *.txt

这样做的有用选项是

:set laststatus=2 (总是显示状态线)

:set wildmenu (轻松打开文件)

如果你有带netrw插件的标准vim,你可以:

:e . (对于vim的文件管理员之一,可以这么说)

管理缓冲区:

:ls 会给你一个当前打开的缓冲区列表(文件)

:bnext:bprevious(:bn:bp)使您能够循环缓冲区

:bd 关闭缓冲区/文件(完成缓冲区)

其他缓冲区类型用于其他目的(yanking/pasting,temporary,vim的内部,等等)


我不认为`:e*.txt`可以用来打开多个文件.`:next`似乎有效:http://stackoverflow.com/a/12304605/1858225

2> Brian Carper..:

除了Jonathan Leffler所说的,如果不使用命令行中的多个文件调用Vim,可以在Vim打开后通过以下方式设置Vim的参数列表:

:args *.c

请注意,参数列表与您获得的打开缓冲区列表不同:ls.即使您关闭Vim中的所有打开缓冲区,参数列表也保持不变. :n并且:prev可以在Vim中打开一个全新的缓冲区(如果该文件的缓冲区尚未打开),或者可能会将您带到现有缓冲区.

类似地,您可以在Vim中打开多个缓冲区而不会影响参数列表(或者即使arg列表为空). :e打开一个新的缓冲区,但不一定会影响参数列表.打开缓冲区列表和参数列表是独立的.如果要迭代打开缓冲区列表而不是遍历参数列表,请使用:bnand :bp和friends.



3> Jonathan Lef..:

要使这些命令有意义,您可以:

vim *.c

例如,在有20个C文件的目录中.对于单个文件,没有下一个或上一个或重要的文件列表.



4> DanM..:

:n:p:ar:rew:最后一次在命令行参数列表上运行.

例如

> touch aaa.txt bbb.txt ccc.txt
> gvim *.txt

vim在aaa.txt中打开

:ar gives a status line

[aaa.txt] bbb.txt ccc.txt

:n moves to bbb.txt

:ar gives the status line

aaa.txt [bbb.txt] ccc.txt

:rew rewinds us back to the start of the command line arg list to aaa.txt

:last sends us to ccc.txt

:e ddd.txt edits a new file ddd.txt

:ar gives the status line

aaa.txt bbb.txt [ccc.txt]

因此命令集仅在初始命令行参数列表上运行.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有