N25第六周总结:vim编辑器详解

vim编辑器

一、      大纲

1、   什么是vim编辑器

2、   为什么要使用vim编辑器

3、   vim编辑器能实现哪些功能

4、   vim编辑器详解

 

二、      正题

1、   什么是vim编辑器

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。

 

2、   为什么要使用vim编辑器

因为vim有丰富而且强大的快捷键,而且有三种编辑模式,可以通过灵活切换编辑模式提高编辑效率。

 

3、   vim编辑器能实现哪些功能

vim编辑器不但可以实现字符与行的删除、复制、粘贴、快速跳转等基础功能,而且可以实现字符替换、行替换、字符查找、撤回、恢复撤回等高级功能。

 

4、   Vim编辑器详解

vim的使用格式:

      vim [options] FILE,FILE2,…..

           [options]

                 +#:打开文件后,直接跳转到指定行

                 +/PATIERN:打开文件后,直接跳转到匹配的行的行首

 

vim的三种编辑模式:

命令模式

                 无法编辑文档,但可通过一些快捷键进行快速操作,例如:d 删除,y复制,r替换等。

编辑模式

                 一般的编辑模式,可以对文档内的数据任意修改

末行模式

                 可以调用shell的命令,来实现一些高级功能

 

              命令模式:

                   快速移动命令:

                            字符间跳转:(#代表数字)

                                       (#)h or  ←方向键:向左移动;

                                       (#)l or  →方向键:向有移动;

                                       (#)k or  ↑方向键:向上移动;

                                       (#)j or  ↓方向键:向下移动;

 

                                  单词间跳转:

                                       (#)w:下一个单词的词首;

                                       (#)e:下一个单词的词尾;

                                       (#)b:上一个单词的词首;

 

                                  行首行尾间跳转:

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

                          0:跳转至行首;

                          $:跳转至行尾;

              行间跳转

                          #g:第几行

                          gg:第一行

                          G :最后一行

              句间跳转

                          )

                          (

              段间跳转

                         {

}

              翻屏:

                          ctrl+f: 向后翻一屏

                          ctrl+b:向前翻一屏

                          ctrl+d:向尾部翻半屏

                          ctrl+u:向顶部翻半屏

                                      

                   字符编辑命令:

                       字符编辑:

                               (#)x:删除光标所在处的字符;

                                       xp:交换光标与后面字符位置;

 

                            替换命令:

                                  r[a-z]:替换字符,在摁r后选择想要替换的字符;

 

                            删除命令(也是一个剪切命令):

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

                                             (#)d$:删除当前光标到行尾;

                                             (#)d^:删除当前光标到行首;

                                             (#)dw:删除当前光标到下一个词首间的字符;

                                        (#)de:删除当前光标到下一个词尾间的字符;

                                             (#)db:删除当前光标到上一个词首间的字符;

                                             (#)dd:删除光标当前行;

 

                           复制命令:

                                  y:复制命令,可结合光标跳转实现范围删除;

                                             (#)y$:复制当前光标到行尾;

                                             (#)y^:复制当前光标到行首;

                                              (#)yw:复制当前光标到下一个词首间的字符;

                                              (#)ye:复制当前光标到下一个词尾间的字符;

                                              (#)yb:复制当前光标到上一个词首间的字符;

                                              (#)yy:复制光标当前行;

 

                            粘贴命令:

                                  p:在当前光标或当前行后粘贴字符;

 

                            改变命令:

                                  c:删除并且切换到编辑模式,可结合光标跳转实现范围编辑;

                                             (#)cc:删除光标当前行,并且开启编辑模式;

                               (#)c$:删除当前光标到行尾,并且开启编辑模式;

                               (#)c^:删除当前光标到行首,并且开启编辑模式;

                               (#)cw:删除当前光标到下一个词首,并且开启编辑模式;

                               (#)ce:删除当前光标到下一个词尾,并且开启编辑模式;

                               (#)cb:删除当前光标到上一个词首,并且开启编辑模式;

                

                            其他编辑命令:

                                  v:字符选定

                                  V:行选定

                                  (#)u:撤销上一步 (U撤销到初始)

                                  ctrl+r:恢复撤销

                                  自带教程:vimtutor(命令行输入)

 

              vim末行模式:

                      通过调用shell的命令窗口,在命令模式下用 :来激活(需要shift组合键)

 

                            地址定界:

                                  :#    指定行;

                                  :#,#  指定范围,左#代表启始行,右#代表结束行;

                                  :#,+# 左#代表起始行,右#代表偏移量,从指定行到往下#行结束;

                                  :.     点代表当前行;

                                  :$     代表最有一行;

                                  :%     代表全文所有行;

                                  : /pattern/:从光标所在处起始向文件尾部第一次被模式所匹配到的行;

 

                                       注地址定界可同编辑命令一同使用,实现编辑操作:

                                             d 删除

                                             y 复制

                                             c 更改(注:回车后输入需要替换的字符)

                                             w /PATH/TO/SOMEFILE:将范围内的文本保存到指定文件中;

                                             r  /PATH/FROM/SOMEFILE: 将指定的文件的文本读取并插入指定位置;

                                           例如:3,11d   代表删除3到11行;

                                                  2,5w /tmp/abc.txt  将2到5行的文本保存到/tmp/abc.txt中;

                                                  1,4 co 8  将1到4行的文本复制到8行后面

                                                  1,4 m 8  将1到4行的文本剪切到8行后面

 

                          查找:(通过/ huo ? 来激活)

                                 /PATTERN:从当前光标所在处向文件尾部查找能够被当前模式匹配到的所有字符串;

                                  ?PATTERN:从当前光标所在处向文件首部查找能够被当前模式匹配到的所有字符串;

 

                         查找替换

                                  s:末行模式的命令;使用格式:

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

                                             要查找的内容:   可使用正则表达式(只能用基本正则);

                                             替换的内容:      不能使用正则表达式,但可以引用;()

                                                        如果“要查找的内容”部分在模式中使用了分组符号,在“替换为的内容”中使用后向引用;

                                                  &:直接引用查找模式匹配到的全部文本;

                                  修饰符:

                                       i:忽略大小写;

                                       g:全局替换,意味着一行中如果匹配到多次,则全部替换;

 

                                       示例:

                                             :%s/^[[:space:]]\+/#&/ :在文中所有以空格开头的行加一个#

                                  注:在替换路径时需要加转义符\,例如:

                                       %s/\/etc\/sysconfig/\/var\/ftp/ig  将/etc/sysconfig/替换为/var/ftp

                                       如果不想使用转义符,可以将分隔符替换为@和#:

                                                  s@  

                                                  s#

 

 

                 vim的多文件功能:

                                  vim FILE1 FILE2 …..

 

                            文件间切换:

                                  末行模式:

                                       :next 下一个文件

                                        :prev 上一个

                                        :last 最后一个

                                        :first 第一个

                                  退出所有文件:

                                        :wqall (xall)

                                        :wall

                                       :qall

 

                            多窗口:

                                        vim -o:水平分割窗口

                                        vim -O:垂直分割窗口

                                  在多窗口间切换:ctrl+w

                                       注:单文件亦可以分割多个窗口:

                                                  ctrl+w,s:水平分割窗口;

                                                  ctrl+w,v:垂直分割窗口;

 

        以上就是vim详细的使用方法,但是vim还可以在末行设置一些工作特性,使得工作更有效率,而且有两个配置文件来使工作特性永久生效。

 

              vim的工作特性:

                      注:如果在编辑当前文件,只对当前文件生效;

                      如果想让设置永久有效,可在:

                            全局用户都有效:/etc/vimrc

                            只对当前用户生效: ~/.vimrc

                                     写入格式:直接写入命令,例如:set nu (注,每一行一条命令生效,如果有多条,就写多行)

1、 行号:

      :set nu       开启行号显示

      :set nonu   关闭行号显示 (默认关闭)

     

      2括号匹配高亮显示: 无法关闭

                 :set showmatch,set sm  匹配

                 :set nosm    取消

         

      3自动缩进:默认关闭

                 :set ai         设置

                 :set noai     取消

 

      4高亮搜索 默认开启

                 :set hlsearch启用:

                  :set nohlsearch取消:

 

      5语法高亮: 默认开启

                 :syntax on   启用:

                 :syntax off 取消:

 

      6忽略字符大小写:

                 :set ic         启用

                 :set noic     禁用

 

     获取帮助:

                 :help

                 :help subject

原创文章,作者:N25_韩奇洋,如若转载,请注明出处:http://www.178linux.com/66484

(0)
N25_韩奇洋N25_韩奇洋
上一篇 2017-01-12
下一篇 2017-01-12

相关推荐

  • 新的开始

    加入马帮,新的开始,加油!

    Linux干货 2016-09-19
  • linux上的文件查找工具:locate和find

    一、非实时超找工具 locate     1、locate是查询系统上预建的文件索引数据库/var/lib/mlocate/mlocate.db文件索引实在系统比较空闲的时候自动进行的,是系统的周期性任务,因为是周期性任务,所以有些短期的数据无法更新到数据库,如果需要马上应用,乣管理员手动更新数据库,用命令updatedb来执行。同时索引…

    Linux干货 2016-08-16
  • 一键搭建mysql集群系列一

    一键自动安装mysql 5.7 shell脚本自动化安装二进制mysql-5.7 本节主要用到四个shell脚本 和 一台资料存储机器(IP:192.168.42.26) install_mysql.sh 自动化安装mysql脚本 ntpdate.sh 时间同步脚本 system_init.sh 系统初始化脚本 yum.sh yum源配置脚本 执行步骤: 1…

    2017-05-13
  • keepalived的原理及安装应用

    keepalived的主从模式,keepalived的日志功能和主主模式

    2018-03-13
  • Find命令简介与使用

    用途:         find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。 语法: find [OPTION]… [查找…

    Linux干货 2016-08-30
  • 马哥教育网络20期+第四周练习博客

    1、  复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cd /home/ [root@localhost home]# mkdir tuser1 [root@localhost home]# cp -a /etc/skel&…

    Linux干货 2016-08-02

评论列表(1条)

  • 马哥教育
    马哥教育 2017-04-10 16:09

    怎么看上去像是上课的笔记呢?希望能加上自己的理解和总结,加油!!!