7 vi 编辑器
1、vim编辑器的工作模式
命令模式,插入模式,可视化模式,扩展命令模式。
2、命令模式
2.1、光标定位
hjkl:小键盘上下左右移动
0 $:行头、行尾
gg G:第一行、最后一行
30G:进入第30行
/string:快速定位到某一行
/^d:搜索以d开头的行
/txt$:搜索以txt$结尾的行
2.2、文本编辑
y 复制 yy 3yy ygg yG:复制一行、从当前行往下复制3行,复制当前行至第一行的所有行,复制当前行至最后一行的所有行。
d 删除 dd 3dd dgg dG:同上。
x 删除光标所在的字符
D 从光标处删除到行尾
u undo撤销
^r redo
r 修改一个字符
2.3、进入其他模式
i 进入插入模式
o 另起一行,进入插入模式
A 调到行尾,进入插入模式
v 进入可视模式
^v 进入可视块模式
V 进入可视行模式
R 进入替换模式
2.4、插入模式
^p:自动补全
块插入:^v shift+i 插入字符 esc
块替换:ctrl + v 进入块选择,r 输入替换的字符
块删除:选择块,d|x
块复制:选择块,y
2.5、扩展命令模式
保存退出
:10 进入第10行
:w 保存
:q 退出
:q! 强制退出
:wq 保存退出
:w! 强制保存
查找替换
:range s/old/new/option
:1,5 s/ifdown/latiny 将1至5行的第一个ifdown替换成latiny
:5,$ s/ifdown/latiny 将5至最后一行的第一个ifdown替换成latiny
:1,$ s/ifdown/latiny/g 将1至最后一行的所有的ifdown替换成latiny %表示全文,g表示整行
:% s/ifdown/latiny 所有行的第一个ifdown替换成latiny
:,8 s/old/new/ 从当前行到第8行
:4,9 s/^#// 4-9行开头的#替换为空
:5,10 s/.*/#&/ 5-10行前加入#字符, .*表示整行,&引用查找的内容
读入文件、写文件
:w 存储到当前文件
:w /tmp/2.txt 另存为 /tmp/2.txt
:1,3 w /tmp/2.txt 当前文件1至3行另存为 /tmp/2.txt
:r /etc/hosts 读入文件到当前行后
:5 r /etc/hosts 读入文件到第5行
设置环境 - 临时设置
:set nu 设置行号
:set ic 不区分大小写
:set ai 自动缩进
:set list 显示控制字符
:set nonu 取消设置行号
:set noic 取消不区分大小写
永久修改设置
/etc/vimrc 修改vim环境配置文件
~/.vimrc
set ic
set nu
打开多个文件
vim -O /root/test/directory/a.txt /root/test/directory/b.txt 大写O水平显示两个文件, 小写o垂直显示两个文件
^ww 切换打开的两个文件
vimdiff /root/test/directory/a.txt /root/test/directory/b.txt 查看两个文件的不同。
最新文章
- ahk之路:利用ahk在window7下实现窗口置顶
- unity3d 孤岛求生基础案例
- .Net Core+cenos7+Docker+Dockerfile 部署实践
- Nginx 性能优化
- 【C++】命令行Hangman #2015年12月15日 00:20:27
- python爬虫数据抓取方法汇总
- apache 配置
- POJ 2593 Max Sequence
- 搭积木(block)
- java int数组任何数之间间隔不能对于指定数,内付极速排序
- 【Python 15】分形树绘制3.0(递归函数)
- math-2人博弈
- 火币网API文档——REST API 签名认证
- js获取当天零点的时间戳
- November 07th, 2017 Week 45th Tuesday
- bzoj3946
- C# 中的 enum(枚举) 类型使用例子
- Latex初学者入门(三)-- 用BibTeX生成参考文献
- win2008R2 bitnami 安装 wamp
- servlet转发与重定向