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年7月28日索引、硬链接、软连接、inode表、file、重定向、tr、管道、用户、组

    格式说明: 操作 概念 命令 说明及举例 五.索引、硬链接、软连接、inode表、file、重定向、tr、管道、用户、组 索引节点 原数据保存在inode table表中每个文件或目录都有一个独立的inode number(节点编号在一个分区中是唯一的,每个分区都有自己的inode table) ls -i 查看节点编号 硬链接 ln&n…

    Linux干货 2016-08-23
  • linux 学习之权限优先级

    linux下对同一文件的权限分成很多类,同时也可能对同一文件权限配置多种权限那么在这么多配置中,到底是怎么生效的呢?比如一个文件abc.txt属于wang用户,而同时对abc.txt又设置了ACL禁止 wang用户读写执行等等这些情况就是ACL的生效顺序完全理解,模拟出实验环境一一验证1,文件a属于mage用户,但ACL限制 mage读写执行 Paste_I…

    Linux干货 2017-05-29
  • linux发展史

    linux发展史简介: 20世纪60年代,MIT开发分时操作系统(Compatible TIme-Sharing System),支持30台终端访问主机;     ~主机负责运算,而终端负责输入输出; 1965年,Bell实验室、MIT、GE(通用电气公司)准备开发Multics系统,为了同时支持3…

    Linux干货 2016-10-14
  • 我与Linux的第一次亲密接触

        作为一个新手,经过一周的学习,我对Linux目前有了些许的了解,从Linux的发展史中,开源共享精神深深的感染了我,也使得我对Linux的兴趣更加浓厚。对于一个一直翘计算机课的我来说,入门和基础是一项非常艰巨的任务,初期为了搭建学习的环境,也是费了不小的功夫,相信许多萌也对此有很大的感触,在这里,我来和大家分享一下如何去构建环境。…

    Linux干货 2017-03-26
  • Linux发展史

    Linux发展史 操作系统出现前:   1946年第一台计算机诞生–20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式。程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片…

    Linux干货 2016-10-14
  • 马哥教育网络20期+第二周练习博客

    1、 Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 ls 使用方式:ls [OPTION]… [DIR]… 常用选项: -a:显示所有档案及目录;  -A:显示除影藏文件“.”和“..”以外的所有文件列表; -C:多列显示输出结果。这是默认选项;  -l:与“-C”选项功能相反,所有输出…

    Linux干货 2016-06-23

评论列表(1条)

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

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