Vim编辑器初步接触

一、概要

    vim(IMproved)编辑器是vi(visual interface)编辑器的增强版,它是Linux系统编辑文本文件重要的工具之一,也是最基础的编辑工具。它可以执行输出、删除、查找、替换、块操作等众多文本操作。学会它之后,你使用Linux系统的路将更加平坦。

二、使用方法

    1、vim操作模式

                (1),编辑模式(command mode):也叫做命令模式,控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入输入模式(Insert mode)下,或者到末行模式。            

                (2),输入模式(Insert mode):只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式。

                (3),末行模式 (last line mode):将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。vim内置的命令行接口,执行vim的内置命令。

    2、vim的基本操作

                (1),打开文件:vim [option]…【FILE】…

                (2),3种模式间的切换:

                                     a、在命令模式下使用【i】键进入输入模式;

                                     b、在输入模式下使用【ESC】键退出输入模式并进入命令模式;

                                     c、在命令模式下使用【:】键进入末行模式;例如

                      : w filename (输入 [w filename]将文章以指定的文件名filename保存)

                      : wq (输入[wq],存盘并退出vim)

                      : q! (输入q!, 不存盘强制退出vim)

                      : x (执行保存并退出vim)

   3、vim常用快捷键

       (1) 移动光标

                    vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母[h]、[j]、[k]、[l],分别控制光标左、下、上、右移一格。

                    按[ctrl]+[b]:屏幕往“后”移动一页。

                    按[ctrl]+[f]:屏幕往“前”移动一页。

                    按[ctrl]+[u]:屏幕往“后”移动半页。

                    按[ctrl]+[d]:屏幕往“前”移动半页。

                    按[gg]:移动到文章的首行。

                    按[G]:移动到文章的最后。

                    按[$]:移动到光标所在行的“行尾”。

                    按[O]: 移动到光标所在行的“行首”

                    按[^]:移动到光标所在行的“行首”的第一个非空白字符。

                    按[w]:光标跳到下个字的开头

                    按[e]:光标跳到下个字的字尾

                    按[b]:光标回到上个字的开头

                    按[#l]:光标移到该行的第#个位置,如:5l,56l。

       (2)编辑文本

删除

                    [x]:每按一次,删除光标所在位置的“后面”一个字符。

                    [#x]:例如,[6x]表示删除光标所在位置的“后面”6个字符

                    [X]:大写的X,每按一次,删除光标所在位置的“前面”一个字符。

                    [#X]:例如,[20X]表示删除光标所在位置的“前面”20个字符。

                    [dd]:删除光标所在行。

                    [#dd]:从光标所在行开始删除#行。

                    [yw]:将光标所在之处到字尾的字符复制到缓冲区中。

                    [#yw]:复制#个字到缓冲区

复制

                    [yy]:复制光标所在行到缓冲区

                    [#yy]:例如,[6yy]表示拷贝从光标所在的该行“往下数”6行文字。

                    [p]:将缓冲区内的字符贴到光标所在位置。

恢复上一次操作

                   [u]:如果您误执行一个命令,可以马上按下,回到上一个操作。按多次“u”可以执行多次回复。

                   [ctrl+r]:撤销此前的撤销操作

                   [.] :重复前一条命令

 修改

                    [cw]:更改光标所在处的字到字尾处

                    [c language=”""""""#w""""""”][/c]:例如,[c3w]表示更改3个字

 查找和替换

                    #:查找第#行

                    .:查找当前行

                    $:查找最后一行

                    %:全文查找,相当于1,$

                    g:global,全行替换

                     i:不区分字符大小写

在末行模式下查找和替换的格式:s/查找模式/要替换成的内容/gi

            a、查找模式:可以使用正则表达式

            b、要替换成的内容:不能使用模式,仅能使用引用

           举例说明:

               复制/etc/rc.d/init.d/functions至/tmp目录,替换/tmp/functions文件中的/etc/sysconfig/init为/var/log

                                                           :   cp /etc/rc.d/init,d/function /tmp

                                                           :  vim /tmp/functions

1428037829688364.png

                                                           :%s@/etc/sysconfig/init@/var/log@gi

1428037831448440.png

通过上图已经看见/etc/syscongfig/inint已经全部被替换成/var/log。

此外,vim也是一个多窗口、多文件的编辑器;     

多文件模式:

    :next,进入下一个文件

    :previous,进入上一个文件

    :last,进入最后一个文件

    :first,进入第一个文件

    :wqall,保存并退出所有文件

多窗口模式:

      -o:水平分割

      -O:垂直分割

      窗口间切换:ctrl+w+方向键

窗口属性定义:

    :set nu,显示行号

    :set nonu:不显示行号

    :set ai 自动缩进

    :set ic:忽略字符大小写

    :set noic:不忽略字符大小写

语法是否高亮:

        syntax on|off

搜索是否高亮:

        set nohlsearch|hlsearch

以上是vim编辑器的初步了解,通过以后的学习会更加深入!!

原创文章,作者:傲剑,如若转载,请注明出处:http://www.178linux.com/2472

(0)
傲剑傲剑
上一篇 2015-04-03 15:13
下一篇 2015-04-03 19:53

相关推荐

  • grep命令

    grep命令:grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来;grep搜索的结果被送到屏幕,不影响原文件内容。Unix的grep家族包括grep、egrep和fgrep…

    Linux干货 2016-08-08
  • IO重定向和管理及管道

    IO重定向   通常对程序来讲,输入输出数据可以是键盘、鼠标、显示器等;IO重定向就是将原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器输出而是希望输入到某以文件中的可以通过Linux重定向进行这项工作。  IO重定向和FD(File Descriptor)有关。      标准输入(std…

    Linux干货 2016-08-05
  • N22-第一周作业

    1、描述计算机的组成及其功能    组成:        硬件:            CPU:运算器、控制器、寄存器、缓存     &nb…

    Linux干货 2016-08-15
  • 配置DNS服务

    DNS:Domain Name System:域名系统 DNS:Domain Name System:域名系统 域名和IP地址相互映射的一个分布式数据库,使用户使用域名更方便的访问互联网,不用去记更利于机器读取的IP地址,域名解析由DNS服务器提供。 DNS服务器的类型: 主DNS服务器:管理和维护所负责解析的域内解析库的服务器 从DNS服务器:从主服务器或…

    Linux干货 2016-10-24
  • 文本处理工具

    1, head  默认显示前十行 -n  +行号 显示前n行 -行号 显示前n行 -c 字节数 显示前n个字节 tail 默认显示后十行 -n +行号 显示后n行 – 行号 显示后n行 -f 动态显示 cut -d 指定分隔符 -f 选取第几列 –output-delimiter 指定输出符 相关的实际操作: a,…

    2017-07-29
  • http://www.jianshu.com/p/aac6076e4ca2

    Linux干货 2017-07-29

评论列表(2条)

  • stanley
    stanley 2015-04-03 15:23

    可以尝试14号字体,文章的优美度会提升不少。另外记得加上标签提高搜索命中率哦

    • jxf_tide
      jxf_tide 2015-04-07 09:04

      @stanley好的,,以后会注意