vi编辑器

   vim编辑器是众多文件编辑软件中比较好的一个,也是使用最多 ,功能最强大的,提供了图形化界面。

   Vi:类unix系统中默认的文本编辑器

   Vim:vi编辑器的增强版本,习惯上也称vi。

   作用:创建或修改文本文件,维护linux系统的各种配置文件

vim的使用格式:

  vim [选项]…file..

可用选项:

    +#:打文件后,直接让光标处于低#行的行首

    +/PATTERN:打开文件后直接让光标处于第一个被PATTERN匹配到的行的行首

 

vim编辑器有三种模式:

                   命令模式:默认进入的是命令模式,在命令模式中可以对文件进行删除、复制、粘贴等功能,

                   编辑模式:对文件修改编辑

                   扩展模式:对文件保存、退出等

 

三种模式之间的切换:

                   命令模式切换到编辑模式按a A i I o O键

                                           a:在光标所在处后面插入

                                           A:在光标所在行的行尾插入

                                           i:在光标前插入

                                           I:在光标所在行的行首插入

                                           o:在光标所在行的下一行插入

                                           O:在光标所在行的上一行插入

                   命令模式切换到扩展模式按Shift键+:键

                   插入模式到命令模式:按ESC键

                   扩展模式到命令模式:按ESC键

                  

                   ctrl+s 锁定

                         ctrl+q 解锁       

命令模式操作:

    

 光标跳转:

      ^:跳转至行首的第一个非空字符

      0:跳转至行首

      $:跳转至行尾

      #G、扩展模式:跳转至#行

      G:跳转至最后一行

      1G或gg:跳转至第一行

 翻屏操作:

      ctrl+f:向文件尾部翻一屏

      ctrl+b:向文件首部翻一屏

      ctrl+d:向文件尾部翻半屏

      ctrl+u:向文件首部翻半屏

     

 保存退出:

      ZZ;保存退出

      ZQ:不保存退出

 字符编辑:

      x:删除光标处的字符

      #x:删除光标处起始#个字符

      xp:交换光标所在处的字符

     

      ~:转换大小写

 替换命令:

       r:替换光标所在处的字符

       R:切换成替代模式

 删除命令:

    d:删除命令,可结合光标跳转字符实现范围删除

       d$:删除到行尾

       d^:删除到非空行首  

       d0:删除到行首

       dw:删除一个单词,从光标处往后删

       db:删除一个单词,从光标处往前删

       dd:删除光标所在行

       #dd:删除#行

       D:从当前光标位置一直删除到行尾ieee,留空行,等同于d$

 

 复制命令:

    y:复制,与d相似

       y$:复制到行尾

       y0:复制到行首

       y^:复制到非空行首

       yw:复制单个单词,从光标处往后复制

       yb:复制单个单词,从光标处往前复制

       #yy:复制#行内容

       y:复制整行内容

 

 粘贴命令:

       p:把复制的内容保存在缓冲区,如果是整行内容,粘贴至下一行,如果不是整行,粘贴至光标所在处的后面

       P:把复制的内容保存在缓冲区,如果是整行内容,粘贴至上一行,如果不是整行,粘贴至光标所在处的前面

 多次粘贴:#i内容[ESC]:粘贴内容#次

 

 改变命令:

    c:修改后切换成插入模式

       c$:修改到行尾

       c^:修改到非空行首

       c0:修改到行首

       cw:修改单个单词,从光标处往后修改

       cb:修改单个单词,从光标处往前修改 

       cc:删除当前行斌输入新内容

       #cc:删除#行并输入内容

       C:删除当前光标到行尾,并切换成插入模式

 

 撤销命令:

       u:撤销最近一次的更改

       #u:撤销之前多次更改

       U:撤销光标落在 这行后所有此行的更改

       按Ctrl -r重做最后的“撤销”更改

       .重复前一个操作

       n.重复前一个操作n

扩展模式: :q 退出 :q! 强制退出,丢弃做出的修改 :wq 保存退出 :x 保存退出 ? 命令模式 ZZ: 保存退出 ZQ:不保存退

 按“:”进入扩展模式在“:”后添加命令

 命令:

      w:写入

      wq:写入并退出

      x:写入并退出

      q:退出

      q!:不保存,强制退出

      r 文件名 :读文件内容到当前文件

      w 文件名 :另存为

      !命令 : 在底部执行其他命令

      r! 命令 : 执行命令并把命令结果保存到vim所编辑的文件中

 地址定界:

      起始,结束

      #:具体地#行,例如5表示地5行

      #,#:从左侧#表示行开始,到右侧表示行结束

      #,+#:从左侧#表示开始,往后加上#行   1,+2 表示1到3行

      .:表示当前行

      $:最后一行

      $-1:当前行到倒数第二行

      %:表示全文

      /pat1/,/pat2/ :从第一次被模式1匹配到的行开始,直到第一次被模式2匹配到的行结束

      #,/pat/ :从第#行开始,一直到第一次被模式匹配到的行结束

      /pat/,$:从第一次被模式匹配到的啊很难过开始,一直到最后一行。


 

 使用方式:在地址后面跟上一个编辑命令即可

 

 查找:

      /条件:从当前光标所在处向文件尾部查找

      ?条件:从当前光标所在处向文件首部

     

      多个结果切换:n:与命令同方向

                    N:与命令反方向

 

 查找并替换 s///  分隔符/可以替换 如:s###  s@@@ s$$$

       

      s:在扩展模式下查找替换,与sed命令有相识之处

 

    格式:s/要查找的内容/替换为的内容/修饰符

    要查找的内容可使用已使用正则表达式,替换的内容不能用但可以是用后向引用\1、\2…,还可以使用“&”符号引用前面查找是找到的整个内容

    例如:s/ab/&cd/g  :结果就是把ab替换成了abcd

       修饰符:

           i:忽略大小写    

           g:全局替换,默认每一行只替换第一个匹配到的

           gc:全局替换并且每次替换前询问

   

vim的寄存器:

   有26个命名寄存器和1个无命名寄存器,常存放不同的剪切版内容,可以不同会话间共享。

            用a,b,…z表示,用寄存器表示,放在数字和命令之间

         例如:5“tty表示复制5行到t寄存器中

              ”tp 表示将t寄存器内容粘贴

 

             如果未至定,将使用无命名寄存器

    有10个数字寄存器,用0,1,2….9表示,0存放最劲复制 的内容,1存放最劲删除的内容,当新的文本变更和删除时,

1转存到2,2转存到3,以此类推,数字寄存器不能在不同会话间共享。        

 

            

可视化模式:

 

         允许选择的文本块

             v 面向字符

             V 面向行

             crtl -v 面向块

 

示例:

1.png

                                               

 

 

 可视化键可用于与移动键结合使用,突出显示的内容可以被删除,复制,变更,过滤,搜索等。

 

 

多文件模式:

 

     当一个vim同时打开多个文件时,可以用以下命令进行管理

                  :next 下一个

                  :prev 前一个

                  :first 第一个

                  :last 最后一个

                  :wall 保存所有

                  :qall 退出所有

                  :wqall 保存退出

 

 使用多窗口

      vim -o file  水平分割文件

      vim -O file  垂直分割文件

      在窗口间切换:Ctrl+w ,Arrow

单文件窗口分割:

      ctrl+w,s: split,水平分割

      ctrl+w,v: vertical,垂直分割

      ctrl+w,q: 取消相邻窗口

      ctrl+w,o: 取消全部窗口

      : wqall 退出

 示例:垂直分割:

垂直.png

示例;水平分割

 

水平.png

定时vim的工作特性

 

   配置文件:永久有效

          全局:/etc/vimrc

          个人:~/.vimrc

   扩展模式:当前vim进程有效

   1、  set nu 命令  显示行号  取消 set nonu

   2、  set sm 命令  括号成对匹配   取消 set nosm

   3、  set ai 命令  自动缩进   禁用 set noai

   4、  set hlsearch 命令  高亮搜索  禁用  set nohlsearch

   5、  syntax on 命令  语法高亮  禁用 syntax off

   6、  set ic 命令 忽略字符大小写  禁用  set noic

vim练习题:

1、复制/etc/profile至/tmp/目录,用查找替换命令删除 /tmp/profile文件中的行首的空白字符 ?

2、复制/etc/rc.d/init.d/functions文件至/tmp目录,用查 找替换命令为/tmp/functions的每行开头为空白字符的行的 行首添加一个#

3、如何设置tab缩进为4个字符? ?

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

5、删除/tmp/functions文件中所有以#开头,且#后面至少 有一个空白字符的行的行首的#号

解答:

1、操作

前空.png

效果:

前空效果.png

2、操作:

空空.png

效果:

空空效果.png

3、操作

打开 ~.vimrc 或者/etc/vimrc添加如下项:

vimrc.png

4、操作

操作前.png

效果:

效果.png

5、操作:

删前.png

效果:

效果啊啊啊.png

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

赞 (0)
ZJMZJM
上一篇 2016-08-15 09:25
下一篇 2016-08-15 09:25

相关推荐

  • linux下VMware Tools安装方法

    关于VMware Tools 是虚拟机里面的驱动,和各种实用工具,安装了vmware tools,你的虚拟机就可以打开DX3D的支持,鼠标想移出虚拟机也不需要按组合键,文件可以从主机直接拖动复制到虚拟机里面,虚拟机的分辨率也会自动跟随窗口调整而变化,还能解决图形界面下的卡顿,总之就是拓展了虚拟机的功能,方便使用。     &nb…

    Linux干货 2016-08-04
  • ocata openvswtich

      一、Controller配置1、安装软件 # yum –enablerepo=centos-openstack-ocata,epel -y install openstack-neutron openstack-neutron-ml2 2、修改配置文件/etc/neutron/neutron.conf [DEFAULT]core_p…

    2018-01-22
  • 第十六周作业

    1、源码编译安装LNMP架构环境;     安装nginx:      1)安装依赖包 ]# yum groupinstall “Development Tools” “Development Libraries” -y ]# yum install wget openssl-devel ncurses-de…

    2017-05-02
  • 做有高薪有逼格的运维工程师,不会Linux是没有前途的!

    作为互联网的幕后英雄,运维工程师长期隐匿在大众认知范围之外,关于运维的讨论仍旧是一片无人涉足的荒漠。在某知名行业研究调查结果中,非互联网从业者对于运维相关问题的回复有三个高频词汇是:不知道、没听过、网管。当调查人员告诉他们科幻电影中展示黑客高超技巧时的命令行界面正是大多数运维工程师每日工作环境时,他们发出极其一致的惊叹。 相对于普罗大众的一无所知,技术圈对运…

    2017-09-08
  • linux系统上的特殊权限SUID,SGID,STICKY

    特殊权限:SUID SGID STICKY     linux的安全上下文:     1.进程以用户的身份运行,进程是发起此用户的代理,因此以此用户的身份和权限完成所有的操作。     2.权限匹配模型:     1)判断进程的属主,是否以被访问的文件属主。如果是,则应用属主权限…

    Linux干货 2016-08-05
  • 基础指令使用篇 Linux版

    回显,回声 echo echo hello > /dve/pts/1 打开图形界面 init 5   关闭图形界面 init 3 ctrl+alt+F1-6字符,F7图形界面 chvt 改变虚拟终端 chvt +数字 startx  图形的软件打开 poweroff centOS 6.8与7.2都正常关闭断电 hostname 显示…

    系统运维 2016-08-04