轻松学习之Linux教程四 神器vi程序编辑器攻略

本系列文章由@超人爱因斯坦出品,转载请注明出处。  

        文章链接:

         http://hpw123.net/a/Linux/Linuxjichu/2014/1026/93.html

         作者:超人爱因斯坦   个人网站http://www.hpw123.net

        邮箱:[email protected]

        CSDN:http://blog.csdn.net/u010283694


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


好了,让我们进入主题吧:


一.为何要学vi

  • 所有的UNIX Like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在;
  • 很多软件的编辑接口都会主动调用vi
  • vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计;
  • 程序简单,编辑数度相当快


二.vi的使用

基本上vi共分为3种模式,分别是一般模式,编辑模式与命令行模式

  • 一般模式

                以vi打开一个文件就直接进入一般模式了(这是默认的模式),这个模式中,你可以使用上下左右按键来移动光标,你可以删除字符或删除整行,也可以复制,粘贴你的文件数据。

  • 编辑模式

                在一般模式中可以进行删除,复制,粘贴等的操作,但是却无法编辑文件内容,要等到你按下“i,I,o,O,a,A,r,R”等任何一个字母之后才会进入编辑模式,通常在Linux中,按下这些按键时,在界面的左下方会出现INSERT或REPLACE的字样,此时才可以进行编辑,而如果要回到一般模式时,则必须要按下Esc这个按键即可退出编辑模式。

  • 命令行模式

                在一般模式当中,输入“: ? /”3个中的任何一个按钮,就可以将光标移动到最下面那一行,在这个模式当中,可以提供你查找数据的操作,而读取,保存,大量替换字符,离开vi,显示行号等的操作则是在此模式中完成的。

按键说明

第一部份:一般模式可用的按钮说明,光标移动、复制粘贴、搜寻替换等

第二部份:一般模式切换到编辑模式可用按键说明

#p#分页标题#e#


第三部份:一般模式切换到指令列模式可用按键说明


三.vim的功能

块选择

呵呵,刚才提到的vi操作是行为单位的,那么如何搞定的是一个块范围呢?


文件编辑

额,vim里面可以同时打开几个文件一起编辑吗?答案当然是肯定的啦

使用vim [文件] [文件] 。。。

多窗口功能

这个多窗口和多文件可是有区别的呢,自己仔细想一下


vim常用命令示意图



四.其他vim使用注意事项

中文编码问题

大家应该遇到过乱码了吧,是不是快要疯了

在Linux下,vim的终端界面中你使用的是统一编码(utf8),由于编码不同,文件就会乱码了

1.你的Linux系统默认支持的语系数据:这与/etc/sysconfig/i18n有关

2.你的终端接口(bash)的语系:这个与LANG这个变量有关

3.你的文件原本的编码

4.打开终端机的软件,例如在GNOME下面的窗口界面

解决方法:

LANG=zh_CN.GB2312//具体看你文件编码
然后终端界面工具栏的"终端“->”设置字符编码“->”想要的编码“
ok,应该没问题了


配置自己的vim

vim配置好多好多的,非常酷,网上有好多资料,可以配置一个适合自己的

想配置看这里哈哈

还可以看这里呢


                                                                    ——————————超人爱因斯坦于2014年10月26日更新

                                                                                                                           注:部分文字来自鸟哥的私房菜



ok,今天的内容大概就是这些,如果有什么写的不对的,求大神指正,我们下篇文章见:)

呵呵,让我们轻松一下吧   轻松一刻2014合集



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。