Vim常用操作总结及课后习题

来源:互联网 发布:火猫解说 收入 知乎 编辑:程序博客网 时间:2024/06/05 19:55

Vim为全键盘操作的编辑器。在各种模式下都有跟多功能键。

一,Vim常用操作

  1. 分别向下,向右,向左,向右移动6个字符;
    答案 : 6j 6l 6h 6l

  2. 分别向下,向上翻两页;
    答案 : Ctrl+F 和Ctrl+B

  3. 把光标移动到第49行;
    答案 : 49G

  4. 把光标移动到行尾,再移动到行首;
    答案: Shift+4 , Shift+6

  5. 移动到1.txt文件的最后一行;
    答案: G

  6. 移动到文件的首行;
    答案: gg

  7. 搜索文件中出现的dnsmasq字符串,并数一下该字符串出现的次数;
    答案: 输入 /dnsmasq,然后按n

  8. 把从第一行到第十行出现的dnsmasq替换成dns;
    答案 : 1,10s/dnsmasq/dns/g

  9. 还原上一步操作;
    答案: u

  10. 把整个文件中所有的etc替换成cte;
    答案: 1,$s/etc/cte/g

  11. 把光标移动到25行,删除字符串ly;
    答案: 输入25G后回车,然后按j向右移动光标找到ly,按v选中,然后按x

  12. 还原上一步操作;
    答案: u

  13. 删除第50行;
    答案: 50G dd

  14. 还原上一步操作;
    答案: u

  15. 删除第37行至第42行的所有内容;
    答案: 37G dd

  16. 还原上一步操作;
    答案: u

  17. 复制第48行的内容并将其粘贴到第52行下面;
    答案: 48G yy 52G p

  18. 还原上一步操作;
    答案: u

  19. 复制第37行至42行的内容并将其粘贴到第44行上面;
    答案: 37G 6yy 44G p

  20. 还原上一步操作;
    答案: u

  21. 把第37行至42行的内容移动到第19行下面;
    答案: 37G 6dd 19G p

  22. 还原上一步操作;
    答案: u

  23. 把光标移动到首行,把第一行的内容改为 #!/bin/bash;
    答案: 先按gg,把光标定位到第一行,然后按字母A,进入编辑模式,同时将光标移动到行末进行修改,完成后Esc键退出编辑模式。

  24. 在第一行下面插入新的一行,并输入 # Hello!;
    答案: 按o进入编辑模式,同时将光标下移另起一行,输入#Hello !

  25. 保存文档并退出;
    答案: 按Esc键退出编辑模式,按Shift+:,输入 :wq,回车。

二,课后习题

  1. vi 与 vim 有什么区别呢,它们之间有什么关系?
    答案:简单的讲,vi编辑器是UNIX早期自带的文本编辑器,更能简单,不支持语法颜色;vim编辑器是在vi的基础上改进的版本,比vi功能更强大,支持语法颜色。vim是vi的升级版。

  2. 如何查看当前系统vim的版本?
    答案:vim –version 或者 rpm -qa |grep vim

  3. 如果想把文档中出现的全部”abc”替换成”def”怎么做?又如何只替换每行中出现的第一个”abc”呢?
    答案:1,$s/abc/def/g或者%s/abc/def/g,不加g就只替换每行第一个“abc”

  4. 当搜索某个关键词时,光标所定位的关键词所在的行是如何决定的?也就是说,光标是定位到最顶端出现的关键词的那行还是最底端关键词出现的那行,还是另外的情况?如果想从当前关键词移动到下一个关键词怎么操作?移动到上一个关键词又怎么操作?
    答案:1.正搜索使用/,光标定位到最顶端出现关键词的行,n移到下一个关键词,N移到上一个关键词
    2.逆搜索使用?,光标定位到最低端出现关键词的行,N移到下一个关键词,n移到上一个关键词

  5. 当编辑完文档后,按ESC进入命令模式,输入命令 :x 会怎么样?
    答案:命令:x会保存退出,相等于命令:wq

  6. 在一般模式下如何快速的把光标快速的向右或向左移动10个字符?
    答案:向左移动10个字符:10h或10←
    向右移动10个字符:10l或10→

  7. vim + filename 表示什么含义, vim +10 filename 将会发生什么?
    答案:vim filename表示以vim编辑器打开文件filename,如果不存在则创建,光标定位到第一行行首。vim +10 filename表示以vim编辑器打开文件filename,如果不存在则创建,如果内容行数大于等于10行则光标定位到第10行行首,如果不足10行则光标定位到最后一行行首。

  8. 用vim打开一个文档后,我想让光标跳到第20行,怎么做?跳到最后一行怎么做?
    答案:让光标调到第20行:20G
    让光标调到最后一行:G

  9. vim 打开文档后,默认是不显示行号的,如何做让它显示行号?
    答案:命令模式下输入:set no

  10. vim打开文档后,我想把20-50行中的第一个’abc’ 替换为 ‘efg’ 怎么操作?如果是想替换所有呢?
    答案:(1) 20,50s/abc/efg/
    (2) 20,50s/abc/efg/g 替换20-50行所有‘abc’为’efg’
    1,$s/abc/efg/g 或%s/abc/efg/g 替换全文所有’abc’为’efg’

  11. vim打开文档后,如何快速删除前100行?
    答案:将光标定位到第一行,然后输入100dd

  12. vim打开文档后,如何复制一行,并粘贴到第20行的下面?
    答案:首先将光标定位到要复制的行,然后输入 yy 复制该行,接着输入 “20G”指定到第20行,最后按小写字母“P”粘贴即可。

原创粉丝点击