Linux——Vim文本编辑器

     vim——vi improved

  一、VIM简介

        Vim是一个类似于Vi的文本编辑器,不过在Vi的基础上增加了很多新的特性,Vim普遍被推崇为类Vi编辑器中最好的一个。

        Vi和Vim他们都是多模式编辑器,不同的是Vim是Vi的升级版本,它不仅兼容Vi的所有指令,而且还有一些新的特性在里面。比如代码补全、编译及错误跳转、代码高亮显示等方便编程的功能特别丰富,在程序员中被广泛使用。另外值得一提的是Vim可以很好的支持中文,尤其是简体中文,这对于我们写中国字,讲中国话的中国人,更应该是个首选了。

二、VIM模式

1.普通模式(命令模式,Normal mode)

        Vim启动后的默认模式

        在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是Vim启动后的默认模式。这正好和许多新用户期待的操作方式相反(大多数编辑器默认模式为插入模式)。

        Vim强大的编辑能来自于其普通模式命令。普通模式命令往往需要一个操作符结尾。例如普通模式命令dd删除当前行,但是第一个"d"的后面可以跟另外的移动命令来代替第二个d,比如用移动到下一行的"j"键就可以删除当前行和下一行。另外还可以指定命令重复次数,2dd(重复dd两次),和dj的效果是一样的。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。

2.插入模式(输入模式,Insert mode)

        在这个模式中,可向文本缓冲中插入文本。

        在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按a(append/追加)键或者i(insert/插入)键。

        插入模式中回到普通模式:ESC键。

3.可视模式(块操作模式、Visual mode)

        这个模式与普通模式比较相似。但是移动命令会扩大高亮的文本区域。

        高亮区域可以是字符、行或者是一块文本。当执行一个非移动命令时,命令会被执行到这块高亮的区域上。Vim的"文本对象"也能和移动命令一样用在这个模式中。

4.选择模式(Select mode)

        这个模式和无模式编辑器的行为比较相似(Windows标准文本控件的方式)。

        这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,Vim会用这个字符替换选择的高亮文本块,并且自动进入插入模式。

5.命令行模式(Command line mode)

        在命令行模式中可以输入会被解释成并执行的文本。

        例如执行命令(:键),搜索(/?键)或者过滤命令(!键)。在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式。

6.Ex模式(末行模式,Ex mode)

        这和命令行模式比较相似,在使用:visual命令离开Ex模式前,可以一次执行多条命令。

这其中我们常用到就是普通模式、插入模式和命令行模式。

三、进入、退出

        一、进入vim

        vim filename:打开或新建文件,并将光标置于第一行首

        vim +n filename:打开文件,并将光标置于第n行首

        vim + filename:打开文件,并将光标置于最后一行首

        vim filename....filename:打开多个文件,依次进行编辑

        vim -R filename:只读形式编辑文件

        vim -M filename:强制性地避免对文件进行修改

        二、退出

        Command 模式是vi或vim的默认模式,如果我们处于其它命令模式时,要通过ESC键切换过来。

        当我们按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令;

        :w  保存; 

        :w  filename 另存为filename; 

        :wq! 保存退出; 

        :wq! filename 注:以filename为文件名保存后退出; 

        :q! 不保存退出; (!强制修饰符)

        :x 应该是保存并退出 ,功能和:wq!相同

        ZZ:保存并退出 

        :close  可以关闭当前窗口。实际上,任何退出文件编辑的命令":quit"和"ZZ"都会关闭窗口,但是用":close"可以阻止你关闭最后一个Vim,以免以意外地整个关闭了Vim。

        :only  关闭除当前窗口外的所有其它窗口。如果这些窗口中有被修改过的,你会得到一个错误信息,同时那个窗口会被留下来。

 四、模式切换

        一、Normal mode 切换到 Insert mode:

        i(insert):进入Insert mode,并且让光标处于当前字符之前

        I(insert ):进入Insert mode,并且光标处于当前行的第一个非空字符前

        a(append):进入Insert mode,并且光标处于当前字符之后

        A(append):进入Insert mode, 并且光标处于当前行尾

        o(open):进入Insert mode,并在当前行后新起一行,光标位于新行

        O(open):进入Insert mode,并在当前行上边插入新行,光标位于新行

        s(subst char):删除当前字符,然后进入Insert mode

        S(subst line):删除当前行,然后进入Insert mode

        二、Insert mode 切换到Normal mode

        按键

五、环境设置

1.显示或取消行号

        set nu(set number):显示行号

        set nonu:取消显示行号

2.显示忽略或区分字符大小写

        set ic (set ignorecase):忽略大小写

        set noignorecase:区分大小写

3.设定自动缩进

       set ai(set autoindent):自动缩进

        set noai:取消自动缩进

4.查找到的文本高亮或取消高亮显示

    set hlsearch:高亮显示搜索到的文本

    set nohlsearch:取消高亮显示搜索到的文本

5.语法高亮

    syntax on:打开语法高亮显示

    syntax off:关闭语法高亮显示

你可能感兴趣的:(linux,vim,编辑器)