文本编辑器:vim 基础篇

   VI:Visual Interface,是一种文本编辑器还是全屏编辑器。

  VIM:Vi IMproved,vi的增强版,vim是模式化的编辑。

VIM的三种模式:

       编辑模式(命令模式,默认模式)

      插入模式

       末行模式(内置命令行接口)

    打开文件 

    vim + FILE 打开文件,光标处在最后一行的行首(这个比较常用)

     vim +# FILE 打开文件,光标处在第#行的行首

     vim +/PATTERN FILE:打开文件,光标处在第一个被模式(正则表       式)匹配的行的行首

模式转换 编辑模式–>插入模式

        敲i键 在光标处输入

         a  在光标所在处的后方输入

         o  在光标所在行的下方插入一新行

         I  在光标所在行的行首输入

         A  在光标所在行的行尾输入

         O  在光标所在处的上方打开一个新行

       插入模式——>编辑模式

            按ESC

       编辑模式–>末行模式
            :

       末行模式–>插入模式

            按ESC

退出文件:编辑模式 保存退出ZZ 

             不保存退出ZQ

       末行模式:q!强制退出

              wq保存退出

              x保存并退出

              w /PATH/TO/SOMEFILE另存为

常用光标跳转  

        编辑模式

          左h   #h 光标向左移动#个字符

           下j   #j 光标向下移动#个字符

           k上   #k 光标向上移动#个字符

           l右   #l 光标向右移动#个字符

        行首行尾跳转

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

           0跳转至行首

              $跳转至行尾

           行间跳转

              1G,gg第一行

              #G   第#行

              G   最后一行

vim编辑命令:

        删除 

          x 删除光标所在处的字符

          #x删除光标所在处及后面#个字符

         d$删除光标所在处到行尾的字符

         d^删除光标所在处到行首的字符

         dd删除光标所在行

         #dd删除光标所在行至#行

       替换

         r 替换光标所在处的字符

        粘贴p

          P如果缓冲器的内容为整行,则粘贴光标所在行的下方;否则粘贴在光标的后面

          p如果缓冲器的内容为整行,则粘贴光标所在行的上方;否则粘贴在光标的前面

       复制y

         y$从光标复制到行尾

            y^从行首复制到光标

            yy复制光标所在行

            #yy 复制光标所在行到#行

          

        撤销

          u撤销上一次操作

          #u撤销#次操作

        .重复上一次操作

末行模式

    地址定界

      #特定的第#行  如5表示第五行

      #,#从第一个#到第二个#行

      #,+#从第#行到向后+#行  如:3,+7表示第三行到第十行

      .光标所在行

     1$全文

     %全文

    查找并替换

        模式 s/要查找的内容/要替换的内容/修饰符  /还可用*,#代替

            修饰符:g全局引用

                 i忽略大小写

         示例删除全文行首的#

                 %s/^#//

       1为/tmp/grub.cfg文件的前三行的行首加上#号

         :1,3s/^/#&/    

        2将/etc/yum.repos.d/CentOS-Base.repo文件中所有的enabled=0替换为enabled=1,将所有的gpgcheck=0替换为gpgcheck=1

           %s#\(enbaled\|gpgcheck\)=0#\1=1#g








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

(0)
蛰伏蛰伏
上一篇 2016-08-18 10:10
下一篇 2016-08-18 10:10

相关推荐

  • Linux用户和组管理整理

    本节介绍Linux用户和组相关的配置文件,用户账号管理、查询用户信息以及切换用户的相关命令,将会让我们更了解各配置文件中各个字段的含义,以及各相关命令的使用方法,方便Linux运维人员管理Linux系统中的用户和组。 背景: Linux是个多用户、多任务的系统,考虑到每个人的隐私权、每个人喜好的工作环境以及每个用户所使用的权限等方面的不同,所以设定了“用户”…

    Linux干货 2015-06-15
  • Bash Shell中的for循环和运算表达式应用

    Bash Shell中的for循环和运算表达式应用 1、写一个脚本 实现以下功能: 接受一个以上文件路径作为参数, 显示每个文件拥有的行数,总结说明本次共为几个文件统计了其行数。设定此脚本至少需要一个参数并给出提示,$#表示参数的个数。将脚本提供的所有参数组成一个列表放入for语句依次进行循环执行echo "$i has $(wc -l $i | …

    Linux干货 2016-12-13
  • lvm逻辑卷 练习题

    创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录;在/users下创建一个test.txt文件。扩展testlv至7G,要求archlinux用户的文件不能丢失;收缩testlv至3G,要求archlinux用户的文件不能丢失;对testlv创建…

    Linux干货 2017-03-16
  • 用户及相关权限命令

    2018-03-26

    2018-03-26
  • bash基础特性及用户与组管理

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当做其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxuser.txt文件中。 5、取出当前主机的I…

    2017-09-29
  • LNMP (nginx+php-fpm)

    Nginx简明: 特性: 采用模块化设计,较好的扩展性;高可靠性  master/worker支持热部署:不停机更新配置文件、更换日志文件、列新服务器版本低内存消耗:10000个keep-alive连接模式下的非活动连接仅消耗2.5M内存;event-dreiven,aio,mmap基本功能;静态资源的web服务器http协议反向代理服务器;pop3/ima…

    2017-06-28