欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> 操作系统 >> Linux >> Linux软件 >> 教程正文

  没有公告

教程: Linux教程-软件教程-进行有效编辑的七种习惯 更多...
教程: Linux教程-软件教程-进行有效编辑的七种习惯
进行有效编辑的七种习惯
Bram Moolenaar

如果你的很多时间是用来敲纯文本,写程序或HTML,那么有效地使用一个好的编 辑器能节省你不少时间。这篇文章里的指导和提示将有助于你更快工作,更少犯 错误。

文中采用开源文本编辑器Vim(Vi IMproved)说明有效编辑的思想,但这些思想也 适用于其他编辑器。择合适的编辑器只是有效编辑的第一步,对于哪个编辑器更 好的讨论将占很大地方,这里就不提了。如果你不知道该用哪个编辑器,或者对 现在所使用的不太满意,不妨试试Vim;你是不会失望的。

第一部分:编辑一个文件

快速定位

编辑中大部分时间是花费在阅读、查错和寻找应该进行编辑的地方上,而不是插 入新文字或进行修改。在文件中不断定位(navigate)是经常要做的,所以最好学 会如何快速地进行。

你常会搜寻文档中的一些文字。或者找出包含特定词或词组的行。你当然可以使 用搜寻命令 /pattern,不过还有更聪明的方法:

* 如果你看到一个特定词,想看看其他地方是不是出现过同样的词,可以使用
* 命令。它将对光标所指的词进行搜寻。
* 如果设置了 ' incsearch' 选项,Vim将在你正在输入搜寻模式的时候就 显示搜寻的结果(而不是等到你敲了回车之后)。这能够使你更快地找出拼写 错误。
* 如果设置了 ' hlsearch' 选项,Vim将使用黄色背景对搜寻结果进行高亮 显示。你可以对搜寻的结果一目了然。应用在程序代码中可以显示变量的所有 引用。你甚至不需要移动鼠标就能看到所有的搜寻结果。

对于结构化的文档,快速定位的办法就更多了。Vim提供专门针对C程序(以及 C 、Java等等)的特殊命令:


* 使用 %可以从开始括号跳到对应的关闭括号。或者从 ``#if'' 跳到对 应的 ``#endif''。事实上, % 可以完成许多对应项之间的跳转。可以用来检查if()和{}结构是否平衡。
* 使用 [{可以在代码段(block)中跳回到段起始的 ``{``。
* 使用 gb 可以从引用某个变量的地方跳转到它的局部声明。

定位的方法当然不止这些。关键是你需要知道有这些命令。你也许会说不可能学 会所有命令 — Vim里有成百个定位命令,有的很简单,有的很聪明 — 这需要 几星期的学习。不过,你不必如此;你只需要了解自己的编辑特点,然后掌握相 关的定位命令就可以了。

可以采取三个基本步骤:
1. 在你进行编辑的时候,注意那些重复进行的操作。
2. 找出能快速进行这些操作的编辑命令。阅读文档,问问朋友,或者看看其他 人是如何做的。
3. 进行练习,知道熟练为止。

让我们通过以下这个例子说明一下:

1. 你发现在写C程序时,经常要查找函数定义。你目前使用 * 命令对函 数名进行搜寻,但得到的往往是函数的引用而不是函数定义。你觉得一定会 有更好的办法。
2. 读过一篇快速参考以后,你发现关于定位标记的说明,里面说明了如何定位 函数定义,这正是你要找的!
3. 你试着生成了一个标记文件,使用Vim自带的ctags程序。你学会了使用 CTRL-] 命令,发现这省了不少事。为了更方便,你在 Makefile 里加 入了几行以自动生成标记文件。

当你使用以上三个步骤时,有几点需要注意的地方:
* ``我只想完成任务,不想去读那些文档来找新的命令。''。如果你真的是这 么想的,那么你将永远停留在计算的石器时代。有些人编写什么都用 Notepad,却总不明白为什么其他人总能用他一半的时间成任务。
* 不要过分。如果你总为一点小事也要去找完美的命令,你就没法集中精力到 你本要完成的任务上了。只要找出那些耗费过多时间的操作,然后使用相关 的命令直到熟练就可以了。这以后你就能集中精力到自己的文档上了。

下面这些章节给出了大多数人遇到的操作。你仿照它们在实际工作中使用 三个基本步骤。

不要敲两次

我们所使用的字词集合是有限的。既使是词组和句子也不过是有限的几个。对于 程序来说更是如此。很明显,你不想把同样的东西敲上两遍。

你经常会想把一个词替换成另一个。如果是全文件替换,你可以使用 :s (substitute)命令。如果只是几个位置需要被替换,一个快速办法是使 用 * 命令找出下一个词,使用 cw 来进行替换。然后敲 n 找到下个词,再用 . 重复 cw 命令。

. 命令重复上一个改变。这里的改变是插入、删除或替换操作。能够重复 进行操作是个极为强大的机制。如果好好使用它,那么你大部分的编辑工作可能 只不过是敲几下 . 的事。小心不要在两次重复之间做其他修改,因为这 将改变你要重复的操作。如果确实需要如此,可以使用 m 命令记住要修 改的位置,等重复操作进行完毕之后再回过头来修改它。

有些函数名和变量名可能很难敲。你能准确无误地输入 ``XpmCreatePixmapFromData''么?Vim的自动补齐机制能给你省不少事。它查看
你正在编辑的文件以及#include文件,你可以只敲入``XpmCr'',然后使用 CTRL-N 命令让Vim把它补齐为``XpmCreatePixmapFromData''。这不但节省 了输入时间,而且减少了输入的错误。

如果你有同样的词组或句子需要输入多次,还有个更简单的办法。Vim可以进行 录制宏。使用 qa 命令开始在'a'寄存器里录制宏。然后正常地输入编 辑命令,最后用 q 退出录制状态。如果你想重复所录制的命令,只需 执行 @a 命令。Vim总共提供26个这样的宏寄存器。

使用宏录制功能可以记录各种操作,不只限于插入操作。如果你想重复一些东西, 不妨一试。

需要注意的是记录的命令会被原封不动地重复执行。在进行定位时简单的重复宏 操作可能不是你想要的结果。比如对于一个词这里可能需要左移4个字符,在下 个地方可能就要左移5个字符。所以必须定位到合适的位置再重复进行宏操作。

如果你要重复的命令很复杂,把它们一次敲进去会很困难。这时你可以写一个脚 本或宏。这常被用于建立代码模板;比如,一个函数头。你想做得多聪明就可以 做得多聪明。

知错就改


[1] [2] [3] 下一页

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    dos入门教程

    dos入门教程-2

    dos入门教程-1
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网