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 基础命令(四)

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

    Linux干货 2016-10-16
  • LVS负载均衡初接触

    Linux Cluster : Cluster : 计算机集合, 为解决某个特定问题组合起来形成的单个系统; Linux Cluster 类型 : LB : Load Balancing, 负载均衡;()HA : High Avaiibality, 高可用;( 通过冗余的方式让活动主机出现问题时取而代之, 并具有原主机一致的功能)HP : High Perf…

    Linux干货 2016-10-28
  • 磁盘管理和文件系统

    磁盘结构 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信 一切皆文件:open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键盘 设备号码: 主设备号:major number, 标识设备类型 次设备号:minor number, 标…

    Linux干货 2017-04-23
  • Linux进程管理命令和性能监控工具的应用

    概述 监控系统的各方面的性能,保障各类服务的有序运行,是运维工作的重要组成部分,本篇就介绍了一些常用的系统监控命令和相关参数的说明 具体包含一下几个部分 1.进程管理基础 2.进程管理工具(ps,top,htop,kill) 3.内存监控类工具(vmstat,pmap) 4.系统监控累工具(glances,dstat)…

    Linux干货 2016-09-26
  • N26-第一周

    博客注册地址查看

    Linux干货 2017-01-03
  • N26-第一周作业

    1、描述计算机的组成及其功能。 运算器(对数据进行各种算术运算和逻辑运算,即对数据进行加工处理)、控制器(对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问)、存储器(存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息)、I/O      …

    Linux干货 2017-01-13

评论列表(1条)

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

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