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

相关推荐

  • 功能强大的Linux文本编辑器之Vim的使用

    VIM编辑器   Vim章节的内容:    使用vi和vim的三种主要模式    移动光标,进入插入模式    改变、删除、复制文本    撤销改变    搜索文档    vim寄存器    可视化和多窗口 &…

    Linux干货 2016-08-12
  • MySQL常见备份与恢复方案

    MySQL常见备份方案有以下三种:        mysqldump + binlog        lvm + binlog          xtrabac…

    Linux干货 2015-10-01
  • 搜索引擎-处理查询

     我们从用户的角度来看,用户不关心什么索引结构是倒排还是签名文件,也不需要知道相关排序算法。用户提交了查询,就需要获取满意的搜索结果。这个搜索结果就是搜索引擎是否提供有效的服务。 1.查询流程 查询流程图: 1)用户提交查询 2)分析查询      查询预处理:    …

    Linux干货 2015-12-10
  • 实时获取MySQL的TPS、QPS(输出到屏幕)

    这个脚本挺好用的,例如我们在主库执行了一个大事务,结果导致从库的show slave status\G 一直卡在 system lock状态,我们用下面这个脚本就能知道到底是hang住了,还是只是执行缓慢(反应在脚本执行结果里面就是qps\tps是不停变动的)。 当然,从库一直处于system lock 状态,一般是因为我们从库也设置双1导致,只要…

    Linux干货 2017-05-07
  • 马哥教育网络班20期+第3周课程练习

     1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 法一: who | cut -d ‘ ‘ -f 1 | tail -u 法二: who | cut -d ’’-f&…

    Linux干货 2016-06-26
  • Http虚拟主机的应用

    一、http 1、 基于主机名实现三个虚拟主机 (1)yum安装httpd (2)注释中心主机的网页路径 (3)创建三个虚拟机主机的文件路径 (4)创建三个虚拟机主机的文件网页index.html (5)更改hosts文件进行映射 (6)关闭防火墙和Selinux进行测试(测试步骤是在本机的虚拟机上测试) 2、每虚拟主机使用独立的访问日志和错误日志 (1)给…

    Linux干货 2016-10-08

评论列表(2条)

  • stanley
    stanley 2015-04-03 15:23

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

    • jxf_tide
      jxf_tide 2015-04-07 09:04

      @stanley好的,,以后会注意