diff --git a/editors/vim.txt b/editors/vim.txt index b145b32..83cad0f 100644 --- a/editors/vim.txt +++ b/editors/vim.txt @@ -556,8 +556,10 @@ ga 显示光标下字符的 ascii 码或者 unicode 编码 g8 显示光标下字符的 utf-8 编码结果 gi 回到上次进入插入的地方,并切换到插入模式 K 查询光标下单词的帮助 +ZZ 保存文件(如果有改动的话),并关闭窗口 CTRL-PgUp 上个标签页,GVim OK,部分终端软件需设置对应键盘码 CTRL-PgDown 下个标签页,GVim OK,部分终端软件需设置对应键盘码 +CTRL-R CTRL-W 命令模式下插入光标下单词 :set ff=unix 设置换行为 unix :set ff=dos 设置换行为 dos :set ff? 查看换行设置 @@ -685,43 +687,23 @@ reddit https://www.reddit.com/r/vim/ - 很多人使用 CTRL-[ 代替 ,左手小指 CTRL,右手小指 [ 熟练后很方便 - SecureCRT 中使用 Vim 8 内嵌终端如看到奇怪字符,使用 :set t_RS= t_SH= 解决 - SecureCRT 中使用 NeoVim 如看到奇怪字符,使用 :set guicursor= 解决 -- * 和 # (以及 g*/g#)是十分重要的查找命令 - 多使用 ciw, ci[, ci", ci( 以及 diw, di[, di", di( 命令来快速改写/删除文本 -- 使用 @: 重复执行上一次 Ex 命令,比如 :nohl, @:, @:, @: - SHIFT 相当于移动加速键, w b e 移动光标很慢,但是 W B E 走的很快 - 自己要善于总结新技巧,比如移动到行首非空字符时用 0w 命令比 ^ 命令更容易输入 -- 在空白行使用 dip 命令可以删除所有临近的空白行 -- 在空白区使用 viw 可以选择所有空白字符 +- 在空白行使用 dip 命令可以删除所有临近的空白行,viw 可以选择连续空白 - 缩进时使用 >8j >} 快 -- 插入模式下,CTRL-X CTRL-F 可以方便的补全当前目录的文件名 -- 插入模式下,可用 CTRL-V u 输入 unicode,如 u1234 输入16进制 unicoode -- 插入模式下,CTRL-R = 可以用来简单计算,比如 =12*3.5/10 会插入 4.2 -- 如果在插入模式下移动光标,那么就不能使用 . 来重复之前的插入了 - y d c 命令可以很好结合 f t 和 /X 比如 dt) 和 y/end - c d x 命令会自动填充寄存器 "1 到 "9 , y 命令会自动填充 "0 寄存器 - 用 v 命令选择文本时,可以用 o 掉头选择,有时很有用 -- ca) 和 yi} 很容易记忆,但是他们等同于 cab yiB 后者很容易输入 - 写文章时,可以写一段代码块,然后选中后执行 :!python 代码块就会被替换成结果 - 搜索后经常使用 :nohl 来消除高亮,使用很频繁,可以 map 到 上 - 搜索时可以用 CTRL-R CTRL-W 插入光标下的单词 -- Vim 有一千零一种移动光标的方法,有时候就连 H M L 也是很有用的 -- 不需要记忆上一次选择区域,'< 和 '> 可以跳到上次选择的开始和结束 -- 如需编辑同一个文件的不同地方,可以用 :vs 或者 :split 将文件分为两个窗口 -- 有六种方法来改变一个布尔设置: :set list nolist list! invlist list? list& - 映射按键时,应该默认使用 noremap ,只有特别需要的时候使用 map - 当你觉得做某事很低效时,你应该停下来,u u u u 然后思考正确的高效方式来完成 - 用 y复制文本后,命令模式中 CTRL-R 然后按双引号 " 可以插入之前复制内容 -- 如果你想全屏阅读帮助的话,使用 :tab help 命令 -- 粘贴文本时应该思考下前后是否包含空格 -- :x 和 ZZ 命令和 :wq 类似,但是不会写入没有改变的文件,并且更快 -- 多阅读 :h index 学习新的快捷键,让你更加高效 -- Vim 帮助系统里有一个使用技巧集合,使用 :h tips 阅读 - Windows 下的 GVim 可以用 CTRL-INSERT 和 SHIFT-INSERT 操作系统剪贴板 - Windows 下的 GVim 可以设置 set rop=type:directx,renmode:5 增强显示 -- 思考题:知道下面控制代码 ^I ^M ^J ^[ ^H ^@ 分别代表什么意思么? ##############################################################################