vim编辑模式、命令模式以及vim实践

CoderWatson 2018-09-30

9月29日任务

5.5 进入编辑模式

5.6 vim命令模式

5.7 vim实践

5.5 进入编辑模式

  • i 在当前字符前插入
  • I 在光标所在行的行首插入
  • a 在当前字符后插入
  • A 在光标所在行的行尾插入
  • o 在当前行的下一行插入新的一行
  • O 在当前行的上一行插入新的一行

5.6 vim命令模式

  • /word 在光标之后查找一个字符串word,按n向后继续搜索
  • ?word 在光标之前查找一个字符串word,按n向前继续搜索
  • :n1,n2s/word1/word2/g 在n1和n2行之间查找word1并替换为word2,不加g则只替换每行的第一个word1
  • :1,$s/word1/word2/g 将文档中所有的word1替换为word2,不加g则只替换每行的第一个word1
  • :w 保存文本
  • :q 退出Vim
  • :w! 强制保存,在root用户下,即使文本只读也可以完成保存
  • :q! 强制退出,所有改动不生效
  • :wq 保存并退出
  • :set nu 显示行号
  • :set nonu 不显示行号

5.7 vim实践

# cp /etc/dnsmasq.conf /tmp/test.txt
  • (1) 分别向下、向右、向左、向上移动6个字符

6j 6l 6h 6k

  • (2) 分别向下、向上翻两页

分别按两次ctrl+f和ctrl+b

  • (3) 把光标移动到第49行

49G

  • (4) 把光标移动到行尾,再移动到行首

Shift+4, Shift+6

  • (5) 移动到test.txt文件的最后一行

G

  • (6) 移动到文件的首行

gg

  • (7) 搜索文件中出现的“dnsmasq”,并数一下该字符串出现的次数

/dnsmsq 然后按n

  • (8) 把从第1行到第10行出现的dnsmasq替换成dns

:1,10s/dnsmasq/dns/g

  • (9) 还原上一步操作

u

  • (10) 把整个文件中所有的etc替换成cte

:1,$s/etc/cte/g

  • (11) 把光标移动到第25行,删除字符串 “ly”

25G 然后按l向右移动光标找到"ly",按v选中,然后按x

  • (12) 还原上一步操作

u

  • (13) 删除第50行

50G dd

  • (14) 还原上一步操作

u

  • (15) 删除第37-42行的所有内容

37G 6dd

  • (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) 把光标移动到首行,把第1行内容改为“#!/bin/bash”

先按gg,把光标定位到第1行,然后按字母A,进入编辑模式,同时>光标到行末尾,进行修改操作,完成后按ESC

  • (24) 在第1行下面插入新的一行,并输入“# Hello!”

按o进入编辑模式,同时光标向下另起一行,输入“# Hello!”

  • (25) 保存文档并退出

按Esc键,输入“:wq”

扩展

vim的特殊用法

http://www.apelearn.com/bbs/thread-9334-1-1.html

vim快速删除一段字符

http://www.apelearn.com/bbs/thread-842-1-1.html

vim乱码

http://www.apelearn.com/bbs/thread-6753-1-1.html

小键盘问题

http://www.apelearn.com/bbs/thread-7215-1-1.html

vim加密

http://www.apelearn.com/bbs/thread-7750-1-1.html

vim编辑模式、命令模式以及vim实践

相关推荐

zycglboy / 0评论 2020-05-21