vim编辑模式linux
在vim /xxxx.txt文件后,按a,i,o进入编辑模式vim
i 在当前光标字符前插入bash
I 大写的i在行的行首插入dns
a 在当前光标字符后插入图片
A 在光标所在行的行尾插入文档
o 在当前行的下一行插入新的一行字符串
O 在当前行的上一行插入新的一行it
在vim里面删除光标后的全部字符 shift+d扩展
vim命令模式搜索
一、查找
/XXX 在编辑的文件向下查找XXX,按n查找下一个XXX
?XXX 在编辑的文件向上查找XXX,按n查找上一个XXX
(忽略大小写的时候,在所要查找的字符串后面加\c,例如/XXX\c)
二、替换
冒号1,2s/word1/word2/g或者冒号1,2s#word1#word2/g
(表示从第1行到第二行,s表示开始替换,#号的方式可用于替换含有反斜杠的字符串。)
全文本替换字符串 冒号1,$s/word1/word2/g
不加小g为替换每一行最前面的字符串,所有适用无论一行替换仍是全文替换。
忽略大小写替换。
三、其余命令
:w 回车保存文本
:q 推出vim
:w! 强制推出,全部改动不生效
:wq 保存并退出,若是内容没改动,退出时仍是会修改mtime的时间,用:x退出就不会。
:set nu 显示行号
:set nonu 不显示行号
:10,15d 删除/剪贴10到15行的内容, :10,15y 复制10到15行的内容
查找字符串的时候,命中的字符串会有高亮的颜色,若是不想显示能够用:nohl 去掉高亮颜色。
扩展
一、把正在编辑的文件另存为新的文件
例:把正在编辑的文件另存为到“/root/”下面并保存为1.txt
在通常模式下输入“:w /root/1.txt”
例:把正在编辑的文件的第10行到第15行另存为1.txt并保存到root目录下 在通常模式下输入“:10,15 w /root/1.txt”
二、把其它文件的内容导入到正在编辑的文件的光标所在处
例:把“/root/1.txt” 文件的内容,导入到下在编辑的文件的第10行下面
首先在通常模式下按“10G”把光标定位到第10行
而后按“o”小写,当前行的下面另起一行,并进入插入模式
最后按键盘上的返回到通常模式,再输入“:r /root/1.txt”回车
三、正在编辑文件时,不退出文件仍能够运行linux命令
例:我下在编辑一个文件,但这时候我想查看“/root/1.txt” 文件的内容,可是我不想退出我正在编辑的文件,那么咱们能够这样
在编辑模式下输入“:! cat /root/1.txt”
四、同时编辑多个文件 例:我现正在编辑1.txt文件,而后我想再打开root目录下的2.txt同时编辑,并把窗口左右垂直分隔,一块儿显示在通常模式下输入“:vsplit /root/2.txt”
注意:在通常模式下按“ctrl+w”组合键,能够在不一样窗口之间切换若是在通常模式下输入“:only”那么只保留当前正在编辑的窗口,其它全关闭(关闭的窗口不能有改动,改动的话用wq)
五、把文件恢复到打开时的状态
在通常模式下输入“:e!”
vim实践操做
一、分别向下、向右、向左、向上移动6个字符
6j、6l、6h、6k
二、分别向下、向上翻2页
PgDown
ctrl+f
PgUp
ctrl+b
三、把光标移动到第49行
49G
四、把光标移动到行尾,在移动到行首
shift+4或者end
shift+6或者home
五、移动到1.txt文件的最后一行
G
六、移动到文件的行首
gg
七、搜索文件中出现的"dnsmasq",并统计该字符串出现的次数
/dnsmasq 按n查找下一个,总共50次
八、把从第一行到第10行出现的dnsmasq替换成dns
:1,10s/dnsmasq/dns/g
九、还原上一步操做
按u键
十、把整个文件中全部的etc替换成cte
:1,$s/etc/cte/g
十一、把光标移动到25行,删除字符串"ly"
25G
十二、还原上一步操做,按u 1三、删除第50行
50G,dd
1四、还原上一步操做 1五、删除第37-42行的全部内容
37G,5dd (数错了,删了5行)或者在命令模式:37,42d 回车进行删除/剪贴
1六、还原上一步操做 1七、复制第48行的内容并粘贴到第52行下面
48G,yy,52G,p
1八、还原上一步操做 1九、复制第37-42行的内容并粘贴到第44行上面
37G,5yy,44G,P(复制少了1行)
20、还原上一步操做 2一、把第37-42行的内容移动到第19行下面
37G,6dd,19G,p
2二、还原上一步操做 2三、把光标移动到首行,把第一行内容改成"#!/bin/bash"
gg,按i键进行编辑,按esc退出编辑模式。
2四、在第1行下面插入新的1行,并输入"#Hello!"
按o键,进行编辑。
2五、保存文档并退出
按esc键,按shift+分号,输入wq,回车。