|
[原创] 学习使用VI编辑器 |
发表回复
|
| 发表人 | |
碧蓝右耳
初级程序员
注册时间: 2005-11-13 在线状态: 离线 发帖数: 49 |
帖子功能
引用 回复
主题: [原创] 学习使用VI编辑器发表: 2005-11-28 23:52 楼层: 1 |
|
就目前而言,不论你在哪个平台下编程,你总会需要一款文本编辑器。对于一个熟练的C++程序员来说,合适的编辑器就象战士手中的武器,是必不可少的。各种各样的编辑器或独立存在或集成于开发环境中,各有千秋,等待着程序员们的挑选。在独立型文本编辑器中,最负盛名、也是使用人数最多的两款就是:VI和Emacs。他们以强大稳定的性能,便捷流畅的操作获得了程序员们的赞赏。当你真正学会使用他们的时候,你也一定会被他们折服。我将在下面的文字中为大家介绍其中的一款:VI。 零、如何得到 编辑 碧蓝右耳 |
|
![]() |
|
碧蓝右耳
初级程序员
注册时间: 2005-11-13 在线状态: 离线 发帖数: 49 |
帖子功能
引用 回复
发表: 2005-11-28 23:53
楼层: 2 |
|
一、vi的基本概念:模式
vi是一个文本编辑器,但他与今天流行的编辑器有所不同。今日的编辑器不区分文本的输入和编辑,在一个状态下操作,用菜单、鼠标或是快捷键来输入命令,这就需要鼠标或特殊的键盘(比如带Alt键和Ctrl键)。为了在各种千奇百怪的Unix系统中保持相同的行为,捆绑在Unix中的vi尽可能少的依赖设备,vi中的几乎所有的操作都只需要键盘,而且是只需要主键盘区。但是主键盘区的字符太少,输入同一个x,既可能是删除命令,也可能是文本中的字符,如何判断。这就取决于vi当时的状态,所以说vi是一个模式编辑器,同一输入在不同模式下有不同含义。 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1. 插入模式(Insert mode) 在插入模式下的输入都解释为文本的内容。也就是说,只有在Insert mode下,才可以做文字输入。 2. 命令模式(command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode,或者到 last line mode。在命令模式下的输入都解释为命令。要做编辑修改,必须进入命令模式。 3. 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。 不过一般把vi简化成两个模式,就是将底行模式(last line mode)算作命令行模式command mode)的一种特殊形式。 在插入模式下,按「ESC」键可切换到命令模式,如果在命令模式下按「ESC」键则仍然保持命令模式,同时系统喇叭会发出哔的响声。所以你完全可以多按几下「ESC」,确保处于命令模式。 |
|
![]() |
|
碧蓝右耳
初级程序员
注册时间: 2005-11-13 在线状态: 离线 发帖数: 49 |
帖子功能
引用 回复
发表: 2005-11-29 15:55
楼层: 3 |
|
二、vi的基本操作 |
|
![]() |
|
碧蓝右耳
初级程序员
注册时间: 2005-11-13 在线状态: 离线 发帖数: 49 |
帖子功能
引用 回复
发表: 2005-11-29 15:56
楼层: 4 |
|
三、命令行模式(command mode)功能键 1. 从插入模式切换为命令行模式 按「ESC」键。 3. 删除和替换 4. 复制 5. 回复和修改 6.Last line mode下命令 (2) 有参数的移动 n{ -- 左括弧,移动到段落的最前面。前面加上数字可以指定往前移动 n 个段落
范围可以是下列几个: 它们提供更多编辑文字的能力。值得注意的一点是删除与复制都会将指定范围的内容放到暂存区里,然後就可以用指令 p 贴到其它地方去,这是 vi 用来处理区段拷贝与搬移的办法。 v 只要按下 v 键,光标所在的位置就会反白,然後就可以移动光标来设定范围,接著再直接下指令进行编辑即可。 |
|
![]() |
|
碧蓝右耳
初级程序员
注册时间: 2005-11-13 在线状态: 离线 发帖数: 49 |
帖子功能
引用 回复
发表: 2005-11-29 16:26
楼层: 5 |
|
四、其它
如果VI的功能只是上面这些的话,那他根本连Windows下的记事本都不如。但事实上,vi的功能是如此的强大,以至于我们必须用整整一本书才能说明。Oreilly就有一本名为Learning the vi Editor的书,联机手册也是可用的,而且简体中文的手册也已经完成。 vi常见的功能包括语法高亮、多文件编辑和对比、16进制编辑、支持正则表达式的搜索等等。而对于程序员,代码折叠、自动补全、函数的声明和定义间的切换、与编译器的捆绑更是经常使用的功能。各种稀奇古怪的功能简直不胜枚举,更要命的是,你完全可以自己动手,给vi增加新的命令和功能。而所有这些都完全不需要用鼠标,仅仅通过键盘就可以完成。你的双手不需要离开主键盘就可以实现所有这一切。同时各个地区的用户更加不必担心语言支持的问题,简体中文的支持早已是毫无问题了。你从今天开始,就可以抛弃记事本、editplus、UltraEdit这些东西,投身到vi的怀抱。如果你还感觉到vi的不便,相信我,那只是因为你还没有熟悉他。记得常常翻阅手册,不要让编辑本身成为你编程的障碍。 |
|
![]() |
|
发表回复
|
| 论坛跳转 | 论坛权限 ![]() 您 不能 在此发表新帖 您 不能 在此发表回复 您 不能 删除本人发帖 您 不能 编辑本人发帖 您 不能 在此发起投票 您 不能 在此参加投票 |