vim练功秘籍

    技术2022-07-10  150

    第一层—菜鸟

    kjhl --- “上下左右”移动光标 i --- 当前光标位置插入 dd --- 删除当前行(并将该行内容存到剪贴板里) p --- 粘贴剪贴板 :wq --- 存盘+退出 :help <command> --- 显示相关命令的帮助

    第二层—入门

    (1)各种插入模式 a --- 在光标后插入 o --- 在当前行后一行插入 O --- 在当前行前一行插入 cw --- 替换从光标所在位置后到一个单词结尾的字符 (2)简单的移动光标 0 --- 到本行行头 $ --- 到本行行尾 ^ --- 到本行第一个不是blank字符的位置 g_ --- 到本行最后一个不是blank字符的位置 /string --- 搜索string的字符串 (3)拷贝/粘贴 yy --- 拷贝当前行 p/P --- 粘贴(当前位置之后/之前) (4)Undo/Redo u --- undo(撤销) <C-r> --- redo (5)保存/退出/切换文件(buffer) ZZ --- 保存并退出(与:wq效果相同) <C-h> / <C-l> --- 切换上一个/下一个文件

    第三层—进阶

    (1)重复 n<command> --- 重复执行command n次 e.x: 2dd --- 删除两行;3p --- 粘贴3次 . --- (小数点)重复执行上一条命令 (2)快速移动光标 gg --- 到第一行 :N(或NG)--- 到第N行 G --- 到最后一行 w --- 到下一个单词开头 b --- 到上一个单词开头 e --- 到下一个单词结尾 (3)最强的光标移动 % --- 匹配括号移动 * --- 匹配光标当前所在单词,移动光标到下一个 # --- 匹配光标当前所在单词,移动光标到上一个 (4)“组合拳” 0y$ --- 拷贝当前行的内容(无blank字符),与yy有些类似 ye --- 拷贝当前位置到本单词的最后一个字符 ggyG --- 复制该文件全部内容 ggdG --- 删除该文件全部内容 ggvG --- 全选高亮显示 vgU --- 变大写 vgu --- 变小写

    第四层—再提高

    (1)在当前行移动光标 f, --- 到下一个字符为,的位置; F与f方向相反。 t, --- 到,的前一个字符; T与t方向相反。 dt, --- 删除从光标开始的所有内容,直到遇到逗号(,) (2)区域选择 format:<action>a<object> 和 <action>i<object> ---action: 任何命令。如y(复制), d(删除), v(可视化)等; ---object: w,W,s,p,特别字符(",',),},]) 下面举个在visual mode下的例子: e.x: (map (+) ("string"))且光标双引号内 vi" --- 会选择string va" --- 会选择"string" va) --- 会选择("string") v2i) --- 会选择map (+) ("string") v2a) --- 会选择(map (+) ("string")) 两点说明: ---可以尝试将i/a后面的object替换成w/W/s/p ---在normal mode下,只需将v替换成y,d,就又是愉快的复制、删除了。 (3)块操作(Ctrl-v) 典型操作: 多行操作 3.1)行头操作 移动光标到行头-->块操作-->选择多行-->插入-->所选行头均插入 0 <C-v> j/k/h/l I [ESC] 3.2)行尾操作 块操作-->选择多行-->插入-->所选行尾均插入 <C-v> j/k/h/l A [ESC] (4)可视化操作(visual mode) 按v/V进入visual mode并选择要操作的行后, < --- 向左缩进 > --- 向右缩进 = --- 自动/默认缩进 J --- 把所选行连接成一行 (5)分屏 :split/:sp --- 创建分屏 :vsplit/:vsp --- 创建垂直分屏 <C-w> c --- 关闭当前分屏 <C-w> h/j/k/l --- 在各个屏间切换光标 <C-w> = --- 所有屏等宽

    补充:vim如何与剪贴板交互

    (1)vim--->other apps vim中使用在vim中使用 "+y 使用进行复制,然后在应用程序中用Ctrl+v粘贴 (2)other apps--->vim 应用程序中使用Ctrl+c复制,在vim中使用Shift+Insert粘贴
    Processed: 0.009, SQL: 9