#vim # Vim 少数派 obsidian vim config https://sspai.com/post/78030 Vim 从入门到精通 https://www.cnblogs.com/lijia0511/p/5644566.html bilibili vim 收藏夹 vscode + vim https://www.bilibili.com/video/BV1z541177Jy?p=5&vd_source=ba468568caebc92479698e83c28be8b0 ## 切换模式 - ecs 退出到普通模式 - v visual - 进入编辑模式 - i/I Insert - a/A Append - o/O One line - : 命令模式 ## 指针移动 - i j k l 移动 - b w https://github.com/ahrencode/Miscellaneous/blob/master/vim-cheatsheet.pdf ![[vimEdit.png]] ## 普通模式:操作符 + 动作 ## 可组合操作符号 - d delete 剪切 - c change 剪切并进入编辑模式 - y yank 复制 - v visual 选中并进入 visual mode ## 动作 - i inner 内置 比如 i"选中 a"Test"b 中的 Test - a around 包含内置字符和包含符号 比如a" a"Test"b 中的"Test" - iw 选中单词 - i( 选中括号内的 - a( 选中括号和括号内的 - gu 小写 - gU 大写 ## 组合3(可组合操作符+动作) - ciw change inner world 剪切光标所在的单词 然后进入编辑模式 - diw delete inner world 删除光标所在的单词 - ci< change inner < 修改尖括号内的字符 - ci( change inner ( 修改括号内的字符 - da< delete around < 删除包含尖括号在内的字符 - yi(/yib yank inner brackets 复制小括号内的字符 - yi{/yiB yank inner brackets 复制大括号内的字符 - `ca[` change around `[` 剪切中括号和中括号内的字符 然后进入编辑模式 - die delete inner entire 删除全部 - viw 选中单词 然后 d 可以删除 - 总结 - 操作符 + i/w/f + 特殊符号 ## 不可组合操作符 - yy 复制一行 - dd 剪切一行 - p 粘帖 - u 撤销 - C+r Redo - m+字符 标签 - ``+字符` 跳转到标签 - ~ 字符大小写切换 - guu 行小写 - gUU 行大写 - gd go define - ctrl + o 回到上个指针所在位置 - gh go hover 鼠标悬浮 显示代码Tips提示 - gt go tag 向后标签 4gt向后4个标签... - gT go Tag 向前标签 - Contrl + 0 跳转到左侧标签(VSCode) 然后 jk 可以上下选择文件 space展开 enter/l 编辑 ### 重复命令 - 2dd 删除两行 - 2gg 跳转到index为2的行 - 其他类似 ### 组合2 - 操作符 + w/b/p ## VsCode中 ### 多指针 ### surround - s surround 包含符号 比如 s" a"Test"b 选中 "" - ysiw + 符号 可以把词用双引号套住 我不明白为什么可以 但是就是可以 ### 打开VimSetting中的 vim.easymotion 的话 然后设置 vim.leader 可以设置 `` 键位 可以类似ChromePlugin的Vim一样, 用一些快捷键直接跳转到字符 具体其他指令可以在 Vim 插件的readme中找到, 这里我只写我常用的 我把 leader 键位设置成了 空格 - 空 + 空 + w 向后跳转到词头 - 空 + 空 + b 向前跳转到词头 - 空 + 空 + e 向后跳转到词尾 - 空 + 空 + j 向上跳转到行 - 空 + 空 + k 向下跳转到行 - 空 + 空 + f + 字母 向下搜索 - 空 + 空 + F + 字母 向上搜索 具体看: https://github.com/VSCodeVim/Vim