ObsidianNotes/vim.md

102 lines
3.0 KiB
Markdown

#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 跳转到index2的行
- 其他类似
### 组合2
- 操作符 + w/b/p
## VsCode中
### 多指针
### surround
- s surround 包含符号 比如 s" a"Test"b 选中 ""
- ysiw + 符号 可以把词用双引号套住 我不明白为什么可以 但是就是可以
### 打开VimSetting中的 vim.easymotion 的话
然后设置 vim.leader 可以设置 `<leader>` 键位
可以类似ChromePluginVim一样, 用一些快捷键直接跳转到字符
具体其他指令可以在 Vim 插件的readme中找到, 这里我只写我常用的
我把 leader 键位设置成了 空格
- + + w 向后跳转到词头
- + + b 向前跳转到词头
- + + e 向后跳转到词尾
- + + j 向上跳转到行
- + + k 向下跳转到行
- + + f + 字母 向下搜索
- + + F + 字母 向上搜索
具体看: https://github.com/VSCodeVim/Vim