-
Notifications
You must be signed in to change notification settings - Fork 28
/
learn-vi-48-02-ExCommand-Run.html
39 lines (35 loc) · 3.44 KB
/
learn-vi-48-02-ExCommand-Run.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh" xml:lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="learn-vi.css" />
<title>VIM学习笔记 执行Ex命令(Ex Command-Run)</title>
</head>
<body>
<h1>VIM学习笔记 执行Ex命令(Ex Command-Run)</h1>
<p>可以使用以下几种方式来执行Ex命令:</p>
<ul>
<li>在常规模式下,输入冒号“:”以及命令,点击回车键即可执行Ex命令;</li>
<li>进入<a href="http://yyq123.github.io/learn-vim/learn-vi-48-ExMode.html" title="Ex模式(Ex Mode)">Ex模式</a>,执行Ex命令;</li>
<li>调用<a href="http://yyq123.github.io/learn-vim/learn-vi-48-05-ExScript.html" title="Ex脚本(Ex Script)">Ex脚本</a>,以执行其中的Ex命令;</li>
<li>使用竖直线“|”分割符,组合执行多条Ex命令;</li>
<li>执行寄存器中存储的Ex命令。</li>
</ul>
<p style="font-weight:bold; border-bottom:1px solid lightgray; border-left:6px solid lightgray; padding:0 0 3px 5px">组合执行多条Ex命令</p>
<p>竖直线“|”作为分割符,可以将多个命令组合在一起执行。使用“|”时,如果前一个命令影响到文件中行的顺序,那么下一个命令将使用新的行位置进行工作。</p>
<p>使用以下命令,将首先删除第1行至第3行,然后在当前行(即调用ex命令之前的第4行)进行替换:</p>
<p style="text-indent:2em"><code class="inset">:1,3d | s/thier/their/</code></p>
<p>使用以下命令,将首先把1至5行移动到第10行之后,然后显示所有包含模式pattern的行:</p>
<p style="text-indent:2em"><code class="inset">:1,5m10 | g/pattern/nu</code></p>
<p style="font-weight:bold; border-bottom:1px solid lightgray; border-left:6px solid lightgray; padding:0 0 3px 5px">利用寄存器执行Ex命令</p>
<p>例如在<a href="https://yyq123.github.io/learn-vim/samples/ExScript_Sample.vim" title="Ex脚本文件">Ex脚本文件(Ex Script)</a>中包含以下命令:</p>
<p style="text-indent:2em"><code class="inset">%s/\n//</code></p>
<p>我们移动到此行,然后使用以下命令将该行内容删除到命名<a href="http://yyq123.github.io/learn-vim/learn-vi-12-Register.html" title="Register">寄存器(Regists)</a>“g”之中:</p>
<p style="text-indent:2em"><code class="inset">"gdd</code></p>
<p>使用以下命令,则可以执行已存储在“g”寄存器之中的命令:</p>
<p style="text-indent:2em"><code class="inset">:@g</code></p>
<p><a href="https://yyq123.github.io/learn-vim/images/ExCommand_Run_Register.png" title="ExCommand_Run_by_Register"><img src="https://yyq123.github.io/learn-vim/images/ExCommand_Run_Register.png" alt="ExCommand_Run_by_Register" /></a></p>
<p style="border-top:1px solid lightgray"><span style="float:right">Ver: 2.0 | <a href="mailto:[email protected]">YYQ</a></span><span><<a title="Ex命令寻址方式(Ex Command-Address)" href="http://yyq123.github.io/learn-vim/learn-vi-48-01-ExCommand-Adress.html">上一篇</a> |<a title="笔记列表" href="http://yyq123.github.com/learn-vim/learn-vi-00-00-TOC.html"> 目录 </a>| <a title="Ex脚本(Ex Script)" href="http://yyq123.github.io/learn-vim/learn-vi-48-05-ExScript.html">下一篇</a>></span></p>
</body>
</html>