vim编辑模式与命令模式

5.5 进入编辑模式

从编辑模式返回通常模式“Esc”vim

5.6 vim命令模式

命令

:“nohl”=no high light 无高亮,取消内容中高亮标记
"x":保存退出,和wq的区别是,当进入一个文件未进行编辑时,使用该命令不会改变文件的atime。bash

编辑模式下查找替换命令

eg1:spa

查找abc,替换为ABC(某范围内所有替换)
‘/1,100s/abc/ABC/g’ 即:将第1行至第100行内全部abc替换成ABC。(s:替换;g:=global,所有。若是不加g则只会替换每行第一个abc),‘/’能够替换成#或@。.net

eg2:对象

查找/etc/111.txt,替换为adai
此时若是使用‘/’执行该命令会致使其与被替换对象冲突,因此使用#来执行该命令(该方法经常使用),若是仍然使用‘/’来执行命令,须要以下操做:
‘/ \ /etc \ /111.txt/adai/g’在此,‘\’是托译符,表示不识别其后面的字符dns

5.7 vim实践

# cp /etc/dnsmasq.conf  /tmp/1.txt文档

(1) 分别向下、向右、向左、向上移动6个字符(6j 6l 6h 6k)。字符串

(2) 分别向下、向上翻两页(分别按两次ctrl+f和ctrl+b)。get

(3) 把光标移动到第49行(49G)。搜索

(4) 把光标移动到行尾,再移动到行首(Shift+4, Shift+6)。

(5) 移动到1.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 而后按j向右移动光标找到"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”)。

相关文章
相关标签/搜索