2023-11-18 17:34:43 +08:00
|
|
|
#vim
|
2023-10-11 00:46:36 +08:00
|
|
|
# Vim
|
|
|
|
少数派 obsidian vim config
|
|
|
|
https://sspai.com/post/78030
|
|
|
|
|
2023-11-18 17:34:43 +08:00
|
|
|
Vim 从入门到精通
|
|
|
|
https://www.cnblogs.com/lijia0511/p/5644566.html
|
|
|
|
|
2023-10-11 00:46:36 +08:00
|
|
|
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 可以设置 `<leader>` 键位
|
|
|
|
可以类似ChromePlugin的Vim一样, 用一些快捷键直接跳转到字符
|
|
|
|
具体其他指令可以在 Vim 插件的readme中找到, 这里我只写我常用的
|
|
|
|
我把 leader 键位设置成了 空格
|
|
|
|
- 空 + 空 + w 向后跳转到词头
|
|
|
|
- 空 + 空 + b 向前跳转到词头
|
|
|
|
- 空 + 空 + e 向后跳转到词尾
|
|
|
|
- 空 + 空 + j 向上跳转到行
|
|
|
|
- 空 + 空 + k 向下跳转到行
|
|
|
|
- 空 + 空 + f + 字母 向下搜索
|
|
|
|
- 空 + 空 + F + 字母 向上搜索
|
|
|
|
具体看: https://github.com/VSCodeVim/Vim
|
|
|
|
|
|
|
|
|