vim编辑器



            在Linux的学习中,无论是编写脚本还是修改文件内容,我们最经常用的就是vim编辑器.vim编辑器功能十分强大,如今不仅仅只应用在Linux中.今天就来介绍一下vim编辑器的功能

进入和退出vim

    进入:

  在终端输入vim 文件名 ,自动进入vim,,该文件名如果不存在则建立了一个空的名字为 刚才输入的文件,若存在,则继续编辑

    退出:

ESC切换到命令模式下,输入

:q 未保存就退出,系统会提示是否保存

:q! 不保存强制退出

:wq 保存退出

:wq!:x!当文件对当前用户权限为read-only时,可以强制保存并退出(仅限root和当 前文件的owner

 

vim的三种模式:

命令模式(normal)进入vim默认模式:

输入作为编辑命令,内容不会出现在屏幕上,输入错误系统会提示.

之后详细介绍命令模式下的操作

插入模式(insert):

i: insert, 在光标所在处输入

       I:在当前光标所在行的行首输入

       a: append, 在光标所在处后面输入

       A:在当前光标所在行的行尾输入

       o: 在当前光标所在行的下方打开一个新行

      O:在当前光标所在行的上方打开一个新行

 

扩展(EX)模式:

 : 为指令,出现在屏幕最后一行,输入都会作为指令

指令内容如上退出命令

ESC两次会返回命令模式

 

命令模式的操作:

             字符跳转:

                        H/J/K/L 分别将光标向 左///右 移动一格

             单词跳转:

                        w 下个单词词首

          e 当前或者下个单词词尾

            页面跳转:

                       H  页首

         M 页中

         L  页底

            行间移动:

                      gg 第一行

        G 最后一行

            行首尾之间

                      ^  行首第一个非空白字符

 0  行首

 $  行尾

             翻屏操作:

                      Ctrl+f 向文件尾部翻一屏

        Ctrl+b 向文件首部翻一屏

        Ctrl+d 向文件尾部翻半屏

       Ctrl+u 向文件首部翻半屏

             字符编辑:

                     ~  转换大小写

       X  删除光标处字符

             替换命令:

                      r  替换光标所在处字符

       R  进入replace 模式

            删除: d

             dd  删除光标所在行

                    d字符跳转,单词跳转,行首尾之间操作结合均和实现相应删除操作

             复制: y

             y  复制光标所在行

             yy  复制行

             y字符跳转,单词跳转,行首尾之间操作结合均和实现相应复制操作

             改变:c

             c  修改之后之间进入insert模式

             cc 删除当前行并输入新的内容

             c字符跳转,单词跳转,行首尾之间操作结合均和实现相应修改操作

             粘贴: p

             p 缓冲区若存的为整行,则粘贴当前光标所在行的下方,否则粘贴在光标后

             P 缓冲区若存的为整行,则粘贴当前光标所在行的上方,否则粘贴在光标前

            撤销操作: u

                  u撤销最近的修改

                  U撤销该行的所有修改

                  . 重复前一个操作

                  n. 重复前 一个操作n次

 

扩展命令

        地址定界:

                :start_pos,end_pos

                . 当前行

               $ 最后一行

               % 全文  %=1,$

 

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

              .,/pat/

              /pat/,$

              和编辑命令一起使用

             d 删除范围内的内容

             y 复制范围内的内容

             w file 将范围内的行另存至指定文件中

             r file 在指定位置插入指定文件中的所有内容

        查找替换:

               /pattern 从光标处往后找

               ?pattern 从光标处往前找

               s/查找内容/替换内容/修饰符

               修饰符: i 忽略大小写

        g 全局替换

               查找替换的分隔符/可替换为其他字符,@ ,#, ?

               注意:替换内容可以用基本正则表达式

        设置属性:set

              行号:

                    set number    set nu

                    set nonumber    set nonu

            括号成对匹配:

                   set showmatch    set sm

                   set nosm

            自动缩进:

                   set ai

                   set noai

           高亮搜索:

                   set hlsearch

                   set nohlsearch

           语法高亮:

                  syntax on

                 syntax off

           忽略字符大小写:

                 set ic

                 set noic

                             博主这篇博客只是把比较经常用到的功能介绍给大家,还有许多功能需要大家慢慢摸索.

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

(0)
swannswann
上一篇 2017-08-05
下一篇 2017-08-05

相关推荐

  • Linux基础操作-week5

    1、显示当前系统上root、fedora或user1用户的默认shell; 方式一: # whoami root # echo $SHELL /bin/bash 方式二: #grep user1 /etc/passwd|awk -F “:” ‘{print $7}’ /bin/bash 2、找出/etc/rc.…

    Linux干货 2016-11-27
  • linux上的组管理

    上一次我们谈了CentOS上的用户管理,现在我们再来谈下CentOS上的用户组管理。 groupadd创建一个新的组 用法如下: groupadd [选项] groupname 常用选项: -f 强制添加一个组(这个组可能已经存在系统中) -g 指定组的id; -r 创建系统工作组(系统工作组的组ID小于500) -K 覆盖配置文件/ect/log…

    Linux干货 2017-04-09
  • 第一天作业

    一、计算机的组成部分         现代计算机的组成是根据冯.诺依曼体系,包括5大部件存储器、控制器、运算器、输入设备和输出设备。             1.存储器包括内部存储器和外部存储器;内部存储器包括内部硬盘、内存、缓存等,外部存储器包括移动硬盘、光…

    Linux干货 2016-08-15
  • N24-vt.lee-学习宣言

    学习宣言:  好好学习 天天向上!!!  2016-10-26

    Linux干货 2016-10-26
  • Nginx反向代理原理、压测及模块功能的实现

    基本架设 反向代理模块 缓存功能的实现 修改报文首部IP 向后端转发时是否让客户端知道 在http中定义缓存基本属性 定义当后端服务宕机时过期缓存生效条件 报文首部模块,自定义报文首部 负载均衡模块1 负载均衡模块2 负载均衡模块的常用调度方法1 负载均衡常用调度方法2 与http想等的动态负载均衡模块1 与http想等的动态负载均衡模块2 这里让我们对之前…

    2016-10-30
  • 第五周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; ~]# grep  “^[[:space:]]\{1,\}” /boot/grup/grup.conf                     &…

    2017-03-01