学习 vi 编辑器/高级任务
学习 vi 编辑器: 熟悉 — 基本任务 — 让您的工作更轻松 — 高级任务 — 细节 — Vi 克隆 (Vim – 基本导航 – 模式 – 提示和技巧 – 程序员需要了解的有用信息 – 增强 Vim – Vim 在 Windows 上 – VimL 脚本语言, Vile, BB vi) — vi 参考 |
复制和粘贴任务使用三个键完成,<y>(代表“yank”),<d>(代表“delete”)和<p>(代表“paste”)。 通常,您键入<y>或<d>告诉 vi 您要开始 yank 或删除文本的位置。 然后您需要使用光标移动或其他命令告诉 vi 在哪里停止。
您也可以简单地使用键<v>进入可视模式。 然后您可以通过移动光标键来突出显示文本。 最后按<y>将文本复制到剪贴板。 然后按<p>粘贴。
要删除单个单词,将光标移到第一个字母,然后键入<d><w>。 要 yank 单个单词,将光标移到第一个字母,然后键入<y><w>。
移到最后一个字母后面的字符,然后键入<d> <b>。
要删除像“can't”这样的带有撇号的单词,移到第一个字符,然后键入<d><W>。 注意大写 W。 这告诉 vi 一直移到单词后面的第一个空格字符。
同样,试试 dB。
要删除单个行,键入<d><d>。
vi 的一大优势是它允许您选择大量文本,而无需将手移到鼠标上。
键入<m><a>。 这将标记光标所在的位置为标记a。 从现在开始,您可以随时键入<`><a>返回此位置。 (`a 表示“移动到标记为a的字符”)
现在移到其他位置。 键入<d><`><a>。 这将删除从当前位置到标记为a的位置的所有内容。
请注意,您可以使用几乎任何键代替此示例中使用的<a>。 例如,您可以使用<m><t>标记一段的顶部,或<m><b>标记一段的底部。 这些助记符仅存在于用户脑海中——vi 不在乎t代表顶部或b代表底部。 Vi 将记住所有唯一的书签,允许用户轻松快捷地在它们之间跳转。 一些用户发现使用<m><m>作为临时书签很方便,因为它可以非常快地键入。
<d><$> 或 <d><^>
<d><G> 或 <d><1><G>
<d>/myPattern
这在使用 d/< 编辑 HTML 文件时特别有用。
vi 作为一款可视化的屏幕定向编辑器,提供了一些有用的命令来重新绘制或调整屏幕,以防您发现自己身处不想去的地方。
如果您在 Unix shell 中运行,某些后台进程可能会写入同一个终端。 这会扰乱 vi 的屏幕布局。 为了强制 vi 重新绘制整个屏幕,请按<Ctrl-L>或<Ctrl-R>。 这两个命令执行相同的操作。
如果您想调整当前显示的内容,那么<z>命令相当有用。 它就像瑞士军刀一样,具有相当复杂的语法。
[/pattern/][m]z
[n](<CR>|.|-)
([ ... ] 表示可选项目,(...|...) 表示替代方案)
在详细解释语法之前,这里是一些该命令的常见应用。
滚动屏幕,使当前行成为屏幕中间的行。 光标停留在该行上。
<z><.>
滚动屏幕,使当前行成为屏幕顶部的行。
<z><CR>
滚动屏幕,使当前行成为屏幕底部的行。
<z><->
如果给定/pattern/
或数字 m,则在调整后光标将进一步移动。/pattern/
表示将光标移动到该模式的第一个匹配项。m 表示将光标移动到屏幕上的第 m 行。例如,
/while/z<CR>
首先滚动屏幕,使当前行成为屏幕顶部的行,然后将光标从该位置开始移动到文本中的第一个 "while"。
数字 n 是一个比较晦涩的参数。如果提供,它告诉 vi 行为就像屏幕只有 n 行高一样。结果是,只调整 n 行,而屏幕上的其他行会被忽略或清除,这在速度较慢的终端上可能有用,可以避免不必要的屏幕重绘。
学习 vi 编辑器: 熟悉 — 基本任务 — 让您的工作更轻松 — 高级任务 — 细节 — Vi 克隆 (Vim – 基本导航 – 模式 – 提示和技巧 – 程序员需要了解的有用信息 – 增强 Vim – Vim 在 Windows 上 – VimL 脚本语言, Vile, BB vi) — vi 参考 |