83 lines
2.9 KiB
Markdown
83 lines
2.9 KiB
Markdown
#vim
|
|
A Vim
|
|
https://www.youtube.com/watch?v=GEHPiZ10gOk
|
|
插件
|
|
https://www.youtube.com/watch?v=NJDu_53T_4M
|
|
|
|
## 常用
|
|
- C + w + s or C + w + v 分屏
|
|
- `C+\`Terminal
|
|
- 窗口导航
|
|
- <C>+ (hjkl)
|
|
- <C>+ 方向键 窗口大小改变
|
|
- leader b 标签导航
|
|
- 退出
|
|
- leader + q
|
|
- :q
|
|
- leader + e 文件树
|
|
- leader s 搜索
|
|
- leader f 打开文件
|
|
- 搜索
|
|
- / 向后搜索, 其中 `\<value\>` 代表整词搜索
|
|
- ? 向前搜索
|
|
- 搜索输入完毕后, 按回车, 然后按n 可以下一个
|
|
- 替换
|
|
- `:查找的范围s/要替换的内容/替换后的内容/可选项`
|
|
- 范围
|
|
- % : 当前文件
|
|
- 5,$ : 从第5行到结尾
|
|
- 5,7 : 从第5行到第7行
|
|
- s : subsitute 替换操作
|
|
- 内容: 可以用正则表达式
|
|
- 可选项:
|
|
- g 代表global 全局替换
|
|
- c : confirm 确认
|
|
- p : 替换结果逐行显示
|
|
- i : 不区分大小写
|
|
- 无 : 近对每行第一个匹配串进行替换
|
|
- 高级
|
|
- 如果需要替换的东西包含`/` 可以用 `#` 替代 `/`
|
|
- `:g/a/d` 找到所有包含a的行 删除
|
|
- `:g/^$/d` 找到所有空行 删除
|
|
-举例
|
|
- :%s/a/b/g 替换当前文档中的 所有 'a' 替换为 'b'
|
|
- :12,13s/a,b/g 替换当前文档中的 12行到13行的 'a' 替换为 'b'
|
|
- :12,$s/a/b/g 替换当前文档中的 12行和之后的所有'a' 替换为 'b'
|
|
- `:%s/\<leader\>/a/gc` 全字替换当前文档中所有的 leader 为 a ,并且逐一确认进行替换
|
|
|
|
- 进入编辑模式可以用 i a o s O S C
|
|
- 但是还有实用的 A I 分别可以在尾行和首行插入
|
|
- 撤销与重做 u `<C+r>`
|
|
- 递进与回退 `<C+.>` `C+,>` 这里可以组合其他按键使用 比如组合键加数字键 但是这个组合键要按两次,不知道为啥
|
|
- 翻页可以用 `<C+d>` `<C+f` `<C+u>` `<C+b>`
|
|
> tips: 以上的 C 都是 Control 的意思 `<>`代表组合键
|
|
|
|
- <Alt+3> or `<C+\>` 都是打开控制台
|
|
- <Alt+1> or <Alt+2> 也可以但是比较小不适合打开lazygit
|
|
- K 悬浮信息
|
|
- gd gD gr gI gs gl 这些都是lsp有关内容
|
|
- gb 是块注释 可以组合其他键, <leader+space>是单行注释
|
|
- <Alt+k> 或 <Alt+j> 是类似vscode的行移动
|
|
- Insert时
|
|
- <C+Space> 和vscode一样是代码补全提示
|
|
- <C+j> <C+k> 上下翻页,我更推荐使用方向键or<Tab>
|
|
- <Leader> + g + g 快速打开lazygit
|
|
- <Leader> + b + 其他tag跳转
|
|
|
|
|
|
TreeSetter安装不同语言:
|
|
:TSInstall+tab 可以搜索自己想要安装的语言, 安装即可
|
|
|
|
:MarkdownPreview 实时在浏览器中浏览markdown
|
|
|
|
## Reference
|
|
|
|
[好用视频教程](https://www.youtube.com/watch?v=l-P6COY7GeQ)
|
|
lazygit 挺好用
|
|
|
|
[vim 快捷键](https://devhints.io/vim)
|
|
|
|
[Lunarvim 特殊快捷键](https://www.lunarvim.org/zh-Hans/docs/master/beginners-guide/keybinds-overview)
|
|
|
|
[有关Godot和Lunarvim如何结合使用](有关Godot和Lunarvim如何结合使用.md)
|