练习-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

相关推荐

  • 马哥教育网络班22期+第十一周课程练习

    1、详细描述一次加密通讯的过程,结合图示最佳。第一阶段:ClientHello:    客户端(通常是浏览器)先向服务器发出加密通信的请求,这被叫做ClientHello请求。客户端向服务器提供以下信息:        支持的协议版本,比如TLS 1.2 &n…

    Linux干货 2016-12-27
  • CentOS系统启动流程

       开机不是只要单击电源钮,而关机只要关掉电源钮就可以了吗?话是这样没错啦,但是由于 Linux 是一套多人多任务的操作系统,你难保你在关机时没有人在在线,如果你关机的时候碰巧一大群人在在线工作, 那会让当时在在线工作的人马上断线的!那不是害死人了!一些数据可是无价之宝。    另外 Linux 在执行的时候,虽然你…

    Linux干货 2016-09-19
  • week2

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 常用工具cp mv rm cat tac head tail more less stat cp   cp SRC…DEST A. 如果SRC是文件: a. 如果目标不存在:新建DEST,并将SRC中的内容填充至DEST中。 b. 如果目标存在: (1). 如…

    Linux干货 2016-11-06
  • DNS

    DNS DNS解析 DNS名称解析方式:名称 –> IP:正向解析IP –> 名称:反向解析注意:二者的名称空间,非为同一个空间,即非为同一棵树;因此,也不是同一个解析库; DNS查询类型:递归查询:一般是客户机和服务器之间的查询;即只发送一个请求,其他的工作交由上层服务器去解决;迭代查询:一般是服务器和服务器之间的凡是,…

    Linux干货 2017-05-31
  • 系统基础之权限管理作业题

    1.问题:  在/data/testdir里创建的新文件自动属于g1组,组g2的成员如: alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。 [root@wen-7 testdir]# mkdir -p /data/…

    Linux干货 2016-08-04
  • linux下安装配置DHCP服务器

    前提是已经安装了 core 及 base 两个组   1 2 3 4 5 # cat /etc/redhat-release   Red Hat Enterprise Linux Server release 6.8 (Santiago)&…

    Linux干货 2017-05-03

评论列表(1条)

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

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