先说偏理论型的长篇大论,再说实用技巧。
理论: 补 全 特 定 文 本 如果你知道你要找什么,那么你可以用这些命令来补全某种类型的文本: CTRL-X
CTRL-F 文件名
CTRL-X
CTRL-L 整行
CTRL-X
CTRL-D 宏定义 (并搜索所包含的文件)
CTRL-X
CTRL-I 当前文件以及所包含的文件
CTRL-X
CTRL-K 词典文件内的单词
CTRL-X
CTRL-T 近义词词典文件内的单词
CTRL-X
CTRL-] 标记
CTRL-X
CTRL-V Vim 命令行
每个命令之后, CTRL-N 可以用来搜索下一个匹配,而
CTRL-P 则用于搜索前一个匹配。
关于每个命令的详细用法,参见: | ins-completion|。 补 全 文 件 名 我们以 CTRL-X
CTRL-F 为例。这个命令将找寻文件名。它在当前目录里搜索文件,并显
示每一个与光标前单词匹配的文件名。 例如,假定你在当前目录里有下面这些文件: main.c sub_count.c sub_done.c sub_exit.c 现在进入插入模式并开始键入: The exit code is in the file sub
就在这点上,你输入 CTRL-X
CTRL-F 。现在, Vim 通过查看当前目录里的文件来补全当前
词 "sub"。最初的匹配是 sub_count.c。这不是你想要的,所以你按 CTRL-N 以匹配下一
个文件。这次匹配的是 sub_done.c。再键入 CTRL-N 给了你 sub_exit.c。结果:
The exit code is in the file sub_exit.c
如果文件名以 / (Unix) 或 C:/ (MS-Windows) 开头,那么你就能搜索文件系统下所有的 文件。例如,键入 "/u" 然后 CTRL-X
CTRL-F , 这将匹配 "/usr" (这是在 Unix 上):
the file is found in /usr/
如果你现在按 CTRL-N ,你就又回到 "/u"。接受 "/usr/" 并进入下一层目录, 再来一次
CTRL-X
CTRL-F :
the file is found in /usr/X11R6/
当然,匹配结果取决于你的文件系统上有什么文件。匹配结果以字母顺序来排列。 1.6.2 编辑模式1. 移动光标要对正文内容进行修改,首先必须把光标移动到指定位置。移动光标的最简单的方式是按键盘的上、下、左、 2. 替换和删除将光标定位于文件内指定位置后,可以用其他字符来替换光标所指向的字符,或从当前光标位置删除一个或多 3. 粘贴和复制从正文中删除的内容(如字符、字或行)并没有真正丢失,而是被剪切并复制到了一个内存缓冲区中。用户可 4. 搜索字符串和许多先进的编辑器一样,vi 提供了强大的字符串搜索功能。要查找文件中指定字或短语出现的位置,可以 5. 撤销和重复在编辑文档的过程中,为消除某个错误的编辑命令造成的后果,可以用撤消命令。另外,如果用户希望在新 6. 文本选中vi 可进入到一种成为 Visual 的模式,在该模式下,用户可以用光标移动命令可视地选择文本,然后再执行其他编辑操作,例如删除、复制等。 v 字符选中命令 V 行选中命令#DEMO# 1.6.3 插入模式1. 进入插入模式在编辑模式下正确定位光标之后,可用以下命令切换到插入模式: 2. 退出插入模式退出插入模式的方法是,按 ESC 键或组合键Ctrl+[ 。 #DEMO# 1.6.4 命令模式在 vi 的命令模式下,可以使用复杂的命令。在编辑模式下键入“:”,光标就跳到屏幕最后一行,并在那里显示冒号,此时已进入命令模式。命令模式又称“末行模式”,用户输入的内容均显示在屏幕的最后一行,按回车键,vi 执行命令。 1. 退出命令在编辑模式下可以用 ZZ 命令退出 vi 编辑程序,该命令保存对正文所作的修改,覆盖原始文件。如果只需要 2. 行号与文件编辑中的每一行正文都有自己的行号,用下列命令可以移动光标到指定行: 3. 字符串搜索给出一个字符串,可以通过搜索该字符串到达指定行。如果希望进行正向搜索,将待搜索的字符串置于两个“ 4. 正文替换利用 :s 命令可以实现字符串的替换。具体的用法包括: 5. 删除正文在命令模式下,同样可以删除正文中的内容。例如: 6. 恢复文件vi 在编辑某个文件时,会另外生成一个临时文件,这个文件的名称通常以 . 开头,并以 .swp 结尾。vi 在 #DEMO# #DEMO# 1.6.5 选项设置为控制不同的编辑功能,vi 提供了很多内部选项。利用 :set 命令可以设置选项。基本语法为: #DEMO# 1.6.6 shell 切换在编辑正文时,利用 vi 命令模式下提供的 shell 切换命令,无须退出 vi 即可执行 Linux 命令,十分 #DEMO# 1.6.7 vim 和 gvim 的高级特色Vim 代表 Vi IMproved,如同其名称所暗示的那样,Vim 作为标准 UNIX 系统 vi 编辑器的提高版而存在。 Vim 除提供和 vi 编辑器一样强大的功能外,还提供有多级恢复、命令行历史以及命令及文件名补全等功能。 gvim 是 vi 的 X Window 版本,该版本支持鼠标选中,一些高级光标移动功能,并且带有菜单和工具按钮。 #DEMO# 技巧: 1. vi命令 Vi编辑器 Vi 文件名 Vi o 文件名1 文件名2 水平分割显示文件 Vi O文件名1 文件名2 垂直分割显示文件 命令模式 移动光标 h 左, k 上, j 下, l 右 Ctrl b =PageUp Ctrl f =PageDown H (Highest) 光标移到屏幕的最上行 nH 将光标移到屏幕的第n行 M (Middle) 光标移到屏幕的最中央 L (Lowest) 光标移到屏幕的最下行 nL 将光标移到屏幕的倒数第n行 w 在指定行内右移光标到下一个字开头 e 在指定行内右移光标到一个字的末尾 b 在指定行内左移光标到前一字的开头 0 数字0 左移光标,到本行的开头 $ 右移光标,到本行的末尾 ^ 移动光标到本行的第一个非空字符 替换和删除dw、db、dd前面都可以加n r字符 用字符替换光标所指向的当前字符 nr字符 用字符替换光标所指向的当前字符开始的n个字符 x 删除光标所指向的当前字符 dw 删除光标右侧的字 db 删除光标左侧的字 dd 删除光标所在行,并去除空隙 粘贴和复制 p 小写 将缓冲区的内容粘贴到光标的后面 P 大写 将缓冲区的内容粘贴到光标的前面 yy 复制当前行到内存缓冲区 搜索字符串 /字符串 正向搜索字符串 ?字符串 反向搜索字符串 n 继续搜索 撤消和重复 u 撤消前一条命令的结果 . (点) 重复最后一条修改正文的命令 文本选中(Vi)可视模式 v 小写 字符选中命令 V 大写 行选中命令 输入模式 进入和退出模式命令 a、c、i、r、o、s 常用 a、i 〔ESC〕键或 Ctrl [ 组合键 末行模式 进入和退出模式命令 : 进入模式 〔ESC〕 退出模式 退出Vi编辑器 :q 在未作修改的情况下退出Vi :q! 放弃所有修改退出Vi :wq 保存退出Vi 文件保存 . (点) 光标所在行的行号 . 5 (点+5) 当前行向下第5行 $ 正文最后一行的行号 :345w 文件名 将第345行写入文件 :1,$w 文件名 将第一行至最后一行写入文件 :.,. 5w 文件名 将当前行开始6行内容写入文件 :r 文件名 读取文件的内容,插入当前光标所在行的后面 :e 文件名 编辑新文件代替原有内容 :f 文件名 将当前文件重命名为此文件名 :f 打印当前文件名称和状态,如文件的行数、光标所在的行号等 文本替换 :[行号1],[行号2] s/字符串1/字符串2/g s代表查找命令g代表全部 删除 :d 删除光标所在行 :/字符串1/,/字符串2/d 删除从字符串1到2的所有行 |
有关Linux下使用vi/vim编辑器的方法和技巧
最新推荐文章于 2022-07-18 17:48:00 发布