练习-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
下一篇 2016-07-04

相关推荐

  • ipvsadm用法

    ipvsadm命令的用法:      1.用于管理Lvs集群服务      2.用于进行RS的增删改      3.查看配置  lvs服务器架设步骤:  1.判断内核是否支持ipvs(看到CONFIG_NETFIFLER_XT_MATCH_IPVS=…

    Linux干货 2017-01-10
  • Linux基础知识之帮助命令的使用

    帮助命令的使用:   内部命令     help COMMAND   外部命令:     (1)命令自带简要格式的使用帮助        COMMOND –help     (2)使用手册 manual   &nbsp…

    Linux干货 2016-07-07
  • 马哥教育网络班22期+第1周课程练习

    1.描述计算机的组成及其功能 计算机的组成及各功能:  计算机主要由硬件、操作系统、软件三大部分组成 硬件 :主要由五部分组成 :运算器:主要是做数据运算              控制器:控制计算机各部件的协调和寻址操作         …

    Linux干货 2016-08-15
  • openssl基础应用

    参考http://www.178linux.com/2704 http://www.williamlong.info/archives/837.html 一、前言 什么是openssl?讲openssl之前我们先了解下什么是ssl?ssl是secure socket layer的简称,其使用对称加密解密,非对称加密解密(公钥加密解密),单向加密解密结合证书实…

    Linux干货 2015-09-27
  • Mysql 启动时 报ERROR 2002,分析解决、

    1、故障现象 [root@localhost scripts]# mysql -u root ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysqld.sock’ (2) 2、故障分析 查看mysql实例的状态 [root@localhost scr…

    Linux干货 2017-08-29
  • 什么是网站流量、UV、PV、IP

    什么是网站流量,什么叫网站流量?     通常说的网站流量(traffic)是指网站的访问量,是用来描述访问一个网站的用户数量以及用户所浏览的网页数量等指标,常用的统计指标包括网站的独立用户数量、总用户数量(含重复访问者)、网页浏览数量、每个用户的页面浏览数量、用户在网站的平均停留时间等。     …

    Linux干货 2015-03-20

评论列表(1条)

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

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