红联Linux门户
Linux帮助

Linux之vi/vim文本编辑

发布时间:2011-05-23 10:17:19来源:红联作者:halazi100
[i=s] 本帖最后由 halazi100 于 2014-11-4 10:50 编辑 [/i]

文本编辑器有很多,比如图形模式的gedit、kwrite、OpenOffice,文本模式下的编辑器有vi、vim(vi的增强版本)。vi和vim是我们在Linux中最常用的编辑器。vi或vim是Linux最基本的文本编辑工具,vi或vim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理字符界面中,远远不是图形界面的编辑器所能比的。

请参考ppt
注意,下载一次会扣除10个币,但回复一次会增加20个币,所以你懂的
[attach]40974[/attach]

一、概述

1、编辑器的基本工作流程:

①读入已有文件或建立新文件到内存编辑缓冲区

②编辑文件

③将编辑结果写回到磁盘

2、编辑器的类型:

①行编辑器:命令为edit、e、ex

②屏幕编辑器:以字符为单位,命令为:vi、v、view

二、vi编辑器简介

1、工作模式:

命令模式:进入vi后的初始模式,主要包括移动光标、删除文本、粘贴文本和查找文本等;

文本输入模式:除esc外都作为输入字符键

2、vi的基本使用

①从shell进入vi、$vi filename

②退出vi返回shell,在命令模式发出“:wq”并按回车

以冒号(:)开始的命令需要按回车才开始执行

三、vi编辑器的命令与模式使用

vi的主要功能:

输入文本 <======文本输入模式

移动光标 <======命令模式

删除文本

替换文本

搜索文本

其他辅助操作

保存文件,退出编辑器

[attach]34709[/attach]
1、从命令模式进入文本输入模式的命令键:

①i在光标前插入文本

②I在光标所在行行首插入文本

③a在光标后插入文本

④A在光标所在行行尾插入文本

⑤o在光标所在行下面一行加一行

⑥O在光标所在行上一行加一行

Esc退回到命令模式


2、命令模式:

①光标移动:

↑↓←→上下左右移动

空格键:光标右移

退格键:光标左移

②删除文本:

x删除光标所在字符

dw删除光标到词结尾

d删除光标到行尾

dd删除光标所在行,2dd删除光标后两行

③替换文本:

字符替换r (只替换一个字符)

单词替换cw (不等长替换)

④搜索文本(/和?)

/与?差别在于查找方向不同,一个向后,一个向前

⑤其他辅助操作:

u命令: 取消最近一条修改文本的命令

.命令: 重复最近一条修改命令

p命令: 将最后一次删除粘贴于光标之后

⑥保存文本退出vi

:wq保存退出

:w 保存

:w file 把文本另存为file

:q 退出vi

:q!强行退出,不保存

四、行编辑器edit

1、进入行编辑器的两种方法:

①从shell进入 $edit (或e、ex) file

②从vi的屏编辑器进入行编辑,在命令模式下按冒号

2、退出编辑:

①从行编辑退回到屏编辑,按v或vi

②从行编辑退回到shell

::wq : w filename :w! Filename : q :q!

五、Vi命令的其他选项

1、恢复上次的编辑副本

$vi -r filename

2、编辑多个文件

$vi file1 file2 ……

3、编辑加密文件

$vi -x filename

若被编辑文件filename是经encrypt加密的,则可使用-x选项回答了口令之后对文本编辑。

4、vi除文本编辑之外的功能

①在vi中执行Unix命令(如!ls),也可以在!前加入r,可将命令执行的结果嵌入到vi中;

②命令行编辑功能($set -o vi)。
文章评论

共有 49 条评论

  1. godlovewendy 于 2015-04-02 22:27:19发表:

    谢谢楼主

  2. suncunhu 于 2015-02-14 21:12:52发表:

    可是你的生命里买菜

  3. halazi100 于 2014-11-04 10:48:10发表:

    [i=s] 本帖最后由 halazi100 于 2014-11-4 10:49 编辑 [/i]

    更新一下

  4. halazi100 于 2014-08-22 15:21:02发表:

    添加附件,相互学习,共同进步

  5. chenpeng 于 2013-08-08 15:13:34发表:

    好贴啊,正在研究,一会试试

  6. zoomany 于 2012-12-08 15:07:27发表:

    学习,很给力

  7. gky2009514 于 2012-12-07 13:21:54发表:

    新手完成任务,求下书籍~

  8. jgx_tk 于 2012-05-10 14:27:37发表:

    1# halazi100


    dsfasdgasdga

  9. ykppingfan 于 2012-05-03 22:34:22发表:

    感谢

  10. conghung2012 于 2012-05-03 20:20:37发表:

    慢慢来,不着急。

  11. jin314 于 2012-02-22 16:09:19发表:

    楼主好强悍

  12. pdsmyz1023 于 2012-02-01 16:06:22发表:

    感谢楼主分享!

  13. guwujian 于 2011-11-17 23:47:09发表:

    不错的东西

  14. ethanhu 于 2011-11-15 15:01:56发表:

    再来一个,顶

  15. ethanhu 于 2011-11-15 15:01:27发表:

    对初学者用

  16. ystianyu 于 2011-11-08 14:00:07发表:

    不错,感谢分享

  17. xiaotengyi 于 2011-10-26 01:32:30发表:

    一般般

  18. mylove_hu 于 2011-10-18 20:17:51发表:

    知其然,知其所以然!强

    QQ交流 627717953

  19. ai0909 于 2011-10-09 10:51:01发表:

    新手应用

  20. 希望的歌2011 于 2011-09-21 23:55:22发表:

    学习一下,很不错

  21. 希望的歌2011 于 2011-09-21 23:55:22发表:

    学习一下,很不错

  22. 希望的歌2011 于 2011-09-21 23:55:21发表:

    学习一下,很不错

  23. 希望的歌2011 于 2011-09-21 23:55:20发表:

    学习一下,很不错

  24. 希望的歌2011 于 2011-09-21 23:55:04发表:

    学习一下,很不错

  25. 希望的歌2011 于 2011-09-21 23:55:00发表:

    学习一下,很不错

  26. 希望的歌2011 于 2011-09-21 23:54:52发表:

    学习一下,很不错

  27. 甜枣儿 于 2011-09-08 16:52:08发表:

    贵在坚持,好好把握,加油!

  28. SmallAi 于 2011-09-06 16:21:35发表:

    学习了

  29. hooqee 于 2011-08-15 18:32:55发表:

    很适合新手!

  30. wlstone_2009 于 2011-08-03 22:18:20发表:

    学习了

  31. wq413732076 于 2011-08-03 21:10:54发表:

    感谢楼主分享我要学linux

  32. jesson 于 2011-07-27 21:09:35发表:

    也来看看

  33. every_why 于 2011-07-20 11:08:30发表:

    正在学习中

  34. Louis.Hu 于 2011-07-13 23:15:51发表:

    LZ 我要下我要下

  35. fire312923253 于 2011-07-13 16:22:24发表:

    学习

  36. fire312923253 于 2011-07-13 16:18:40发表:

    学学

  37. @wujiang@ 于 2011-07-12 16:08:20发表:

    vi编辑器有3种模式的。命令模式,输入模式和末行模式。当你使用“:”的时候好像就进入到了末行模式了。。所以说“:wq”是在末行模式下保存并退出的。还有一种方法是在命令模式下也能退出的。不过不记得了。。{:3_121:}

  38. lgcHR 于 2011-06-24 21:42:23发表:

    学习了,真的不错啊

  39. malcchen 于 2011-06-17 22:37:44发表:

    学习

  40. dllzg 于 2011-06-15 22:06:46发表:

    ok