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

📄 usr_21.cnx

📁 Vim 中文文档
💻 CNX
📖 第 1 页 / 共 2 页
字号:
*usr_21.txt*	For Vim version 6.3.		最近更新:2004年6月		     VIM 用户手册 - Bram Moolenaar 著		  (译者: Chimin Yen http://vimcdoc.sf.net )				    			   离开和回来本章深入讨论如何让其它程序跟 Vim 混用。 或者从 Vim 内部执行别的程序,或者暂时先离开 Vim 而于执行了那个程序后再回来。 而且,本章将进一步介绍如何记住 Vim 的当前状态,并在以后把它还原回来。|21.1|	挂起和继续|21.2|	执行 shell 命令|21.3|	记忆有关信息: viminfo|21.4|	会话|21.5|	视图|21.6|	模式行       下一章: |usr_22.txt|  寻找要编辑的文件       前一章: |usr_20.txt|  快速键入命令行         目录: |usr_toc.txt|==============================================================================*21.1*	挂起和继续像多数 Unix 程序一样,Vim 可以按 CTRL-Z 挂起。这个动作把 Vim 停下来, 并让你回到那个你起动 Vim 的命令 shell 里。接着,你可以执行任何别的命令直到你觉得无聊为止。然后再用 "fg" 命令回到 Vim。 >	CTRL-Z	{any sequence of shell commands}	fg你正好回到那个当初你离开 Vim 的地方,什么也没改变。   当你按 CTRL-Z 行不通时,你还可以用命令 ":suspend"。别忘了把 Vim 引导回前台,否则你会失去你所有的修改!只有 Unix 支持这个功能。在其它系统上 Vim 将为你起动一个 shell. 这也让你得以执行 shell 命令。可那是一个新 shell,而非那个你在其中起动 Vim 的那个.   当你运行图像用户介面时,你无法返回那个 Vim 从其中起动的 shell。CTRL-Z 的作用只是把 Vim 窗口最小化.==============================================================================*21.2*	执行 shell 命令从 Vim 内部执行单个 shell 命令,用 ":!{command}"。例如, 要显示目录表: >	:!ls	:!dir第一行用在 Unix 上,第二行用于微软视窗.   Vim 将执行该程序。当它结束时,你会得到提示, 让你击打 <Enter>. 这提示允许你在回去编辑你的文本之前看一看该命令的输出.   字符 "!" 也用在其它有个程序被调用运行的场合。让我们看一看共有哪些:	:!{program}		执行 {program}	:r !{program}		执行 {program} 并读取其输出	:w !{program}		执行 {program} 传送文本至其输入	:[range]!{program}	经由 {program} 过滤文本注意 "!{program}" 前面那个作用区产生的区别可大了。不附带作用区,这个程序就跟通常一样被执行,而加了这个作用区, 作用区内的文本行就经由该程序过滤而出.用这种方法执行一系列命令也是可以的。但 shell 在此却更胜一筹. 你可以用这种方法起动一个新 shell: >	:shell这有点类似于用 CTRL-Z 来挂起 Vim。不同之处在于这种方法起动的是一个新 shell。使用图像用户介面时,这个 shell 利用 Vim 的窗口作为其输入和输出端口。既然 Vim并非终端仿真器,所以使用中未必尽善近美。要是你遇到麻烦, 试试切换 'guipty' 选项。如果这方法仍不奏效,那就只好起动一个新的终端来运行 shell. 例如:>	:!xterm&==============================================================================*21.3*	记忆有关信息: viminfo在你编辑了一会儿文件以后,你就会有些文本储存在寄存器内, 有些标记指向各种各样文件,还有一些精妙的命令保存在命令行历史记录内。当你退出 Vim, 所有这些就全没了。但你能够把它们找回来!信息文件 viminfo 被设计为储存状态信息:	命令行和模式搜索的历史记录	寄存器内文本	各种文件的标记	缓存器列表	全局变量你每次退出 Vim,它就把此种信息存放在一个文件内。即 viminfo 信息文件。当 Vim重新起动时,就读取这个信息文件, 而那些信息就被还原了。选项 'viminfo' 的默认设定是还原有限的几种信息。你也许希望设定它记住更多的信息.下面这个命令可以办到: >	:set viminfo=string其中字符串 "string" 规定了什么要储存。该字符串的语法为一个选项字符跟一个参数. 选项和参数组成的对子之间由逗号分隔.   来看一下你可以怎样构建你自己的 viminfo 字符串。首先,选项 ' 用于规定你为多少个文件保存标记 (a-z)。为此选项挑一个美妙的偶数 (比如 1000). 你的命令现在看起来像这样: >	:set viminfo='1000选项 f 控制是否要储存全局标记 (A-Z 和 0-9)。如果这个选项设为 0,那么什么也不存储。如果设为 1 ,或你对 f 选项不作规定, 那么标记就被存储. 你要这个功能, 现在你有了: >	:set viminfo='1000,f1选项 < 控制着每个寄存器内保存几行文本。默认情况下,所有的文本行都被保存. 如果设为 0,则什么也不保存。为了避免成千上万行文本被加入你的信息文件 (那些文本可能永远也没用,徒然使 Vim 起动得更慢), 你采用 500 行的上限: >	:set viminfo='1000,f1,<500<你也许用得着的其它选项:	:	保存命令行历史记录内的行数	@	保存输入行历史记录内的行数	/	保存搜索历史记录内的行数	r	可移介质,其中没有任何标记存入 (可用多次)	!	以大写字母开头的全局变数,并且不含有小写字母	h	起动时解除选项 'hlsearch' 的高亮度显示	%	缓冲列表 (只有当不带参数起动 Vim 时才还原)	c	用编码 'encoding' 转换文本	n	用于 viminfo 文件的名称 (必须为最后一项选项)欲知更多详情,参见 'viminfo' 选项以及 |viminfo-file| .当你多次运行 Vim,最后退出的那个就把信息储存起来。这可能导致以前退出的那些 Vim 所存放的信息流失,因为每个条目只能被记住一次.重 返 原 处你编辑一个文件到一半,但你得下班去渡假了。你退出 Vim 就去享受你的人生, 把你那些工作忘得干干净净。两个星期以后你起动 Vim,键入:>	'0你正好回到当初离开 Vim 的地方。所以你就把你的工作接着做下去。   你每次退出 Vim,它都创建一个标记。最后那个是 '0. 原来那个 '0 所指的位置就成了 '1。而原来那个 '1 就成了 '2,依此类推. 而原来的标记 '9 就没了。   要发现标记 '0 至 '9 指向何处,":marks" 命令很有用。Vim 间 信 息 移 动在 Vim 仍然运行的情况下,你可以用命令 ":wviminfo" 和 ":rviminfo" 来保存和还原信息。这很方便,比如在两个同时运行的 Vim 之间交换寄存器内容。在第一个 Vim 里执行: >	:wviminfo! ~/tmp/viminfo而在第二个 Vim 里执行: >	:rviminfo! ~/tmp/viminfo很明显,字符 "w" 指 "写" 而字符 "r" 指 "读"。   ":wviminfo" 用字符 ! 来强制重写一个已存在文件。当它省略时,而文件却存在, 那么这些信息就跟那个文件合并到一起.   用于 ":rviminfo" 的 ! 字符意味着所有的信息都被采用,这可能会重写一些已存在信息。 若不用 ! 字符,则只有那些尚未设定的信息才会被采用.   这些命令也可以用来储存信息为将来所用。你可以让一个目录专门存放信息文件,而每一个所包含的信息各有其特殊的目的.==============================================================================*21.4*	会话假定你编着编着,编到那一天要结束了。你想放下手上的工作, 而于第二天再从你停下来的那地方继续编下去。你可以做到这一点,只要把你的编辑会话保存起来, 第二天再把它还原回来.   Vim 会话存放着所有跟你的编辑相关的信息。这包括诸如文件列表,窗口布局, 全局变数,选项, 以及其它信息。(究竟什么信息被记住, 则由选项 'sessionoptions' 控制,稍后叙述.)   下面这个命令创建一个会话文件: >	:mksession vimbook.vim如果你以后要还原这个会话,你可以用这个命令: >	:source vimbook.vim如果你要起动 Vim 并还原某个特别的会话,你可以用下面这个命令: >	vim -S vimbook.vim这命令告诉 Vim 在起动时读取一个特定的会话文件。参数 'S' 指会话 (实际上,你可以用 -S 运行任何 Vim 脚本,因而, 你也不妨指其为运行脚本, "source").那个曾经打开的窗口就还原了,跟以前一样的位置和大小。映射和选项值也像以前一样.   究竟还原了什么取决于 'sessionoptions' 选项。默认值为 "blank,buffers,curdir,folds,help,options,winsize".	blank		保留空窗口	buffers		所有缓冲,而非仅仅一个窗口内的	curdir		当前目录	folds		折叠,包括人工创建的

⌨️ 快捷键说明

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