ObsidianNotes/vim.md

2.9 KiB

Vim

少数派 obsidian vim config https://sspai.com/post/78030

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
  • : 命令模式

指针移动

普通模式:操作符 + 动作

可组合操作符号

  • 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 可以设置 <leader> 键位 可以类似ChromePlugin的Vim一样, 用一些快捷键直接跳转到字符 具体其他指令可以在 Vim 插件的readme中找到, 这里我只写我常用的 我把 leader 键位设置成了 空格

  • 空 + 空 + w 向后跳转到词头
  • 空 + 空 + b 向前跳转到词头
  • 空 + 空 + e 向后跳转到词尾
  • 空 + 空 + j 向上跳转到行
  • 空 + 空 + k 向下跳转到行
  • 空 + 空 + f + 字母 向下搜索
  • 空 + 空 + F + 字母 向上搜索 具体看: https://github.com/VSCodeVim/Vim