练习-vim的使用

vi编辑器是linux上最常用的编辑器,vim是vi增强版,

一、vim的几种模式

    编辑模式、插入模式、命令行模式   

 编辑模式:可以进行光标移动,字符删除,行的增删复制粘贴等操作
 插入模式:对字符进行编辑,
 命令行模式:通过各种命令进行保存,查找,替换,环境设置等操作

    模式的切换

默认vim打开时处于编辑模式,使用a,A,i,I,o,O进行插入模式
当入于插入模式时,左下角会显示insert,使用esc键,回到编辑模式
在编辑模式下使用:进入命令行模式,最下行将显示输入的命令,使用ESC键,回到编辑模式

二、文件操作

vi filename #使用编辑器打开文件
:w          #保存文件
:w filename #保存到某个文件
:q          #退出,文件未被修改时可直接退出,已经修改时会报错
:q!         #退出不保存
:wq         #退出并保存

三、光标的定位

   单个字符定位

h #左
j #下
k #上
l #右

   单词定位

w   #下一个单词首部
b   #当前或上一个单词首部
e   #当前或下一个单词尾部

行定位

^        #定位到行首
0        #定位到行首第一个非字空字符
$        #定位到行尾
G         #定位到文档尾部
gg         #定位到文档首部
#g         #定位到第#行

屏幕定位

    H     #光标定位到屏幕顶部
    M     #光标定位到屏幕中间
    L     #光标定位到屏幕底部
    zt    #将光标所在行,翻屏至屏幕最顶部
    zz    #将光标所在行,翻屏至屏幕中间
    zb    #将光标所在行,翻屏至屏幕最底部

四、进入插入模式

在编辑模式下使用a,A,i,I,o,O进行插入模式,各快捷键的作用如下 :

a    #在光标位置的右边插入字符
i    #在光标位置的左边插入字符
A    #在光标所在的行尾插入字符
I    #在光标所在的行首插入字符
O    #在光标所在行的上面插入一行
o    #在光标所在行的上面插入一行
R    #替换光标所在位置和后面的文本

五、删除、复制、粘贴

       dd    #删除当前的整行
       d$    #删除光标到行尾的内容 
       d0    #删除光标到行首的内容,包括行首的空白字符
       d^    #删除光标到行首的内容,不包括行首的空白字符
       #dd   #删除包括光标所在行向后#行
       dw    #删除光标到单词尾部,包括单词尾部的空格
       de    #删除光标到单词尾部,不包括单词尾部的空格和标点符号

      剪切功能

 #在使用dd删除整行后,vim会将删除内容放在寄存器中,
 #此时使用p命令会在光标所在的下一行,插入dd所删除的行

      复制

yy   #复制当前行
#yy  #复制从当前行往后的#行

     粘贴功能

#使用p命令将复制的内容在下一行开始粘贴

六、查找

      要编辑模式下输入/string, 对string字符串进行查找

       n    #查找下一个
       N    #查找上一个

      使用?string代替/string,可实现逆序查找

        %    #光标放在一个括号上时,可查找配对的括号

七、替换

    :s/old/new     #在一行内替换第一个匹配到的old为新的字符串new  
    :s/old/new/g    #在一行内替换所有的old为new 
    :%s/old/new/g   #在文件内替换所有old为new 
    :%s/old/new/gc   #加c,在替换时询问用户是否替换

八、其它命令键

    ctrl + g   #显示当前行信息,
    u          #撤销
    ctrl + r    #撤销后重做
    ctrl + f    #下翻页
    ctrl + b    #撤销后重做
    :set num    #显示行号

原创文章,作者:N21-沉舟,如若转载,请注明出处:http://www.178linux.com/21510

(0)
N21-沉舟N21-沉舟
上一篇 2016-07-04 11:35
下一篇 2016-07-04 11:35

相关推荐

  • 磁盘配额

    配置配额系统     综述        •在内核中执行        •以文件系统为单位启用        •对不同组或者用户的策略不同 …

    Linux干货 2016-09-02
  • PHP高效率写法(详解原因)

    1.尽量静态化:    如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。   当然了,这个测试方法需要在十万级以上次执行,效果才明显。   其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,所以静…

    Linux干货 2015-05-28
  • Linux Yum源的安装配置​‍

    Linux Yum源的安装配置     一、基本概念   Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包…

    Linux干货 2015-05-11
  • centos系统中常用的命令

    日志文件说明:  /var/log/message      系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一   /var/log/secure      &nb…

    Linux干货 2016-06-28
  • 网络属性配置(二)

    本文接上篇。。。 ip address -protocol address management. ip address add -add new protocol address   ip addr add IFADDR   label NAME :为额外添加的地址指明接口别名    [broadcast ADDRE…

    Linux干货 2017-01-02
  • rpm与yum的简单命令

                                  …

    Linux干货 2017-04-18

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-04 13:41

    写的很好,总结的有点少,是不是还有一些,加油