vim的使用
Posted 漂亮姐姐1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vim的使用相关的知识,希望对你有一定的参考价值。
vi和vim的区别
vim是一个比vi更高级的文本编辑器,自带语法高亮显示功能,给脚本编写提供了很大的帮助,vi好比是windows上的记事本,vim好比是notepad++,功能丰富。
vim/vi编辑文件原理
- 输入
vi/vim $文件
命令,回车 - 判断编辑的文件所在目录中是否有该文件的临时文件(.$文件名.swp文件)
拥有:显示提示信息(用户可选择恢复文件/删除临时文件/继续编辑/退出编辑)
没有:进入到命令模式 - 进入到文件后,会在当前目录下生成临时文件 — 可同时用另一shell查看
- 编辑完成之后需要确定是否正常保存退出
正常退出:从编辑状态到 – esc – 命令模式 – wq 保存退出(将临时文件重命名为当前文件名并覆盖当前文件)
非正常退出:临时文件会永久保留 — 例如:当文件编写一半远程连接突然中断会出现这种情况
vim特有功能
-
批量修改文件内容
1.ctrl+v: 进入视图模式
2.上下选中要编辑的行
3.大写字母 I :进行单行编辑完成 — esc — 多行同步编辑完成 -
批量删除信息
1.ctrl + v进入视图模式
2.上下左右选中要删除的列
3.按d/x,批量删除 -
拼写检查
:set spell
– 移动光标到错误处 输入z=
显示修改建议 -
分割窗口
: split
— 水平分割窗口(vi中也有此功能)
: vsplit
---- 竖直分割窗口
: wall
— write all全部保存
使用ctrl + w 可以在两个窗口之间切换
vi/vim 进阶使用
快速编辑
-
将2-4行的内容移动到第9行后
:2,4move9
-
将2-4行的内容复制到第9行后
:2,4copy9
-
删除2-4行
:2,4d
-
文件信息替换
%s#$原来的#$替换后的#g
— %表示匹配所有行,g表示匹配到所有的
%s#$原来的#$替换后的#
— 替换每一行的一个
%2,4s#$原来的#$替换后的#g
— 仅替换2-4行中的内容
12,$s#$原来的#$替换后的#g
— 将12行到结尾的内容进行替换
s substitude — 替换
g global — 将整行符合要求的字符都做替换
移动光标
在当前显示可见区域移动
H — 将光标移动到当前可见页面的顶部(High)
M — 将光标移到当前可见页面的中间(Middle)
L — 将光标移动到当前可见页面的底部(Low)
按段落/句子移动
— 移动到上个段落的开头
— 移动到下个段落的开头
( — 移动到上个句子的开头
) — 移动到下个句子的开头
按页移动
ctrl+u — 向上移动半页
ctrl+d — 向下移动半页
ctrl+b — 向上移动一页
ctrl+f — 向下移动一页
隐藏快捷键
ctrl + a — 光标移动到离光标最近的数字并将数字加1
shift + 3 — 全字段匹配光标所在的单词
ctrl + - — 光标移动到有非空格行首
以上是关于vim的使用的主要内容,如果未能解决你的问题,请参考以下文章
三种方法实现统计一个句子中的字母数 (setdefaultdefaultdict的使用)