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 17:34
下一篇 2017-01-12 23:09

相关推荐

  • N25 the second week

    1.文件管理命令 1.1.cat concatenate files and print on the standard output # 正序打印文件 cat [OPTION]… [FILE]… # 常用参数 -n 编号显示每行 -E 显示每行的结束符 1.2.tac concatenat…

    Linux干货 2016-12-19
  • 高性能Mysql主从架构的复制原理及配置详解

    1 复制概述       Mysql内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器…

    Linux干货 2015-04-13
  • Linux终端类型

    前言 终端是一个很重要的外设,用过终端设备的人都知道如果设备类型不对就会有乱字符,也可用仿真终端软件如netterm试验一下,Linux的终端信息放在 /usr/share/terminfo下,在这个目录的子目录v下就有许多的如vt100,vt102,vt200等,看一下就知道了。 终端类型的区别与概念 1、 pty(虚拟终端): 但是如果我们远程telne…

    Linux干货 2016-10-14
  • grep正则表达式

    grep:这是一个搜索命令,搜文本并且将文本行显示出来 (1)grep -i 表示搜索的时候忽略大小写 (2)grep –colour 表示搜索关键字带颜色 例如:grep –colour ‘root’ /etc/passwd 显示为在etc的passwd里的 root 选项有颜色 *为了方便我们可以定义个别名,让他搜索的时候默认显示为带颜色 alias…

    Linux干货 2017-07-29
  • 第四周小结

    这周我们主要学习了写脚本的简单语法,写了一些简单的脚本,下面就由我来简单介绍一下: 第一步使用文本编辑来创建脚本: 创建好后在里面写想要运行的脚本即可,然后按Esc—wq退出保存即可。也可以按q不保存退出;q!不保存强制退出;wq!保存强制退出。 第二步运行脚本,给予执行权限,在命令行上指定脚本的相对路径和绝对路径 对了,当在脚本里输入内容时,要Ese&#8…

    2017-08-06
  • http和apache服务器

    超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。 http/1.1 :1997年1月 引入了持久连接(persistent connection) , tcp连接默认不关闭,可以被多个请…

    2017-12-05

评论列表(1条)

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

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