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

📄 0310vi.htm

📁 鸟哥的linux私房菜
💻 HTM
📖 第 1 页 / 共 5 页
字号:
</div>


<!-- 本文的正式部分 -->
<hr><a NAME="vi_vim"></a><img src="images/penguin-m.gif" alt="大标题的图示" height="34" width="25" align="middle" /><span class="text_h1">vi 与 vim</span><br>
<div class=block1>
	由前面一路走来,我们一直建议使用文字模式来处理 Linux 的系统设定问题,因为不但可以让您比较容易了解到
	Linux 的运作状况,也比较容易了解整个设定的基本精神,更能『保证』您的修改可以顺利的被运作。
	所以,<span class=text_import2>在 Linux 的系统中使用文字编辑器来编辑您的 Linux 
	参数设定档,嗯!可是一件很重要的事情呦</span>!所以说嘛!系统管理员至少应该要熟悉一种文书处理器的!<br>

	<div style="padding: 10 0 10 0 ;" align="right"><table width="90%"><tr><td><b>Tips:</b><br /><span style="font-style: italic; color : darkgreen">		这里要再次的强调,不同的 Linux distribution 各有其不同的附加软体,例如
		Red Hat 与 Fedora 的 userconf, Linuxconf, ntsysv 与 setup 等等,而 SuSE 则有 YOU 管理工具等等,
		因此,如果您只会使用此种类型的软体来控制您的 Linux 系统时,当接管不同的
		Linux distributions 时,呵呵!那可就苦恼了!
	</span></td><td><img src="../images/vbird_face.gif" /></td></tr></table></div>
	由 <a href="0110whatislinux.php">Linux是什么</a> 介绍中,我们知道 <span class=text_import2>Linux
	与 Unix 系统中的参数档几乎都是 ASCII 码的『纯文字』档</span>!因此,利用简单的文字编辑软体就可以马上修改
	Linux 的参数档棉!然而,与 Windows 不同的是,如果您用惯了 Microsoft Word
	或 Corel Wordperfect 的话,那么除了 X window 里面的编辑程式(如 xemacs )用起来尚可应付外,于
	Linux 的文字模式下,会觉得档案编辑程式都没有 Windows 程式那么方便。<br>

	<div style="padding: 10 0 10 0 ;" align="right"><table width="90%"><tr><td><b>Tips:</b><br /><span style="font-style: italic; color : darkgreen">		还记得什么是纯文字档吗?忘记的话,回到 <a href="0210filepermission.php#filepermission_type">Linux
		的档案属性与目录配置</a> 里头去瞧一瞧先~该档案格式以 ASCII 格式码为主。
		说穿了,就是您『不论使用什么编辑器』来开启那个档案时,都可以将内容给您看到,而不是呈现乱码的档案,
		那就是纯文字档了!当您以 Windows 的 word 存一个档案时,在 DOS 的情况下使用 type 
		这个指令来查阅资料,嗯!完全不知到内容是什么?因为会出现很多的乱码,那并非是纯文字档,而如果以
		word 在存档时,选择『纯文字类型』,嗯!那就可以使用 type 看到该档案的内容了!
		由于纯文字档在任何作业系统底下都可以被取用,是相当方便的一种设定格式啊!
	</span></td><td><img src="../images/vbird_face.gif" /></td></tr></table></div>
	无论如何,要管理好 Linux 系统时,纯文字的手工设定仍是需要的!那么在 Linux 底下有哪些文书编辑器呢?
	可多了~例如 vi, emacs, xemacs, joe, e3, xedit, kedit, pico .... 多的很~
	各家处理器各有其优缺点,您当然可以选择任何一个您觉得适用的文书处理器来使用。不过,鸟哥还是比较建议使用 vi 
	啦!这是因为 vi 是 Unix Like 的机器上面预设都有安装的软体,也就是说,您一定可以接触到这个软体就是了。
	另外,在较新的 distributions 上,您也可以使用较新较先进的 vim 这个文书处理器!
	vim 可以看做是 vi 的进阶软体,他可以具有颜色显示,很方便程式开发人员在进行程式的撰写呢!<br><br>

	简单的来说, vi 是老式的文书处理器,不过功能已经很齐全了,但是还是有可以进步的地方。
	vim 则可以说是程式开发者的一项很好用的工具,就连 vim 的官方网站 (<a href="http://www.vim.org" 
	target="_blank">http://www.vim.org</a>) 自己也说 vim 是一个『程式开发工具』而不是文书处理软体~^_^。
	因为 vim 里面加入了很多额外的功能,例如支援正规表示法的搜寻架构、多档案编辑、区块复制等等。
	这对于我们在 Linux 上面进行一些设定档的修订工作时,是很棒的一项功能呢!<br><br>

	底下鸟哥会先就简单的 vi 做个介绍,然后再跟大家报告一下 vim 的额外功能与用法呢!<br><br>
</div>

<hr><a NAME="vi"></a><img src="images/penguin-m.gif" alt="大标题的图示" height="34" width="25" align="middle" /><span class="text_h1">vi 的使用</span><br>
<div class=block1>
	基本上 vi 共分为三种模式,分别是『<span class=text_import2>一般模式</span>』、
	『<span class=text_import2>编辑模式</span>』与『<span class=text_import2>指令列命令模式</span>』三种!
	这三种模式的作用是∶<ul>

	<li><span class=text_import1>一般模式</span>∶<br>
		以 vi 处理一个档案的时后,一进入该档案就是一般模式了。在这个模式中,
		你可以使用『上下左右』按键来移动游标,您可以使用『删除字元』或『删除整行』来处理档案内容,
		也可以使用『复制、贴上』来处理您的文件资料。<br><br>

	<li><span class=text_import1>编辑模式</span>∶<br>
		在一般模式中可以处理删除、复制、贴上等等的动作,但是却无法编辑的!
		要等到您按下『<span class=text_import2><font face="细明体">i,
		I, o, O, a, A, r, R</font></SPAN>』等字母之后才会进入编辑模式。注意了!通常在
		Linux 中,按下上述的字母时,在画面的左下方会出现『 <span class=text_import2>INSERT
		或 REPLACE </span>』的字样,才可以输入任何字来输入到您的档案中!而如果要回到一般模式时,
		则必须要按下『<span class=text_import1>Esc</span>』这个按键即可退出编辑模式。</li><br>

	<li><span class=text_import1>指令列命令模式</span>∶<br>
		在一般模式当中,输入『<span class=text_import2>
		: 或 / 或 ? </span>』就可以将游标移动到最底下那一行,在这个模式当中,
		可以提供您『搜寻资料』的动作,而读取、存档、大量取代字元、离开
		vi 、显示行号 等等的动作则是在此模式中达成的!</li>
		</ul>

		简单的说,我们可以将这三个模式想成底下的图示来表示之∶<br><br>
		<center><img SRC="0310vi/0310vi_1.jpg" 
			title="vi 三种模式的相互关系"
			alt="vi 三种模式的相互关系"><br>
			图一、 vi 三种模式的相互关系</center><br>

	闲话不多说,我们底下以一个简单的例子来进行说明吧!<br><br>

	<hr><a name="vi_ex"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class=text_h2>简易执行范例</span><br>
	<div class=block2>
		我们怎么使用 vi 建立一个档名为 test.txt 的资料呢?也是很简单的啦,
		整个步骤可以是这样∶<ol>

		<li><span class=text_import1>使用 vi 进入一般模式;</span><br>

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>vi test.txt</span>
</pre></td></tr></table>

		直接输入『 vi 档名』即可进入 vi 了!如下图所示,左下角还会显示这个档案目前的状态!如果是新建档案会显示
		[New File],如果是已存在的档案,则会显示目前的档名、行数与字元数,例如∶『"/etc/man.config"
		145L, 4614C』<br><br>

		<center><img SRC="0310vi/0310vi_2.jpg"
			title="利用 vi 开启一个档案"
			alt="利用 vi 开启一个档案"><br>
			图二、 利用 vi 开启一个档案</center><br>

		<li><span class=text_import1>按下 i 进入编辑模式,开始编辑文字;</span><br><br>
		在一般模式之中,只要按下 I, o, a 等字元,就可以进入编辑模式了!在编辑模式当中,您可以发现在左下角会出现
		ˉINSERT- 的画面,那就是可以输入任意字元的提示棉!这个时候,键盘上除了
		[Esc] 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以您可以进行任何的编辑棉!
		( <span class=text_vbird>注∶在 vi 里面, [tab] 
		这个按钮所得到的结果与空白字元所得到的结果是不一样的,特别强调一下!</span> )<br><br>

		<center><img SRC="0310vi/0310vi_3.jpg"
			title="进入 vi 的编辑模式"
			alt="进入 vi 的编辑模式"><br>
			图三、 进入 vi 的编辑模式</center><br>

		<li><span class=text_import1>按下 [ESC] 按钮回到一般模式;</span><br><br>
		好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?是的!没错!就是给他按下
		[Esc] 这个按钮即可!马上你就会发现画面左下角的 ˉ INSERT ˉ 不见了!<br><br>

		<li><span class=text_import1>在一般模式中按下 :wq 储存后离开 vi !</span><br><br>
		OK,我们要存档了,存档并离开的指令很简单,输入『:wq』即可存档离开!(注意了,按下
		: 该游标就会移动到最底下一行去!)这时你在提示字元后面输入『 ls -l 』即可看到我们刚刚建立的
		test.txt 档案啦!整个图示有点像底下这样∶<br><br>

		<center><img SRC="0310vi/0310vi_4.jpg"
			title="利用 vi 储存档案"
			alt="利用 vi 储存档案"><br>
			图四、利用 vi 储存档案</center><br></ol>

		如此一来,您的档案 test.txt 就已经建立起来棉!很简单吧!需要注意的是,如果您的档案权限不对,例如为
		-r--r--r-- 时,那么可能会无法写入,那么可以使用『强制写入』的方式吗?可以!使用『:wq!』
		多加一个惊叹号即可!不过,需要特别注意呦!那个是在『您的权限可以改变』的情况下才能成立的!
		关于权限的概念,请参考一下 <a href="0210filepermission.php">Linux 的档案权限概念</a> 棉!
	</div>

	<hr><a name="vi_command"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class=text_h2>命令列内容说明</span><br>
	<div class=block2>
		如前所述,所谓的命令列或命令模式,就是在最下面一行没有显示
		『<span class=text_import2>--INSERT--</span>』或者『<span class=text_import2>--REPLACE--</span>』
		字样的时候。通常在命令列中的指令有下面几种∶(注意,当按下
		『:』 时,游标会自动移动到萤幕的最下面一行!)<br><br>

<table width=95% border=1 cellspacing=0 cellpadding=3 bgcolor=lightyellow style="font-family:'细明体'">
<tr bgcolor=lightblue><td colspan=2><font face="标楷体" size=+1 color=darkblue>一般模式∶
	移动游标的方法</font></td></tr>
	<tr><td width=180><center><font face="细明体">h 或 向左方向键(←)</font></center></td>
		<td><font face="细明体">游标向左移动一个字元</font></td></tr>
	<tr><td><center><font face="细明体">j 或 向下方向键(↓)</font></center></td>
		<td><font face="细明体">游标向下移动一个字元</font></td></tr>
	<tr><td><center><font face="细明体">k 或 向上方向键(↑)</font></center></td>
		<td><font face="细明体">游标向上移动一个字元</font></td></tr>
	<tr><td><center><font face="细明体">l 或 向右方向键(→)</font></center></td>
		<td><font face="细明体">游标向右移动一个字元</font></td></tr>
	<tr><td colspan=2>如果想要进行多次移动的话,例如向下移动 30 行,可以使用 "30j" 或 "30↓" 的组合按键,
		亦即加上想要进行的次数(数字)后,按下动作即可!</td></tr>
	<tr><td><center><font face="细明体">[Ctrl] + [f]</font></center></td>
		<td><font face="细明体">萤幕『向下』移动一页,相当于 [Page Down]按键</font>
		(<span class=text_import2>常用</span>)</td></tr>
	<tr><td><center><font face="细明体">[Ctrl] + [b]</font></center></td>
		<td><font face="细明体">萤幕『向上』移动一页,相当于 [Page Up] 按键</font>
		(<span class=text_import2>常用</span>)</td></tr>
	<tr><td><center><font face="细明体">[Ctrl] + [d]</font></center></td>
		<td><font face="细明体">萤幕『向下』移动半页</font></td></tr>
	<tr><td><center><font face="细明体">[Ctrl] + [u]</font></center></td>
		<td><font face="细明体">萤幕『向上』移动半页</font></td></tr>
	<tr><td><center><font face="细明体">+</font></center></td>
		<td><font face="细明体">游标移动到非空白字元的下一列</font></td></tr>
	<tr><td><center><font face="细明体">-</font></center></td>
		<td><font face="细明体">游标移动到非空白字元的上一列</font></td></tr>
	<tr><td><center><font face="细明体">n&lt;space></font></center></td>
		<td><font face="细明体">那个 n 表示『数字』,例如 20 。按下数字后再按空白键,游标会向右移动这一行的 n
		个字元。例如 20&lt;space> 则游标会向后面移动 20 个字元距离。</font></td></tr>
	<tr><td><center><font face="细明体">0</font></center></td>
		<td><font face="细明体">这是数字『 0 』∶移动到这一行的最前面字元处</font>
		(<span class=text_import2>常用</span>)</td></tr>
	<tr><td><center><font face="细明体">$</font></center></td>
		<td><font face="细明体">移动到这一行的最后面字元处</font>(<span class=text_import2>常用</span>)</td></tr>
	<tr><td><center><font face="细明体">H</font></center></td>
		<td><font face="细明体">游标移动到这个萤幕的最上方那一行</font></td></tr>
	<tr><td><center><font face="细明体">M</font></center></td>
		<td><font face="细明体">游标移动到这个萤幕的中央那一行</font></td></tr>
	<tr><td><center><font face="细明体">L</font></center></td>
		<td><font face="细明体">游标移动到这个萤幕的最下方那一行</font></td></tr>

⌨️ 快捷键说明

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