﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-java fans-随笔分类-Linux学习</title><link>http://www.blogjava.net/jlin/category/53795.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 06 Jun 2017 07:12:01 GMT</lastBuildDate><pubDate>Tue, 06 Jun 2017 07:12:01 GMT</pubDate><ttl>60</ttl><item><title>linux grep命令详解-转</title><link>http://www.blogjava.net/jlin/archive/2017/06/04/432581.html</link><dc:creator>fly</dc:creator><author>fly</author><pubDate>Sun, 04 Jun 2017 06:53:00 GMT</pubDate><guid>http://www.blogjava.net/jlin/archive/2017/06/04/432581.html</guid><wfw:comment>http://www.blogjava.net/jlin/comments/432581.html</wfw:comment><comments>http://www.blogjava.net/jlin/archive/2017/06/04/432581.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jlin/comments/commentRss/432581.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jlin/services/trackbacks/432581.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具，它能使用正则表达式搜索文本，并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展，支持更...&nbsp;&nbsp;<a href='http://www.blogjava.net/jlin/archive/2017/06/04/432581.html'>阅读全文</a><img src ="http://www.blogjava.net/jlin/aggbug/432581.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jlin/" target="_blank">fly</a> 2017-06-04 14:53 <a href="http://www.blogjava.net/jlin/archive/2017/06/04/432581.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux编程简介——VI(转)</title><link>http://www.blogjava.net/jlin/archive/2015/01/27/422459.html</link><dc:creator>fly</dc:creator><author>fly</author><pubDate>Tue, 27 Jan 2015 02:07:00 GMT</pubDate><guid>http://www.blogjava.net/jlin/archive/2015/01/27/422459.html</guid><wfw:comment>http://www.blogjava.net/jlin/comments/422459.html</wfw:comment><comments>http://www.blogjava.net/jlin/archive/2015/01/27/422459.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jlin/comments/commentRss/422459.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jlin/services/trackbacks/422459.html</trackback:ping><description><![CDATA[<div id="cnblogs_post_body" style="box-sizing: border-box; margin-bottom: 20px; color: #4b4b4b; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 20.7999992370605px; background-color: #ffffff;"><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">VI是Linux/Unix下标配的一个纯字符界面的文本编辑器。由于不支持鼠标功能，也没有图形界面，相关的操作都要通过键盘指令来完成，需要记忆大量命令。因此很多人不大喜欢它，但同时由于键盘的方式往往比鼠标来得快，一旦熟练后用起来是有种非常流畅的感觉的，也有人因此而非常喜欢它。</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">不管你喜欢也好，不喜欢也好，VI是Linux的标配编辑器，很多时候你也只有这一个编辑器可用，如果要做一个Linux Coder，熟悉VI还是非常有必要的。</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">PS：由于VI的命令非常多，本文主要只介绍一些基础命令。并且就算是这些基础命令中，也有许多是不大常用的，我就把这些命令以灰色文字显示了，初学者可以不用太关注这些灰色命令。</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">&nbsp;</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;"><span style="box-sizing: border-box; color: #333333;"><strong style="box-sizing: border-box;"><span style="box-sizing: border-box; font-family: 宋体;">两种工作模式</span></strong></span></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">前面已经说过，由于VI没有图形界面，如翻页、移动光标、保存、退出等操作都必须借助键盘来完成。另外，VI还提供了大量快捷键来加速操作，因此，VI统的编辑模式下，还引入了一种新的工作模式&#8212;&#8212;命令模式。</p><ul style="list-style-position: initial; list-style-image: initial; margin: 0px 0px 10px 45px; padding-left: 0px; font-size: 11px; box-sizing: border-box;"><li style="box-sizing: border-box; list-style: inherit !important;"><div style="box-sizing: border-box;"><span style="box-sizing: border-box; font-size: 10pt;"><strong style="box-sizing: border-box;">编辑模式：</strong>&nbsp;在此模式下，输入可见字符时和传统Windows环境下输入字符的功能相同。按Esc键可切换值命令模式。</span></div></li><li style="box-sizing: border-box; list-style: inherit !important;"><div style="box-sizing: border-box;"><span style="box-sizing: border-box; font-size: 10pt;"><strong style="box-sizing: border-box;">命令模式：</strong>&nbsp;在此模式下，输入的可见字符对应的是命令。当插入命令执行后进入编辑模式。</span></div></li></ul><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">PS：有的文章中还列举了一种Last Line模式，这个可以算作一种特殊的命令模式，只不过命令会显示在最后一行，并且需要敲回车才能执行。这些命令通常以 :/?$ 等特殊字符开头。</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;"><span style="box-sizing: border-box; color: #5b9bd5;">模式查询：</span>要判断当前处于那种模式，可以通过最后一行（状态栏）来判断：如果处于编辑模式，则显示为如下两种状态。</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://images.cnitblog.com/blog/12132/201301/17202604-994f4b2aa2e04c89bfa0799c50a0a444.png" alt="" style="border: 0px; box-sizing: border-box;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://images.cnitblog.com/blog/12132/201301/17202604-0fb11502f4ab483fb18f1e32c119c1b1.png" alt="" style="border: 0px; box-sizing: border-box;" /></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;"><span style="box-sizing: border-box; color: #5b9bd5;">模式间的切换：</span>在编辑模式下，通过Esc键可以进入命令模式；命令模式下，执行某些插入命令后进入编辑模式。如果你不知道当前处于那种模式下，<span style="box-sizing: border-box; color: #70ad47;">按ESC进入命令模式</span>，<span style="box-sizing: border-box; color: #ed7d31;">按Insert进入编辑模式</span>。</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">&nbsp;</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;"><strong style="box-sizing: border-box;">启动VI</strong></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">VI的启动参数有不少，但通常的使用方式如下：<span style="box-sizing: border-box; color: red;"><span style="box-sizing: border-box; font-family: Consolas; font-size: 9pt;">vi&nbsp;<span style="box-sizing: border-box; color: #5b9bd5;"><em style="box-sizing: border-box;">filename</em></span></span></span></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">如果参数中的文件存在，则打开该文件，如果参数中的文件不存在，则会新建该文件（不是立即创建，而是在保存的时候创建）。</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">&nbsp;</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;"><strong style="box-sizing: border-box;">插入文本</strong></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">刚进入VI时，是出于命令模式的，这是是无法输入文本的，因此需要进入插入模式。进入插入模式的命令有如下几个：</p><ul style="list-style-position: initial; list-style-image: initial; margin: 0px 0px 10px 45px; padding-left: 0px; font-size: 11px; box-sizing: border-box;"><li style="box-sizing: border-box; list-style: inherit !important;"><div style="box-sizing: border-box;"><span style="box-sizing: border-box; font-size: 10pt;">i&nbsp;&nbsp;&nbsp;&nbsp;从目前光标所在之处插入文字</span></div></li><li style="box-sizing: border-box; list-style: inherit !important;"><div style="box-sizing: border-box;"><span style="box-sizing: border-box; font-size: 10pt;">a&nbsp;&nbsp;&nbsp;&nbsp;从目前光标所在下一个字符插入文字</span></div></li><li style="box-sizing: border-box; list-style: inherit !important;"><div style="box-sizing: border-box;"><span style="box-sizing: border-box; font-size: 10pt;">o&nbsp;&nbsp;&nbsp;&nbsp;往下插入一个空行</span></div></li><li style="box-sizing: border-box; list-style: inherit !important;"><div style="box-sizing: border-box;"><span style="box-sizing: border-box; font-size: 10pt;">O&nbsp;&nbsp;&nbsp;&nbsp;往上插入一个空行</span></div></li></ul><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">输入这几个命令后，就进入了编辑模式，可以通过屏幕下方最后一行看到当前为插入状态：</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://images.cnitblog.com/blog/12132/201301/17202605-fa5e644bafcd4879906fb3726ec2d695.png" alt="" style="border: 0px; box-sizing: border-box;" /></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">可以通过Insert键切换插入状态和改写状态（和图像界面中一样）。</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://images.cnitblog.com/blog/12132/201301/17202605-0b07f08732e04449b7d48bc31d9eef2b.png" alt="" style="border: 0px; box-sizing: border-box;" /></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">另外，在命令模式下，也可以通过Insert键进入编辑模式（插入状态），不过通常还是前面介绍的四个命令来进入编辑模式。</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">&nbsp;</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;"><strong style="box-sizing: border-box;">离开和保存文件</strong></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">在VI中，离开和保存文件对应的命令有这几个（使用前记得进入命令模式）:</p><ul style="list-style-position: initial; list-style-image: initial; margin: 0px 0px 10px 45px; padding-left: 0px; font-size: 11px; box-sizing: border-box;"><li style="box-sizing: border-box; list-style: inherit !important;"><div style="box-sizing: border-box;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">:w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;保存</span></div></li><li style="box-sizing: border-box; list-style: inherit !important;"><div style="box-sizing: border-box;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">:w filename &nbsp;&nbsp;&nbsp;&nbsp;另存为</span></div></li><li style="box-sizing: border-box; list-style: inherit !important;"><div style="box-sizing: border-box;"><span style="box-sizing: border-box; font-size: 10pt;">:wq&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;保存并退出<span style="box-sizing: border-box; color: #ed7d31;">&nbsp;<span style="box-sizing: border-box; font-family: Arial;">[</span><span style="box-sizing: border-box; font-family: 宋体;">常用</span><span style="box-sizing: border-box; font-family: Arial;">]</span></span></span></div></li><li style="box-sizing: border-box; list-style: inherit !important;"><div style="box-sizing: border-box;"><span style="box-sizing: border-box; font-size: 10pt;">:q!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;强制退出</span></div></li><li style="box-sizing: border-box; list-style: inherit !important;"><div style="box-sizing: border-box;"><span style="box-sizing: border-box; font-size: 10pt;">SHIFT+zz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;保存并退出，功能同:wq<span style="box-sizing: border-box; color: #ed7d31;">&nbsp;<span style="box-sizing: border-box; font-family: Arial;">[</span><span style="box-sizing: border-box; font-family: 宋体;">常用</span><span style="box-sizing: border-box; font-family: Arial;">]</span></span></span></div></li></ul><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">&nbsp;</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;"><strong style="box-sizing: border-box;">移动光标</strong></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">在VI中，移动光标并不是我们游戏中常用的WASD，而是<span style="box-sizing: border-box; color: #ed7d31;"><span style="box-sizing: border-box; font-size: 10pt;"><span style="box-sizing: border-box; font-family: Arial;">h</span><span style="box-sizing: border-box; font-family: 宋体;">、</span><span style="box-sizing: border-box; font-family: Arial;">j</span><span style="box-sizing: border-box; font-family: 宋体;">、</span><span style="box-sizing: border-box; font-family: Arial;">k</span><span style="box-sizing: border-box; font-family: 宋体;">、</span><span style="box-sizing: border-box; font-family: Arial;">l</span></span><span style="box-sizing: border-box; color: #333333;"><span style="box-sizing: border-box; font-family: 宋体;"><span style="box-sizing: border-box; font-size: 10pt;">，分别控制光标左、下、上、右移一格</span><span style="box-sizing: border-box;">，分别分布在右手四个指头，新手需要一段时间来适应。使用非常频繁，需要熟练掌握。</span></span></span></span></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;"><span style="box-sizing: border-box; color: #333333; font-family: 宋体;">其它一些光标控制命令如下：</span></p><ul style="list-style-position: initial; list-style-image: initial; margin: 0px 0px 10px 45px; padding-left: 0px; font-size: 11px; box-sizing: border-box;"><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">Ctrl+B：屏幕往后移动一页。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">Ctrl+F：屏幕往前移动一页。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">Ctrl+U：屏幕往后移动半页。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">Ctrl+D：屏幕往前移动半页。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">gg：移动文章的开头。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">G：移动到文章的最后。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">w：光标跳到下个word的开头。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">e：光标跳到下个word的字尾。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">b：光标回到上个word的开头。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">$：移到光标所在行的行尾。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">^：移到该行第一个非空白的字符。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">0：移到该行的开头位置。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">#：移到该行的第#个位置，例：51、121。</span></li></ul><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">另外，还有几个行操作相关命令集中介绍一下</p><ul style="list-style-position: initial; list-style-image: initial; margin: 0px 0px 10px 45px; padding-left: 0px; font-size: 11px; box-sizing: border-box;"><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">:set nu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;显示行号</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">:set nonu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;隐藏行号</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">:#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;移动到第#行，如:15</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">Ctrl+G： &nbsp;&nbsp;&nbsp;&nbsp;在状态栏显示当前进度</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">#G：&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;移动到第#行，例：15G</span></li></ul><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">&nbsp;</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;"><strong style="box-sizing: border-box;">删除文字</strong></p><ul style="list-style-position: initial; list-style-image: initial; margin: 0px 0px 10px 45px; padding-left: 0px; font-size: 11px; box-sizing: border-box;"><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">x：删除光标所在位置的后面一个字符。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">#x：例如，6x 表删除光标所在位置的后面6个字符。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">X：大字的X，每按一次删除光标所在位置的前面一个字符。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">#X：例如，20X 表删除光标所在位置的前面20个字符。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">dd：删除光标所在行。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">#dd：例如，6dd表删除从光标所在的该行往下数6行之文字。</span></li></ul><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">&nbsp;</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;"><strong style="box-sizing: border-box;">复制粘贴</strong></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">我个人并不是很习惯VI提供的复制粘贴，由于没有高亮选中，用起来感觉不是很方便。平时大都是用的终端工具的复制粘贴功能，因此这里的命令我都加灰了，感兴趣的可以看看。</p><ul style="list-style-position: initial; list-style-image: initial; margin: 0px 0px 10px 45px; padding-left: 0px; font-size: 11px; box-sizing: border-box;"><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">yw：将光标所在处到字尾的字符复制到缓冲区中。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">p：将缓冲区内的字符粘贴到光标所在位置(指令'yw'与'p必须搭配使用)。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">yy：复制光标所在行。[超常用]</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">p：复制单行到您想粘贴之处。(指令'yy'与'p'必须搭配使用)</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">#yy：如：6yy表示拷贝从光标所在的该行往下数6行之文字。[常用]</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">p: 复制多行到您想粘贴之处。(指令'#yy'与'p'必须搭配使用)</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">ayy：将复制行放入buffer a, vi提供buffer功能，可将常用的数据存在buffer</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">ap：将放在buffer a的数据粘贴。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">b3yy：将三行数据存入buffer b。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; color: #a5a5a5; font-size: 10pt;">b3p：将存在buffer b的资料粘贴</span></li></ul><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">&nbsp;</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;"><strong style="box-sizing: border-box;">撤销和重做</strong></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">撤销和重做在任何编辑器里都是非常有用的命令：</p><ul style="list-style-position: initial; list-style-image: initial; margin: 0px 0px 10px 45px; padding-left: 0px; font-size: 11px; box-sizing: border-box;"><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">u：假如您误操作一个指令，可以马上按u，回复到上一个操作。</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">.： 重复执行上一次的指令</span></li></ul><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">&nbsp;</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;"><strong style="box-sizing: border-box;">查找和替换</strong></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">查找和替换的语法笔记复杂，先简单的介绍一下查找的语法：</p><ul style="list-style-position: initial; list-style-image: initial; margin: 0px 0px 10px 45px; padding-left: 0px; font-size: 11px; box-sizing: border-box;"><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">/pattern&lt;Enter&gt; ：向下查找pattern匹配字符串</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">?pattern&lt;Enter&gt; ：向上查找pattern匹配字符串</span></li></ul><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">使用了查找命令之后，使用如下两个键快速查找：</p><ul style="list-style-position: initial; list-style-image: initial; margin: 0px 0px 10px 45px; padding-left: 0px; font-size: 11px; box-sizing: border-box;"><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">n：按照同一方向继续查找</span></li><li style="box-sizing: border-box; list-style: inherit !important;"><span style="box-sizing: border-box; font-size: 10pt;">N：按照反方向查找</span></li></ul><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">至于替换的语法，限于篇幅所限，这里就不介绍了，给一个链接供大家参考一下：<a href="http://blog.csdn.net/lanxinju/article/details/5731843" style="box-sizing: border-box; color: #3468a4;">http://blog.csdn.net/lanxinju/article/details/5731843</a>。</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">&nbsp;</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;"><strong style="box-sizing: border-box;">VI对编程的支持</strong></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">VI对编程还是提供了一定的支持的。例如，它是支持括号配对、语法高亮显示的。</p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px; margin-left: 30px;"><img src="http://images.cnitblog.com/blog/12132/201301/17202605-439de5e4458a43fab9fc66c49207bd50.png" alt="" style="border: 0px; box-sizing: border-box;" /></p><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px;">不过，由于并不支持语法解析功能，作为编码工具和专业的代码编辑器如SourceInsight、VisualStudio等比起来还是有很大差距的。个人感觉做小型项目和临时修改代码用还行，但做大型项目是有点力不从心的。</p></div><img src ="http://www.blogjava.net/jlin/aggbug/422459.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jlin/" target="_blank">fly</a> 2015-01-27 10:07 <a href="http://www.blogjava.net/jlin/archive/2015/01/27/422459.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>