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

📄 usr_24.cnx

📁 Vim 中文文档
💻 CNX
📖 第 1 页 / 共 2 页
字号:
现在你键入 "prev":	b_array[i]->s_next = a_array[i]->s_next; ~	b_array[i]->s_prev ~继续按 CTRL-Y 直到下一个 "next":	b_array[i]->s_next = a_array[i]->s_next;~	b_array[i]->s_prev = a_array[i]->s_ ~现在键入 "prev;" 以结束这一行。CTRL-E 命令操作起来跟 CTRL-Y 一样,只不过它插入光标下方的字符。==============================================================================*24.6*	插入一个寄存器内容命令 CTRL-R {register} 插入寄存器里的内容。它的用处是让你不必键入长词。例如,你要输入下面这些:	r = VeryLongFunction(a) + VeryLongFunction(b) + VeryLongFunction(c) ~这个函数的定义见于另一个文件。编辑那个文件并把光标移到该函数名上,然后把文件名摄入寄存器 v: >	"vyiw"v 指定寄存器,"yiw" 意思是拷贝一个词,不含空格 (yank-inner-word)。现在编辑那个要插入一行代码的文件,先键入开头几个字符:	r = ~现在用 CTRL-R v 来插入函数名:	r = VeryLongFunction ~你接下来在函数名后面键入其它必要字符,然后再用两次 CTRL-R v。   你也可以用补全功能来完成同样的工作。但当你有好几个词,其开头几个字符都一样的时候,寄存器就有用多了。如果寄存器存放着诸如 <BS> 或其它特殊字符,这些字符就被解释成好像它们本来是从键盘键入的。如果你不要这样解释 (你确实要在文本中插入 <BS>),那么要命令 CTRL-RCTRL-R {register}。==============================================================================*24.7*	缩写缩写是取代一个长词的短词。例如,"ad" 指代 "advertisement"。 Vim 让你键入缩写,然后为你自动扩展。   用以下命令告诉 Vim,每当你输入 "ad" 就把它扩展成 "advertisement": >	:iabbrev ad advertisement现在,当你键入 "ad",完整的单词 'advertisement" 就被插入文本。键入一个不可能成为单词一部分的字符,例如一个空格, 就会触发缩写功能:	输入的文本		看到的文本	I saw the a		I saw the a ~	I saw the ad		I saw the ad ~	I saw the ad<Space>	I saw the advertisement<Space> ~当你仅仅键入 "ad" 时,扩展并没发生。它可以被你输入成一个不可扩展的词如 "add"。Vim 只对那些完整的词检查缩写。多 词 缩 写为几个词定义一个缩写也是可能的。例如,用下面这个命令, 把 "JB" 定义成 "Jack Benny": >	:iabbrev JB Jack Benny作为程序员,我使用两个相当不寻常的缩写: >	:iabbrev #b /****************************************	:iabbrev #e <Space>****************************************/它们用于生成大段注释。注释以缩写 #b 开始,划出顶线。接着,我键入注释文字,最后以缩写 #e 划出底线。   注意缩写 #e 以一个空格开头。换言之,开头两个字符是空格和星号(*)。通常 Vim忽略不计位于缩写及其扩展之间的空格。为了避免空格被忽略,我把空格以七个字符表示:<, S, p, a, c, e, >。	Note:	":iabbrev" 有点嫌长。":iab" 作用也一样。缩写命令被缩写了!更 正 打 字 错 误我们经常会犯同一个大字错误。例如,把 "the" 打成 "teh"。你可以利用缩写功能来更正这样的错误: >	:abbreviate teh the你可以加上一系列这样的缩写。每次发现一个常见错误就加一个。缩 写 列 表":abbreviate" 命令列出所有缩写:	:abbreviate	i  #e		  ****************************************/	i  #b		 /****************************************	i  JB		 Jack Benny	i  ad		 advertisement	!  teh		 the第一栏的 "i" 表明插入模式。这些缩写仅仅在插入模式下有作用。其它可能的字符:	c	命令行模式      			:cabbrev	!	插入模式和命令行模式            	:abbreviate在命令行模式下使用缩写使不常见的。你会主要在插入模式下用 ":iabbrev" 命令。这样就避免了不必要的扩展,例如,当你键入这样一条命令时,"ad" 就不会被扩展了: >	:edit ad删 除 缩 写删除一个缩写,用 ":unabbreviate" 命令。假定你有以下缩写: >	:abbreviate @f fresh你可以用这个命令删除它: >	:unabbreviate @f当你键入这个命令的时候,你将注意到 @f 被扩展成 "fresh"。别担心, Vim 明白得很呢(除非当你另有缩写 "fresh",但那是很偶然的)。   要删除全部缩写: >	:abclear":unabbreviate" 和 ":abclear" 另有变形,在插入模式下是 "iunabbreviate 和":iabclear",在命令行模式下是 ":cunabbreviate" 和 "cabclear"。缩 写 再 映 射定义缩写时,有一点要注意的: 扩展产生的字符串不应当被映射成别的什么。例如: >	:abbreviate @a adder	:imap dd disk-door现在,你键入 @a, 你得到 "adisk-doorer"。那不是你要的结果。为了避免这种事发生, 用 ":noreabbrev" 命令。它的作用跟 ":abbreviate" 一样,但却避免了扩展产生的字符串被用于映射: >	:noreabbrev @a adder现在好了,缩写扩展后的结果不可能被映射了。==============================================================================*24.8*	插入特殊字符CTRL-V 命令用来插入下一个字面意义上的字符。换言之,无论该字符多特殊, 其特殊含义都被忽略不计。例如: >	CTRL-V <Esc>插入一个 <Esc> 字符。而你并未脱离插入模式。(不要在 CTRL-V 后面键入空格,那个空格仅仅为了方便阅读)。	Note:	在 MS-Windows 环境下,CTRL-V 用来粘贴文本。所以用 CTRL-Q 代替 CTRL-V。	另外,在 Unix 环境下,CTRL-Q 在某些终端上不起作用,因其另有特殊意义。	你也可以用命令 CTRL-V {digits} 来插入一个以十进位数字 {digits} 表示的字符。例如,字符编码 127 是字符 <Del> (但并不一定是 <Del> 键!)。要插入 <Del>, 键入: >	CTRL-V 127你可以用这样的方法输入数值不超过 255 的字符。当你键入一个不足两位的数字时,就要添加一个非数字的字符来结束命令。为了回避这个非数字字符的要求,在它前面加一或两个零以满足三位数的要求。   以下命令都插入一个 <Tab> 字符,然后一个点字符:	CTRL-V 9.	CTRL-V 09.	CTRL-V 009.输入一个 16 进制数字,在 CTRL-V 后面, 用 "x" 开头: >	CTRL-V x7f这方法也可以用来输入数值不超过 255 (CTRL-V xff) 的字符。你可以用 "o" 开头输入一个以 8 进制数表示的字符,以及另外两种方法,让你输入多至二进制 16 位和 32 位的数字表示的字符 (例如,Unicode 字符): >	CTRL-V o123	CTRL-V u1234	CTRL-V U12345678==============================================================================*24.9*	二元字母有些字符在键盘上找不到。例如,表示版权的字符 (?。 要在 Vim 里键入这样的字符, 你得用二元字符,即以两个字符来表示一个。例如, 要键入 ?,  你就得按三个键: >	CTRL-K Co你可以用以下命令来查找有哪些二元字符可供利用: >	:digraphsVim 将把二元字符表显示在屏幕上。以下就是其中的三行:  AC ~_ 159  NS |  160  !I ? 161  Ct ? 162  Pd ? 163  Cu ? 164  Ye ? 165 ~  BB ? 166  SE ? 167  ': ? 168  Co ? 169  -a ? 170  << ? 171  NO ? 172 ~  -- ? 173  Rg ? 174  'm ? 175  DG ? 176  +- ? 177  2S ? 178  3S ? 179 ~这张表告诉你,比如, 你键入 CTRL-K Pd 所得到的二元字符是字符 (?。该字符编码为 163(十进制)。   Pd 是 Pound (英镑)的简写。大多数二元字符让你一看就猜到两个字符生成什么字符。如果你一个个读下来,便不难理解其中的逻辑。   你可以交换两个字符的顺序,只要那样组合不代表另一个二元字符。 因此CTRL-K dP 也没问题。由于 "dP" 不是二元字符,Vim 会转而搜索表示成 "Pd" 的二元字符。	Note:	二元字符表取决于 Vim 假定你所使用的字符集。在 MS-DOS 系统上采用的二元	字符集不同于 MS-Windows 系统上的。务必用 ":digraphs" 命令来查找当前	可供利用的二元字符。你可以定义你自己的二元字符。例如: >	:digraph a" ?以上命令定义了 CTRL-K a" 插入一个 ? 字符。你也可以用十进值数指定这个字? 下面这个命令定义了同一个二元字符: >	:digraph a" 228更多关于二元字符信息参见: |digraphs|   另一种插入特殊字符的方法是利用键盘映射。详情参见: |45.5|==============================================================================*24.10*	普通模式命令插入模式提供的命令数量有限。在普通模式下,你可用的命令就多得多了。当你要用一个普通模式命令时,你通常用 <Esc> 键来脱离插入模式, 执行这个普通模式命令, 然后再用 "i" 或 "a" 命令重新进入插入模式。   有一个快捷的方法。 用 CTRL-O {command} 你可以在插入模式下执行任何普通模式命令。例如,把光标后面直至行尾的文本删除: >	CTRL-O D用这个方法,你只能执行一个普通模式命令。但是, 你可以指定一个寄存器或一个次数。请看下面这个更复杂的命令: >	CTRL-O "g3dw这个命令把光标后面三个单词一起删除,存进了寄存器 g。==============================================================================下一章: |usr_25.txt|  编辑已经编排过的文本版权: 参见 |manual-copyright|  vim:tw=78:ts=8:ft=help:norl:

⌨️ 快捷键说明

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