vim快捷键总结
1.vim编辑器 1.1 本文实验相关 1.1.1 系统:? CentOS 8? ?虚拟机:? vm15.5 1.1.2 vim版本:?VIM - Vi IMproved 8.0 (2016 Sep 12,compiled May 11 2019 16:00:09) 1.2 vim编辑器的便捷就不多说了,下面以总结vim的快捷键,可能会漏掉一些,以后有机会补上。 vim? 分插入模式,命令模式,扩展命令模式 三种主要模式: 命令或普通(Normal)模式:默认模式,移动光标,剪切/粘贴文本? 插入(Insert)或编辑模式:修改文本 扩展命令(extended command )或命令行模式:保存,退出等? 2. vim 插入模式快捷键 i? ? ? ? ? ? ? ? ?在光标所在处输入 I? ? ? ? ? ? ?在当前光标所在行的行首输入 a? ? ? ? ? ? ?在光标所在的后面输入 A? ? ? ??在当前光标所在的行尾输入 O? ? 在光标所在行,下行打开新行 o? 在光标所在行,上行打开新行 在插入模式中:? h(左)? j(下) k(上) l(右) 2.1 vim 打开方式? (vim打开存在的文件直接打开,若文件不存在则创建文件) vim +num filename? ? ? ? ? ? ? ? ? ? ?打开文件后,光标在第num 行 vim +/pattern filename? ? ? ? ? ? ? ? 打开文件后,光标处于第一个匹配到pattern的行首 vim -b filename? ? ?二进制打开文件 vim -d filename1 filename2? 打开多个文件比较 vim -m filename 只读模式打开 vim -e filename? 进入ex模式(直接切换到扩展命令模式) vim -o(水平分割) | -O(垂直分割)? file1? file2? 多个窗口? 使用crtl+w,左右键? 可以切换 :wqall是全部退出 2.3 扩展命令模式 :q? ? ? ? ? ? ? ? ? ? ? ? ? ? 退出 :w? ? ? ? ? ? ? ? ? ? ? ? ? ? ?保存 :q!? ? ? ? ? ? ? ? ? ? ? ? ? ?强制退出 :wq ? ?保存退出 :x? ? ? ? ? ? ? ? ? ? ? 保存退出 !? ? ? ? ? ? ? ? ? ? ? ? 强制 r filename? ? ? ? ? ? ? ? ? ? ? 将文件内容读到当前vim的文件中?? 例: r /etc/passwd? ? ?把/etc/passwd读到当前文件中 w filename? ??? 将当前vim的文件内容,写入文件中 例:? ? ? w /data/vimfile? ? ?将当前vim中的所有内容? ?写入到/data/vimfile? ! command? ? ? 直接在扩展命令行执行命令 ! ls? ? ? ? ? ? ? ? ? ? ? ? ? 查看文件列表 r!command? 读取command命令执行的输出 r! ls? ? ? ? ? ? ? ? ? ? ? ? ? 把ls的输入读取到文件中,在光标如插入 ? 2.4 命令模式 ZZ? ? ? 保存退出 ZQ? 退出不保存 w? ? 下个单词的词首 #w ?例: 3w跳到往后第3个单词词首 ? e? 跳到单词的词尾 #e 例: 4e跳到往后第4个单词的词尾 ? b 跳到前一个单词的词首 #b 例: 7b跳到往前7个单词的词首 H ------? 光标到页首? ? ? M ------ 光标到中间? L------光标到页尾 zt ---------- 把光标所在的行移到屏幕顶端 zz --------- 把光标所在的行移到屏幕中间 zb --------- 把光标所在行移到到屏幕底端 0 ----------- 跳到行首 ^ ----------- 跳到光标所在行的第一个非空白字符 $ ----------? 跳到光标所在的行尾 G ---------? 到最后行 numG ---- 到num行? 如: 10G? ?跳到第5行 gg,1G----- 到第一行 (? ------? 上一句? ? ? ? ?)? --------? ?下一句 {? ------? 上一段? ? ? ? ?}? --------? ?下一段 ctrl? +? f? 向下翻一屏幕 ctrl? +? d 向下翻半屏 ctrl? +? b? 向上翻一屏 ctrl? +? u? 向上翻半屏 ctrl? +? e? 向下翻一行 p,P? ? ? 粘贴剪切的内容? 以下很多剪切都用此方法可以粘贴 P? ? ? 如果是整行粘贴到当前光标行的上行 p? ? ??如果是整行粘贴到当前光标行的下行 x? ? ? ?剪切光标当前字符 X? ? ? 剪切当前光标之前的字符? xp? ? ?光标处的字符与后面的字符交换位置 ~? ? ? 将光标处的字母大小写转换 J? ? ? ?删除当前行的换行符 r? ? ? ?替换字符? ? ? ? ? ? ? 例子:ra 将光标处的字符换成a R? ? ? 进入replace模式 d? ? ? 剪切配上左右剪切一个字符? 配上下方向键剪切两行 如: d↑? ?d← d0? ? ? ? 从当前光标处剪切到行首 d$? ? ? ? 从当前光标处剪切到行尾 d^? ? ? ? ?从当前光标处剪切到行首非空白字符 dw? ? ? ? 从当前光标处剪切至下个单词首 d#w? ? ? 算上光标处的单词? 往后剪切#个? ?如? 到d5w? ?剪切5个单词 de? ? ? ??从当前光标处剪切至单词尾? ?同理也可以中间加数量? d#e? ?如? 到d4e? ?剪切4个单词 db? ? ? ?从当前光标处剪切至当前单词首? ?中间也能加数量 dd? ? ? ? 剪切当前行 #dd? ? 剪切多行? 如: 6dd? 剪切6行(算上光标所在行,共6行) D? ? ? ? ? ? ? 等同与 d$? 从光标处剪切到行尾 y? ? ? ? ?复制两行 Y 复制当前行 y0? ? ? ? ? ? ?复制当前光标处至行首 y$? ? ? ? ? ? ?复制当前光标处至行尾 y^? ? ? ? ? 从当前光标处复制到行首非空白字符 ? ?等等y跟d的使用差不多剩下的不写了
2.5 补充 vim可以设置一些自己的特性,在用户的在目录中建立.vimrc文件 set autoindent(set ai)? ? ? ? 自动缩进对齐(写脚本时挺好)? ? ? ? set ignorecase(set ic)? ? ? ?忽略大小写 set number(set nu)? ? ? ? ? ?显示行号 ? ? set paste? ? ? ? ? ? ? ? ? ? ? ? ? ? 复制保留格式 set list ??显示Tab和换行符 ^I 和$显示? set hlsearch? ? ? ? ? ? ? ? ? ? ? 高亮 syntax on? ? ? ? ? ? ? ? ? ? ? ? ?语法高亮 set textwidth=65 (仅vim )? set wrapmargin=15? 启用windows格式:set? fileformat=dos ? 启用unix格式:set fileformat=unix? 简写 set ff=dos|uni set cursorline(set cul)? ? ? 显示所在行标识线 二进制编辑文件 vim -b filename? ? 可以使用%!xdd进入十六进制,换回二进制%!xdd -r? 记得用二进制打开的文件也要使用二进制保存不然文件可能会莫名其妙 ? vim 还有可视化模式 v面向字符 V面向行 CTRL + v? 面向块 w? )? ?}? 箭头? 进行选中 w是单词,其他或行或快 突出显示的文字可被删除,复制,变更,过滤,搜索,替换等 如上 总结,vim 功能很强大,我所写的只是自己所总结而出来,vim还有地址界定,标识,宏,寄存器等相关的使用方式,先留着,以后记得了再来填坑。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |