【鸟哥的LINUX私房菜】查缺补漏(一)Vim的简单操作

【鸟哥的LINUX私房菜】查缺补漏(一)Vim的简单操作


一、前言

本文是基于本人二刷复习书本知识还没掌握的常用知识回顾,写下来便于记忆

二、Vim命令

移动光标

  • [ctrl] + [f] 屏幕向下移动一页
  • [ctrl] + [b] 屏幕向上移动一页
  • 0 移动到这一行的最顶端(相当于home)
  • $ 移动到这一行的最后面字符

查找与替换

  • :n1,n2s/word1/word2/g n1n2为数字,在n1和n2之间寻找word1这个字符串,并把word1替换为word2
  • :1,$s/word1/word2/g从第一行到最后一行寻找word1这个字符串,并把word1替换为word2
  • :1,$s/word1/word2/gc从第一行到最后一行寻找word1这个字符串,把word1替换为word2,且在替换前询问是否要进行替换

删除复制与粘贴

  • x和X x为向后删除一个字符(相当于del),X为向前删除一个字符(相当于backspace)
  • ndd 删除光标所在的向下n行
  • nyy 复制光标所在的向下n行
  • y1G 复制光标所在行到第一行的所有数据
  • yG 复制光标所在行到最后一行的所有数据
  • p和P p为将已复制的数据在光标下一行进行粘贴,P为贴在光标的上一行
  • u恢复前一个操作
  • [ctrl] + r or . 重做上一个操作

三 、一个巩固的小例题

  1. 请在 /tmp 这个目录下创建一个名为 vitest 的目录;
    “mkdir /tmp/vitest”
    
  2. 进入 vitest 这个目录当中;
    “cd /tmp/vitest”
    
  3. 将 /etc/man_db.conf 复制到本目录下面
    “cp /etc/man_db.conf .”
    
  4. 使用 vi 打开本目录下的 man_db.conf 这个文件;
    “/bin/vi man_db.conf”
    
  5. 在 vi 中设置一下行号;
    “:set nu”然后你会在画面中看到左侧出现数字即为行号。
    
  6. 移动到第 43 列,向右移动 59 个字符,请问你看到的小括号内是哪个文字?
    先按下“43G”再按下“59→”会看到“ as ”这个单字在小括号内;
    
  7. 移动到第一列,并且向下搜寻一下“ gzip ”这个字串,请问他在第几列?
    先执行“1G”或“gg”后,直接输入“/gzip”,则会去到第 93 列才对!
    
  8. 接着下来,我要将 29 到 41 列之间的“小写 man 字串”改为“大写 MAN 字串”,并且一个一个挑选是否需要修改,如何下达指令?如果在挑选过程中一直按“y”, 结果会在最后一列出现改变了几个 man 呢?
    :29,41s/man/MAN/gc
    
  9. 修改完之后,突然反悔了,要全部复原,有哪些方法?
    按下u返回
    
  10. 我要复制 66 到 71 这 6 列的内容(含有MANDB_MAP),并且贴到最后一列之后;
    66G + 6yy + G + p
    
  11. 113 到 128 列之间的开头为 # 符号的注解数据我不要了,要如何删除?
    113G + 16dd
    
  12. 将这个文件另存成一个 man.test.config 的文件名;
    :w man.test.config
    
  13. 去到第 25 行,并且删除 15 个字符,结果出现的第一个单字是什么?
    25G + 15x,出现tree的字样
    
  14. 在第一行新增一行,该行内容输入“I am a student…”;
    gg + O,输入“I am a student...”
    
  15. 储存后离开吧!
    :wq
    

四、其他一些操作的补充

  • :sp filename 打开一个新窗口,如果有filename,表示创建一个新文件
  • [ctrl] + w + 方向键 切换窗口
  • [ctrl] + x -> [ctrl] + o语法级补全
  • [ctrl] + x -> [ctrl] + n 文件的内容名字补全
  • :set nu / set nonu 设置与取消行号
    本人的第一篇文章,Hello World~
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值