https://vim.linuxsong.org/ vim中文帮助手册
取消查找操作
:set hlsearch 查找时高亮显示
:nohl 取消查找操作带来的高亮
vim命令行的支持
支持补全功能 tab键
支持缩写 例如 :set autoindent 可以写成:set ai
关于vim命令行历史
:history 查看vim命令行历史
参数:
c[md] 或 : 命令行的历史记录
s[earch] 或 / 或 ? 查找字符串的历史记录
e[xpr] 或 = 表达式寄存器的历史记录
i[nput] 或 @ 输入行的历史记录
d[ebug] 或 > 调试命令的历史记录
a[ll] 所有上述记录
q+: 编辑vim命令行历史
vim的挂起(占时离开文件)和继续编辑
ctrl+z或者执行:suspend 来挂起当前vim打开的文件
fg shell命令继续编辑刚才挂起的vim文件
vim编辑时执行shell命令
:! 查看shell窗口内容
:! command 执行shell命令
:r ! command 将shell命令执行输出结果添加到当前光标的下一行
:shell 在vim编辑器中重新启动一个shell程序
在编辑器中浏览外部文件
:edit path path为要浏览的文件和目录的根或路径
浏览时打开目录文件->把光标移至某个目录名,按 [Enter] 键
返回父目录-> 对准第一个目录 “…/” 按 键
编辑格式文本操作
- 断行
:set textwidth=number 设置断行的宽度 - 文本的对齐
:{range} center [width] 一定范围包括的行居中
例子::1,5 center 40 使文档1,5行 在40列宽中居中
:{range} right [width] 一定范围包括的行右对齐
例子::1,5 right 40 使文档1,5行 在40列宽中右对齐
:{range} left [margin]
例子::1,5 left 40 使文档1,5行 距左边距40进行左对齐
查找操作补充
:set ignorecase 或者 :set ic 开启查找忽略大小写
:set noignorecase 或者 :set noic 关闭忽略大小写,恢复默认
关于vim文档折叠
1. 可视化模式V折叠
zf 创建折叠
zo 打开折叠
zc 关闭折叠
zd 删除当前光标上的折叠
zD 删除所有光标行上的折叠
多行合并
nJ 将目前光标所在处往下n行合并
缩进移动
一个单位为:一个tab符
>> 将当前行右移一个单位
<< 将当前行左移一个单位
== 自动缩进当前行;根据上一个缩进行
保存修改增项
:x <=>:wq <=>ZZ 保存修改并退出
多文件编辑的操作
:files 列出所有的文件
:next <=>:n 切换到下个打开的文件
:prev<=>:N 切换到上个打开的文件
:next :prev可加强制符号!表示不保存当前编辑,切换文件
:wnext :wprev 表示保存当前编辑文件,切换文件
:first 切换到首文件
:last 切换到尾文件
ctrl+^ 快速切换最近两个文件
:split <=>:sp 把当前文件窗口水平分割
:split file <=> :new file 将新文件打开并且窗口水平分割
:vsplit <=> :vsp 把当前文件窗口垂直分割
:close 多窗口时,可关闭其它窗口
:all 将打开的文件,全部水平分割显示
:vertical all 将打开的文件,全部垂直分割显示
:only 只显示当前光标所在窗口,关闭其它的窗口
如果想对所有的文件进行退出(q)写入保存(w)或者保存退出(qw)都可以在后面添加all ,例如::qall<=>:qa退出所有打开的窗口
多标签编辑
:tabedit file <=> :tab split[sp] file 新标签打开文件
:tab edit file 当前标签打开文件
:gt <=>:tabn 切换到下一个标签
:gT <=> :tabp 切换到上一个标签
ngt 切换到第n个打开的标签
:tabc 关闭当前标签
:tabo 关闭其它标签
自动排版
gg=G 文件第一行到尾行自动左对齐
可nG=nG
块操作
ctrl+v 打开可视块
批量注释#
ctrl+v 选择需要注释的行
使用I插入行首输入# ,然后按esc键,为刚才选择的行进行注释
录制操作
q 录制
a 附加(记录)到寄存器中
yy<=>Y 复制一行
p 粘贴
ctrl+a 增加1
q 停止录制
@a 重复刚刚录制的操作
@@ 快捷操作用来重复最新录制的宏
只读形式打开文件
vim -R filename 以只读的形式打开文件,修改后退出和写入需要强制性
vim -M filename 编辑功能彻底失效,只能阅读文件
查看文件的不同
vimdiff filename1 filename2 查看文件filename1与filename2文件的不同