vim-vscode

vim-vscode vim【移动、模式、删除】0到最开始包括空白符 $ 到最结束包括空白符hjkli 字符前 a 字符后shift h(^) 移动到行首 shift I 行首插入shift l(g_) 行尾 shift A 行尾插入O 行前 o 行后复制 yy 粘贴 p 删除 dd删除键的细节热键d g_ 删到行尾 dL 存到暂存区 p 可黏贴d 0 删到行首 dHd l 删除当前字符d j 删除包含当前行在内加下面一行d k删除包含当前行在内加上面一行【移动】e 移动到本单词的末尾及下一个单词的末尾 endw 移动到下一个单词的开始 wordb移动到上一个单词的开头 backwardge移动到上一个单词的结尾【修改】x 删除当前光标X删除当前光标前一个s删除当前光标所在字符进入insert模式S删除当前光标所在行注意整行删除进入insert模式r替换一个字符R替换多个字符u 撤销 redo shift uC 大写c从光标处删除到结尾,并插入光标【可视化模式】v 基于字符可视化 V基于行可视化 ctrl v 基于块可视化 可以配合 dcy等按键o 在可视化模式下可以更换操作方向 gv可以恢复刚刚选中的模式ve选中单词从光标所在到结尾 复制黏贴可以使用系统剪贴板跨多行编辑【文本对象】文本对象 操作符 、可视化模式i 内部 a外部vi( 把()内的内容全部选中 扩展 di( 就可以删除内的内容va( 连带也选中viw 把单词选中 ve有局限性的选中 ciw 删除一个单词,并插入光标vi[ 选中中括号里面的内容 当然我们不建议使用v可视化模式vit 选择比如标签的所有内容{[都一样cia 修改一个参数 daa 删除一个参数,连带参数前面的逗号也会删掉die 删除正篇文章保留前后空格 dae文章全部删除干净包括前后空格遗留的技巧快捷键cw 删除光标到当前单词结尾 ea 在当前单词结尾处添加 IAOo 在需要的位置处插入【查询】f 查询字符回车可以进行查找在光标所在的行使用可以重复操作使用可以反向操作t 查询字符 查找到目标字节的前一位这个命令不用回车d/c t字节 删除光标到字节的内容 dt字节与df字节回车效果一样不包含查询的字节包含光标所在的字节v f 字节 可以选中光标到字节范围 包含查询字节 vt字节 选中范围是光标到查询字节的上一个可以使用和来扩大选中范围向光标后面查找 / 字节 回车 使用 n查找下一个N进行反向查找 这里可以使用 … 代替一些模糊的字符从光标向前查找 使用 进行向前查找 同样使用 n 、N 进行查找按下 或者/ 以后可以加上上下方向查看之前输入查询的地址我们也可以进入 v 模式使用 / 输入字节回车后按d进行删除 删除包括光标到输入的第一个字节包含该字节这里可以移动光标进行选择或者直接 d / 字节 回车这时候不包含键入的字节光标放到关键字上输入 # 向上查找该字节 输入 * 向下查找【跳转】easymotion空格x2 w 光标之后 开头字母高亮空格x2 e 光标之后 结尾字母高亮空格x2 b 光标之前 开头字母高亮空格x2 ge光标之前 结尾字母高亮 ---- 后续输入高亮的 字母直接跳转对应的位置空格x2 j 往下空格x2 k 往上空格x2 h 密集往上空格x2 l 密集往下空格x3 j 全局查询跳转密密麻麻sneaks/S 两个字母 可以全局搜索向后搜索向前搜索因为 s 与之前的 s 删除键重复而 s 与 f键功能重叠我们把 f 键改为 s键把s键重置功能为原来 s键的功能并且避免递归调用所以这些操作处理后 f 拥有全局查找的能力s具有删除当前字符的功能sneakdz字节回车 删除 光标到该字节之间的范围保留 (开始节点结束节点]也可以使用 fdZ字节回车 删除 反向查找删除光标到该字节之间的范围 保留 [开始节点结束节点) 也可以使用 F 规律保留下标大的不保留下标小的【路径跳转】我们使用 gd 可以跳转路径对应的地址【超链接跳转】gxyiw viwp 复制一个单词 粘贴覆盖另一个数字作用dw 也可以写成 3dw或者d3w5l 向右走五格fte 搜索2fte 连续两次搜索动作使用数字的一个好处是撤销时也是一次性撤销this is an apple / c2w 光标在an上可以把apple一并删除符号命令.命令可以记忆在 insert 模式下的操作输入可实现刚刚的操作可以记忆 diw 命令A; 可以记忆/fn 字母 n 查下一个 cw 删除 cxr 新换成的字符串 可以记忆【定位】单文件使用mm来进行标记 使用 m 来进行跳转到行使用m 来跳转到行列 多文件使用mM来进行标记 使用 M 来进行跳转到行使用M 来跳转到行列可以添加多个标记 ma 要使用 a 及 a 来跳转跳转到定义 gd跳转记录 手动跳转也会记录jk与翻页不会记录 vim-sneak仅记录一次 ,可以 使用 :jumps 来查看记录ctrl o 进行回退跳转上一次的光标的位置 ctrl i 往前跳转光标记录的位置光标在 {} 跳转相应的括号处理包裹字符的符号cs现有符号要变为的符号 将现有的包裹符号变为其他包裹符号ysiw范围 { 符号 对设置的范围进行添加包裹符号ds已存在的符号将已存在的符号删除进入可视化模式选中文本 S 要设置的符号 就可以在可视化模式设置包裹符号【替换字符串】s/要替换的字符/替换成的字符 回车完成单个替换:%s/要替换的字符/替换成的字符 回车完成全局替换:5,6s/要替换的字符/替换成的字符 回车完成多个替换 这里的5,6的意思是指的行数:5,s/要替换的字符/替换成的字符回车完成多个替换这里的s/要替换的字符/替换成的字符 回车完成多个替换 这里的s/要替换的字符/替换成的字符回车完成多个替换这里的的意思是说从第5行开始包括第5行到结尾:%s/hi[4,5]/hah 回车 完成全局替换 这里的 hi[4,5] 的意思是正则匹配4或5:%s 这里的替换有曲线仅替换行内第一个匹配到的目标我们这里需要完全全局的话要在结尾加上/g :%s/vnode/hello/g:%s/hello/zaoya/c 进入问答替换模式 ynaql y: 仅替换当前弹窗不关闭后续替换进行输入进行选择 n 跳过当前 a 剩余都替换 q强制退出不替换 l 替换当前并退出可视化模式下进行替换范围编辑器已经选择好只需要我们在基础上 拼接 s/正则/替换成为的字符/g或者c 可视化模式默认全局行第一个字符替换gb 匹配到附近大小写完全相同的字符可以进行多项编辑阅读终端的帮助文档k打开 git bash 使用命令 :help s_flags: 行号 可以跳转对应的行悬浮显示光标移动到想要展示的字符上gh 退出使用 ctrl [大小写gU iw 大写光标所在字段 gu iw 小写 ~ 如果是大写变小写如果是小写变大写注释gcl 光标所在行注释 gcj 光标所在行及下一行注释gC iw 多行注释 /**/掌握窗口的管理ctrl w v 两列窗口ctrl w s 上下ctrl w jkhl 切换窗口 修改键以后 shift 方向键可以切换光标所在窗口 仅normal模式ctrl w w 两列窗口光标互换ctrl w c 关闭当前文件command k w 把当前栏的文件都关闭 没有生效 :qall 关闭所有编辑器ctrl w o 保留当前窗口关闭其他窗口 当仅有一栏窗口时不生效 :tabonly 可以保留当前tab关闭其余tabctrl p 弹出我们的文件vscode 操作窗口ctrl \ 新建窗口ctrl alt \ 向下拆分窗口黏贴 *p缩进与反缩进normal- 当前行反缩进insertCtrld- 删除缩进Ctrlt- 增加缩进visual 缩进 反缩进如何删除一个函数% 如果光标在左侧{按下%会自动匹配到右边}Python等缩进语法vii 把缩进部分选中vai 把函数名包括缩进部分选中js 选中一个函数vaI 选中函数名及函数体vii 选中函数体基于段落删除 遇到空格会隔开dap dal 这里已经配置成 dai 光标在里面删除整个函数基于配置删除 当光标在最外层删除整个函数V$%d 空df录制宏qa 键的组合 q 结束录制存入寄存器如何查看 :reg a如何调用 a 这里的 a 属于自定义名称 重复最后一次的宏执行数字寄存器 多次执行寄存器宏执行报错的时候自动停止可以利用这个机制通过输入 大数字寄存器 可以实现全部执行执行完毕多余执行命令报错停止执行qA 追加宏修改宏取出来 “ap 复制出来:put a修改 ayw仅放入当前光标到最后的内容 或者 ayy (将一行都放入寄存器)注意 光标的起始位置移动使用相对位置自定义配置 使用vim配置 vscode 命令空格fd k格式化文档空格[ 折叠函数vim 原生 zo zactrl shift e 切换资源管理器 自定义为 ctrl a 自定义配置新建文件 当光标在目录时空格 n f 自定义在当前目录下创建文件 当光标在编辑区时shift a 自定义配置新建文件夹 当光标在目录时空格 n d 自定义快捷键 创建文件夹 当光标在编辑区时d 自定义配置删除键 当光标在目录时r 自定义配置重命名键 当光标在目录时shift ctrl w 关闭vscode项目窗口ctrl alt r 重构选中函数搜索ctrl shift f 选中文字 全局搜索ctrl shift p 搜索命令ctrl shift o 在当前文件下进行搜索ctrl t 全局搜索 关键字ctrl p 全局搜索文件禅模式切换 ctrl \\