linux vim 手册,Vim 参考手册
Vim 参考手册
索引
跳转
undo
代码折叠
缓冲区
标签
文件打开与保存
插入
光标移动
复制粘贴删除
缩进
查找替换
bookmarks
ctags
bash
自动补全
分屏
diff
其他
跳跃指令 (jumps)
跳跃指令类似于游览器中的按钮
CTRL-] -> 跟着link/tag转入 (follow link/tag)
CTRL-o -> 回到上一次的jump (go back)
CTRL-i -> 跳回下一个 (go forward)
:ju -> 显示所有的可以跳跃的地方 (print jump list)
重做/回复
u -> undo
CTRL-r -> redo
vim的undo是树结构的,你可以回到这个结构中的任何地方
:undo 2 -> undo 到结构的2层 (undo to tree 2)
:undolist -> 显示所有的undo列表 (show undo list)
:earlier 10s -> undo到10秒前的编辑 (undo to 10 seconds ago)
:earlier 10h -> undo到10小时前的编辑 (back to 10 hours ago)
:earlier 1m -> undo到1分钟前 (back to 1 minutes ago)
下面是undo的tree结构的解释
………..one
…………. |
……..change 1
…………. |
………one too
………. /……..\
…..change 2 ……. change 3
………… | ………………… |
…….one two ………. me too
……….. |
….. change 4
………..|
…… not two
代码折叠
* zo 将当前折叠打开
* zc 折叠光标所在处
* zr 打开所有折叠层次(依层次打开)
* zm 折叠所有层次(依层次折叠)
* zR 打开所有折叠 zn
* zM 折叠所有 zN
* zi 切换折叠与不折叠指令
缓冲区
* vim file1 file2 多个文件调入缓冲
* :e filename 在vim中再打开文件
* :ls 列出所有的缓冲区
* :n 编辑下一个文件
* :bp 跳转到上一个缓冲区
* :bn 跳转到下一个缓冲区
* :bN 跳转到指定编号的缓冲区:b3
* :bd1 删除编号为1的缓冲区
标签
* :tabnew 打开新标签页.
* :tabe 在新标签页打开文件.
* + PageUp, PageDown 切换标签页.
* :tabnext, tabprev 切换标签页,Putty 下只能用这个.
文件打开保存
* :e 打开文件.
* :enew 新文件.
* :w 保存.
* :wa 全部保存.
* :w 另存为.
* :wq 保存并退出.
* :q 退出.
* :qa 全部退出.
* :q! 强制退出.
* ZZ 退出vim并保存文档
快捷插入
* esc 切换命令模式 (距离太遥远了,用 Ctrl+C 代替吧).
* i 插入模式.
* I 在当前行开头插入.
* R 替换模式.
* a 在光标后插入.
* A 在当前行尾部插入.
* o 将在光标所在行下面加入一行,并进入编辑模式。
* O 将在光标上面加入一行,注意是大写。
* v Visual 模式按字符选择.
* V Visual 模式按行选择.
光标移动
h 左移光标.
j 下移光标.
k 上移光标.
l 右移光标.
gg 将光标移到文件头部.
G 将光标移到文件尾部.
#G 移动光标到指定行#. 例如: 5G
% 跳转到配对的括号去
[[ 跳转到代码块的开头去(但要求代码块中’{‘必须单独占一行)
gD 跳转到局部变量的定义处
” 跳转到光标上次停靠的地方, 是两个’, 而不是一个”
mx 设置书签,x只能是a-z的26个字母
`x 跳转到书签处(“`”是1左边的键)
fx:移动光标到当前行的下一个 x 处。很明显,x 可以是任意一个字母,而且你可以使用 ; 来重复你的上一个 f 命令。
tx:和上面的命令类似,但是是移动到 x 的左边一个位置。(这真的很有用)
Fx:和 fx 类似,不过是往回找。
w : 向后词移动 (前面加数字移动多少个词)
b : 向前词移动 (前面加数字移动多少个词)
e : 向后移到词末
ge : 向前移到词末
0:移动光标到当前行首。
^:移动光标到当前行的第一个字母位置。
$:移动光标到行尾。
):移动光标到下一个句子。
( :移动光标到上一个句子
tx : 向右查找本行的x并移到那儿(大写时向左)
33G : 移到文件的第33行
gg : 文件首行
G : 文件尾行
33% : 文件的33%处
H/M/L : 屏幕的首/中/尾行
zt/zz/zb : 当前行移到屏幕的首/中/底部
复制粘贴删除
yy 拷贝当前行到剪贴板.
nyy 复制从当前行开始的n行
y^ 从文件头开始拷贝.
y$ 拷贝到文件尾部.
:#,&y 拷贝 # 到 & 行. 例如: 4,5y
p 在光标后粘贴.
P 粘贴到光标前.
dd 删除当前行.
d^ 删除到行首.
d$ 删除到行尾.
:#,&d 删除 # 到 & 行. 例如: 3,5d
D 当前光标开始删除到行尾
ndd 从当前行开始向后删除n行
d1G 删除第1行到当前行的数据
dnG 删除第n行到当前行的数据
dG 删除当前行到最后一行的数据
x 向后删除1个字符
nx 向后删除n个字符
X 向前删除1个字符
缩进
>> 增大缩进.
查找替换
/# 查找 #. 例如: /printf
?# 反向查找 #.
n 查找下一个.
N 反向查找下一个.
:s/old/new/g 当前行无提示替换.
:%s/old/new/g 无提示替换.
:%s/old/new/gc 确认替换.
:#,&s/old/new/g 从 # 到 & 行无提示替换.
* 查找光标所在单词
书签跳转
* :marks 查看所有书签, 输入 “:” 可跳转.
* m 定义书签, 如 ma 在当前行定义名为 a 的书签.
* ` 跳转到某书签, “`” 为键盘 Tab 上一行第一键.
* :jumps 查看所有跳转记录, 输入 “:” 可跳转.
* + o 返回上一次跳转处.
* + i 和 + o 反向转处.
Ctags
* :! ctags -R . 生成 ctags 文件.
* + ] 查看函数定义.
* + T 返回.
* shift + k 查看函数 man 帮助信息.
cmd
* ! 执行命令.
* :r 插入文件内容.
* :r ! 插入命令输出结果.
* :cd
修改默认工作目录.
自动补全
Ctrl+X Ctrl+L整行补全
Ctrl+X Ctrl+N 根据当前文件里关键字补全
Ctrl+X Ctrl+K 根据字典补全
Ctrl+X Ctrl+T 根据同义词字典补全
Ctrl+X Ctrl+I 根据头文件内关键字补全
Ctrl+X Ctrl+] 根据标签补全
Ctrl+X Ctrl+F 补全文件名
Ctrl+X Ctrl+D 补全宏定义
Ctrl+X Ctrl+V 补全vim命令
Ctrl+X Ctrl+U 用户自定义补全方式
Ctrl+X Ctrl+S 拼写建议
分屏
分屏启动Vim 注释: n是数字,表示分成几个屏。
vim -On file1 file2 … 使用大写的O参数来垂直分屏。
vim -on file1 file2 … 使用小写的o参数来水平分屏。
Ctrl+W c 关闭分屏 关闭当前窗口。
Ctrl+W q 关闭当前窗口,如果只剩最后一个了,则退出Vim
分屏
Ctrl+W s 上下分割当前打开的文件。
:sp filename 上下分割,并打开一个新的文件。
Ctrl+W v 左右分割当前打开的文件。
:vsp filename 左右分割,并打开一个新的文件。
移动光标 Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先按一下Ctrl+W
Ctrl+W l 把光标移到右边的屏。
Ctrl+W h 把光标移到左边的屏中。
Ctrl+W k 把光标移到上边的屏中。
Ctrl+W j 把光标移到下边的屏中。
Ctrl+W w 把光标移到下一个的屏中。.
移动分屏 这个功能还是使用了Vim的光标键,只不过都是大写。当然了,如果你的分屏很乱很复杂的话,这个功能可能会出现一些非常奇怪的症状。
Ctrl+W L 向右移动。
Ctrl+W H 向左移动
Ctrl+W K 向上移动
Ctrl+W J 向下移动
屏幕尺寸 下面是改变尺寸的一些操作,主要是高度,对于宽度你可以使用Ctrl+W ,但这可能需要最新的版本才支持。
Ctrl+W = 让所有的屏都有一样的高度。
Ctrl+W + 增加高度。
Ctrl+W - 减少高度。
ctrl+w > 向右扩展
ctrl+w
diff 模式
参考
比较 A , B 文件, vim – d A B 或者这样
或先打开文件 A,然后 :vsp(全名vsplit) 打开 B,然后输入命令 :diffthis
或 vimdiff FILE_LEFT FILE_RIGHT
]c 跳转到下一差异点
[c 反向跳转
上下文折叠 参考
默认情况下,vimdiff会将文件中不同之处上下6行之外的相同文本折叠隐藏,可通过 :set diffopt=context:3 修改显示的上下文行数。
zo 打开折叠
zc 关闭折叠
文件合并
dp 将当前窗口光标位置处的内容复制到另一窗口
do 将另一窗口光标位置处的内容复制到当前窗口
diffupdate 重新比较两个文件,如果手动修改文件的话有时不会自动同步
其他
gg=G 源码格式化
:e! 强行重新编辑
shift insert 从系统拷贝到vim
u 撤销上一步操作.
U 撤销最后编辑的行上的操作
* . 重做.
linux vim 手册,Vim 参考手册相关推荐
- linux c 文件拷贝函数,Linux C函数库参考手册
来自一本绝版的书,虽然没有函数 描述,但是最起码可以知道分类,就可以去 man 了 Linux C函数库参考手册 第1章字符测试 函数 isalnum(测试字符是否为英文字母或数字) isalpha( ...
- Linux C函数库参考手册
第1章 字符测试函数isalnum(测试字符是否为英文字母或数字)isalpha(测试字符是否为英文字母)isascii(测试字符是否为ascii码字符)isblank(测试字符是否为空格字符)isc ...
- python使用手册-Python参考手册(第4版)
第一部分 Python语言 第1章 Python简介 2 1.1 运行Python 2 1.2 变量和算术表达式 3 1.3 条件语句 5 1.4 文件输入和输出 6 1.5 字符串 7 1.6 列表 ...
- python函数参考手册_python参考手册--第1章python简介
1.if __name__ == '__main__': 直接运行myModel.py时,当前模块的名字是main:import myModel然后运行的时候当前模块的名字是myModel. 2.ev ...
- WinCvs 操作参考手册
为什么80%的码农都做不了架构师?>>> WinCvs 操作参考手册 本参考手册使用WinCvs 1.3.24(Build 1)进行实例说明. 1.设置工作目录 在目录&quo ...
- cass参考手册_什么?你还不会测绘?南方CASS教程+视频讲解+插件汇总,快来学!...
自南方CASS软件推出以来,市场占有率遥遥领先,已经成为业内应用最广.使用最方便快捷的软件品牌,也是用户量最大.升级最快.服务最好的主流成图和土石方计算软件系统.但对于想学好测绘的朋友来说,如何快速上 ...
- html js参考手册,JavaScript 和 HTML DOM 参考手册
手册简介 本手册收录了所有内置的JavaScript对象.浏览器对象和HTML DOM对象,参考手册描述了每个JavaScript对象和Browser 对象的属性和方法,并提供了在线实例.是目前最完善 ...
- jQuery 参考手册
目录 jQuery 选择器 jQuery 事件方法 jQuery 效果函数 jQuery 文档操作方法 jQuery 属性操作方法 jQuery CSS 操作函数 jQuery Ajax 操作函数 j ...
- 单片机之如何看参考手册
简介:本文主要讲解学习单片机,如何阅读芯片参考手册. 参考手册是一种非常详细的技术文档,它提供了关于MCU的所有方面的详细信息,包括硬件和软件.这里有一些关于如何阅读STM32F40xxx.STM32 ...
- VIM 参考手册 For Vim version 7.3
http://vimcdoc.sourceforge.net/doc/ VIM 参考手册 by Bram Moolenaar译者: Willishttp://vimcdoc.sf.net*index* ...
最新文章
- windows-台式机添加硬盘后如何加载、格式化新的分区
- 微信jssdk ajax 获取签名,【Golang版】微信access_token、jsapi_ticket、signature签名算法生成示例,开箱即用...
- SIFT特征提取分析 sift算子
- 2-快速排序C递归实现(递增递减的简单转换)
- 蓝桥杯-代码-数字三角形
- 调试opencv程序显示应用程序无法正常启动,0xc000007b
- 【Qt开发】QT对话框去掉帮助和关闭按钮 拦截QT关闭窗口的CloseEvent
- ASP.NET画图全攻略(上)
- Fundebug前端JavaScript插件更新至1.6.0,新增test()方法用于测试 1
- 4. Browser 对象 - Navigator 对象(2)
- 【ArcGIS|空间分析|网络分析】5 计算服务区和创建 OD 成本矩阵
- CSDN:数学公式编辑器
- echarts中如何设置geo3D地图背景图片,以及geo3D中如何使用effectScatter属性
- phpadmin安装到mysql中,mysql 和phpadmin安装
- (转)女人,别忘了经营自己!(同事亲身经历)
- 想要的资源百度搜不到?6个只有老师傅才知道的网站,悄悄领走
- 在linux下安装xp系统
- 作为程序员,哪些技能是必须要掌握的?
- Tensorflow MINIST数据模型的训练,保存,恢复和手写字体识别
- Mac电脑移动硬盘文件呈灰色,无法打开怎么办?