⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usr_07.cnx

📁 Vim 中文文档
💻 CNX
📖 第 1 页 / 共 2 页
字号:
*usr_07.txt*	For Vim version 6.3.  最近更新:2004年6月		    Vim用户手册 - by Bram Moolenaar		(译者:Nek_in http://vimcdoc.sf.net)			  编辑多个文件无论你有多少个文件,你都可以同时编辑它们而不需要退出 Vim。本章介绍如何定义一个文件列表,并基于这个列表工作,或者从一个文件跳转到另一个文件,又或者从一个文件中拷贝文字,并写入到另一个文件中。|07.1|	编辑另一个文件|07.2|	文件列表|07.3|	从一个文件中跳到另一个文件|07.4|	备份文件|07.5|	文件间拷贝|07.6|	显示文件|07.7|	修改文件名     下一章:|usr_08.txt|  分割窗口     前一章:|usr_06.txt|  使用语法加亮       目录:|usr_toc.txt|=============================================================================*07.1*	编辑另一个文件在本章前,你都是为每一个文件启动一次 Vim 的。实际上还有其它办法。如下命令就可以在 Vim 中打开另一个文件: >	:edit foo.txt你可以用任何其它文件名取代上面的 "foo.txt"。Vim 会关闭当前文件并打开另一个。但如果当前文件被修改过而没有存盘, Vim 会显示一个错误信息而不会打开这个新文件:	E37: No write since last change (use ! to override) ~	(译者注:在中文状态下显示:	E37:文件内容已改变但尚未保存 (可用 ! 强制执行)~	Note:	Vim 在每个错误信息的前面都放了一个错误号。如果你不明白错误信息的意思,	可以从帮助系统中获得更详细的说明。对本例而言: >		:help E37出现上面的情况,你有多个解决方案。首先你可以通过如下命令保存当前文件:  >	:write或者,你可以强制 Vim 放弃当前修改并编辑新的文件。这时应该使用强制修饰符 ! :>	:edit! foo.txt如果你想编辑另一个文件,但又不想马上保存当前文件,可以隐藏它:>	:hide edit foo.txt原来的文件还在那里,只不过你看不见。这将在 "|22.4|: 缓冲区列表" 中解释。=============================================================================*07.2*	文件列表你可以在启动 Vim 的时候指定一堆文件。例如:>	vim one.c two.c three.c这个命令启动 Vim 并告诉它你要编辑三个文件。Vim 只显示第一个。等你编辑完第一个的后,你可以用如下命令编辑第二个:>	:next如果你在当前文件中有未保存的修改,你会得到一个错误信息而无法编辑下一个文件。这个问题与前一节执行 ":edit" 命令的问题相同。要放弃当前修改:>	:next!但大多数情况下,你需要保存当前文件再进入下一个。这里有一个特殊的命令:>	:wnext这就好像执行了两个命令:>	:write	:next我 在 哪?要知道当前文件在文件列表中的位置,可以注意一下文件的标题。那里应该显示类似"(2 of 3)" 的字样。这表示你正在编辑三个文件中的第二个。    如果你要查看整个文件列表,使用如下命令:>	:args这是 "arguments"(参数)的缩写。其输出应该象下面这样:	one.c [two.c] three.c ~这里列出所有你启动 Vim 时指定的文件。你正在编辑的那一个,例如,"two.c",被中括号括起来了。移 动 到 另 一 个 参 数要回到前一个文件:>	:previous这个命令与 ":next" 相似,只不过它是向相反的方向移动。同样地,这个命令有一个快捷版本用于 "保存再移动":>	:wprevious要移动到列表中的最后一个文件:>	:last而要移动到列表中的第一个文件:>	:first不过,可没有 ":wlast" 或者 "wfirst" 这样的命令了。你可以在":next"和":previous"前面加次数前缀。例如要向后跳两个文件:>	:2next自 动 保 存当你在多个文件间跳来跳去进行修改,你要老记着用 ":write" 保存文件。否则你就会得到一个错误信息。 如果你能确定你每次都会将修改存盘的话,你可以让 Vim 自动保存文件:>	:set autowrite如果你编辑一个你不想自动保存的文件,你可以把功能关闭:>	:set noautowrite编 辑 另 一 个 文 件 列 表你可以编辑另一个文件列表而不需要退出 Vim。用如下命令编辑另三个文件:>	:args five.c six.c seven.h或者使用通配符,就像在控制台上一样:>	:args *.txtVim 会跳转到列表中的第一个文件。同样地,如果当前文件没有保存,你需要保存它,或者使用 ":args!"(加了一个!)放弃修改。你 编 辑 了 最 后 一 个 文 件 吗?							*arglist-quit*当你使用了文件列表,Vim 假定你想编辑全部文件,为了防止你提前退出,如果你还没有编辑过最后一个文件。当你退出的时候,Vim 会给如下错误信息:>	E173: 46 more files to edit如果你确实需要退出,再执行一次这个命令就行了(但如果在两个命令间还执行了其它命令就无效了)。=============================================================================*07.3*	从一个文件跳到另一个文件要在两个文件间快速跳转,按 CTRL-^ (美式英语键盘中 ^ 6的上面)。例如:>	:args one.c two.c three.c现在你在 one.c 。>	:next现在你在 two.c。现在使用 CTRL-^ 回到 one.c。再按一下 CTRL-^ 则回到 two.c。又按一下 CTRL-^ 你再回到 one.c。如果你现在执行:>	:next现在你在 three.c。注意 CTRL-^ 不会改变你在文件列表中的位置。只有 ":next" 和":previous" 才能做到这点。你编辑的前一个文件称为 "备选" 文件。如果你启动 Vim 而 CTRL-^ 不起作用,那可能是因为你没有备选文件。预 定 义 标 记当你跳转到另一个文件后,有两个预定义的标记非常有用:>	`"这个标记使你跳转到你上次离开这个文件时的位置。另一个标记记住你最后一次修改文件的位置:>	`.假设你在编辑 "one.txt",你在文件中间某个地方用 "x" 删除一个字符,接着你用"G" 命令移到文件末尾,然后用 "w" 存盘。然后你又编辑了其它几个文件。现在,你用 ":edit one.txt" 回到 "one.txt"。如果现在你用 `",Vim 跳转到文件的最后一行;而用 `. 则跳转到你删除字符的地方。即使你在文件中移动过,但在你修改文件或者离开文件前,这两个标记都不会改变。文 件 标 记在第四章,我们介绍过使用 "mx" 命令在文件中增加标记,那只在一个文件中有效。如果你编辑另一个文件并在那里加了标记,这些标记都是这个文件专用的。这样,每个文

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -