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

📄 usr_07.cnx

📁 Vim 中文文档
💻 CNX
📖 第 1 页 / 共 2 页
字号:
件都有一个自己的标记集,并只能在该文件中使用。    到此为止,我们都用小写字母的标记。实际上还可以使用大写字母标记,这种标记是全局的,它们可以在任何文件中使用。例如,你在编辑一个文件 "foo.txt"。在文件的中间(50%)并建立一个 J 标记( J 表示甲 ):>	50%mJ现在编辑文件 "bar.txt" 并在文件的最后一行放一个标记 Y( Y 表示乙 ):>	GmY现在你可以使用 "`J" 命令跳回到 foo.txt 的中间。或者在另一个文件中输入 "`Y" 跳回到 bar.txt 的末尾。文件标记会被一直记住直到被重新定义。这样,你可以在一个文件中留下一个标记,然后任意做一段时间的编辑,最后用这个标记跳回去。    让文件标记符和对应的位置建立一些关系常常是很有用的。例如,用 H 表示头文件(Head File),M 表示 Makefile 而 C 表示 C 的代码文件。要知道一个标记在什么地方,在 ":marks" 命令中加上标记名作为参数即可:>	:marks M你还可以带多个参数:>	:marks MCP别忘了你还可以 CTRL-O 和 CTRL-I 在整个跳转序列中前后跳转。=============================================================================*07.4*	备份文件通常 Vim 不会产生备份文件。如果你希望的话,执行如下命令就可以了:>	:set backup备份文件的文件名是在原始文件的后面加上一个 ~ 。如果你的文件名是 data.txt,则备份文件的文件名就是 data.txt~ 。    如果你不喜欢这个名字,你可以修改扩展名:>	:set backupext=.bak这会使用 data.txt.bak 而非 data.txt~。    还有一个相关选项是 'backupdir'。它指定备份文件的目录。默认情况是与原始文件的路径一致,这在很多情况下都是合适的。	Note:	如果 'backup' 选项没有设置而 'writebackup' 选项设置了,Vim 还是会创建	备份文件的。但在文件编辑完后,这个备份文件会被自动删除。这个功能用于	避免发生异常情况导致没有存盘(磁盘满是最常见的情况;被雷击也是一种情	况,不过很少发生)。保 留 原 始 文 件如果你在编辑源程序,你可能想在修改之前保留一个备份。但备份文件会在你存盘的时候被覆盖。这样它只能保留前一个版本,而不是最早的文件。    要让 Vim 保存一个原始的文件,可以设置 'patchmode' 选项。这个选项定义需要改动文件的第一个备份文件的扩展名。通常可以这样设:>	:set patchmode=.orig这样,当你第一次编辑 data.txt,作了修改并执行存盘,Vim 会保留一个名为"data.txt.orig" 的原始文件。    如果你接着修改这个文件,Vim 会发现这个原始文件已经存在,并不再覆盖它。进一步的备份就存在 "data.txt~"(或者你设置的 'backupext' 指定的文件)中。    如果你让 'patchmode' 设为空(这是默认的情况),则原始文件不会被保留。=============================================================================*07.5*	文件间拷贝文本本节解释如何在文件间拷贝文本。我们从一个简单的例子开始。编辑一个你要拷贝文本的文件,把光标移到要拷贝的文本的开始处,用 "v" 命令启动可视模式,然后把光标移到要拷贝文本的结尾处,输入 "y" 拷贝文本。    例如,要拷贝上面这段文字,你可以执行:>	:edit thisfile	/本节解释	vjjj$y现在编辑你要粘贴文本的文件。把光标移到你要插入文本的地方。用 "p" 命令把文本粘贴到那里:>	:edit otherfile	/There	p当然,你可以用任何命令拷贝文本。例如,用 "V" 命令选中整行的内容。或者用CTRL-V 选择一个矩形区域。或者使用 "Y" 拷贝一个单行,"yaw" 拷贝一个单词等。    "p" 命令把文本粘贴到光标之后,"P" 命令则粘贴到光标之前。注意, Vim 会记住你拷贝的是一整行还是一个矩形,并用相同的方式把文本贴出来。使 用 寄 存 器当你需要拷贝一个文件的几个地方到另一个文件,用上面的方法,你就得反复在两个文件间跳来跳去。要避免这种情况,你可以把不同的文本拷贝到不同的寄存器中。    寄存器是 Vim 用来保存文本的地方。这里我们使用名称为 a 到 z 的寄存器(后面我们会发现还有其它寄存器)。让我们拷贝一个句子到 f 寄存器(f 表示 First):>	"fyas"yas" 命令象以前说过的那样拷贝一个句子,而 "f 告诉 Vim 把文本拷贝到寄存器f 。这必须放在拷贝命令的前面。    现在,拷贝三个整行到寄存器 l ( l 表示 line ):>	"l3Y次数前缀也可以用在 "l 的前面。要拷贝一个矩形文件到寄存器中:>	CTRL-Vjjww"by注意 "b 正好在 "y" 命令的前面,这是必须的。如果你把它放在 "w" 命令的前面就不行了。    现在你有了三段文本在寄存器 f,l 和 b。编辑另一个文件,并移到要插入文本的地方:>	"fp同样地,寄存器标识符 "f 必须在 "p" 命令的前面。    你可以用任何顺序粘贴寄存器的内容。并且,这些内容一直存在于寄存器中,直到你拷贝其它文件到这个寄存器中。这样,你可以粘贴任意多次。    删除文本的时候,你也可以指定寄存器。使用这个方法可以移动几处文本。例如,要删除一个单词并写到 w 寄存器中:>	"wdaw同样地,寄存器描述符必须在删除命令 "d" 的前面。添 加 到 文 件当你要在几个文件中收集文本,你可以用这个命令:>	:write >> logfile这个命令将文本写入到文件的末尾。这样实现了文件添加功能。这样使你免去了拷贝,编辑和拷贝的过程,省了两步。但你只能加到目标文件的末尾。    要只拷贝一部分内容,可以先用可视模式选中这些内容后在执行 ":write"。在第10章,你将学会选中一个行范围的办法。=============================================================================*07.6*	显示文件有时,你只是想查看一个文件,而没打算修改它。有一个风险是你想都没想就输入了一个"w" 命令。要避免这个问题,以只读模式编辑这个文件。    要用只读模式启动 Vim,可以使用这个命令:>	vim -R file在 Unix,如下命令可以完成相同的功能:>	view file现在,你就在用只读模式阅读这个文件 "file" 了。但你执行 ":w" 命令的时候,你会得到一个禁止写入的错误信息,。    当你试图修改这个文件时,Vim 会给你一个告警提示:	W10: Warning: Changing a readonly file ~即使这样,你的修改还是会被接纳的。有可能你只是想排列这些文本,以便阅读。    如果你确实要改动这个文件,在 write 命令前面加上 ! 可以强制写入。如果你的确想禁止文件修改,用这个命令:>	vim -M file现在任何对文件的修改操作都会失败。例如,帮助文件就是这样的。如果你要在上面作修改,你会得到一个错误提示:	E21: Cannot make changes, 'modifiable' is off ~你可以设置 -M 参数使 Vim 工作在只读模式。这个方式仍然取决于用户的意愿,因为你可以用下面的命令去掉这层保护:>	:set modifiable	:set write<=============================================================================*07.7*	修改文件名编辑一个新文件的一个比较聪明的做法是使用一个现存的、其中大部分内容你都需要的文件。例如,你要写一个移动文件的程序,而你已经有一个用于拷贝的程序了,这样可以这样开始:>	:edit copy.c删除你不要的东西。现在你需要用一个新的文件名保存这个文件。":saveas" 命令就是为此设计的:>	:saveas move.cVim 会用给定的名称保存文件,并开始编辑该文件。这样,下次你用 ":write",写入的时候,被写入的就是 "move.c"。而 "copy.c" 不会被改变。    当你想改变当前文件的文件名,但不想立即保存它,用这个命令:>	:file move.cVim 会把这个文件标记为 "未编辑"。这表示 Vim 知道你现在编辑的文件不是原来那个文件了。当你写这个文件的时候,你会得到如下错误信息:	E13: File exists (use ! to override) ~这可以避免你不小心覆盖另一个文件。=============================================================================下一章:|usr_08.txt|  分割窗口版权:参见|manual-copyright|  vim:tw=78:ts=8:ft=help:norl:

⌨️ 快捷键说明

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