category
type
status
date
slug
summary
tags
password
Property
Jan 20, 2025 03:43 AM
icon
常用快捷键
- f+任意字符:会直接跳转到当前行的右边最近的一个对应字符,F+任意字符则是左边查找
- b:不断向左移动,每次移动跨度为一个单词
- w:不断向右移动,每次移动跨度为一个单词
- ciw:删除光标所在的那个单词,并进入
insert
模式
- yy:复制当前行字符串
- y:复制所选内容
- p:将复制内容进行粘贴
- h:光标左移,j:光标下移,k:光标上移,L:光标右移
- r:替换光标处字符
- o:换行并进入
insert
- a:在光标的右方下一个位置进入
insert
模式,也就是所谓的追加写模式
- d:删除光标所在行
- v:进入内容选择模式,配合d可以快速删除被选中的字符串
级块删除
- di”:删除”“中包含的字符串,如果想删除后进入
insert
模式,则使用ci”
各种插入模式
- s:删除光标(或者在visual模式下选中)处的字符,并进入插入模式
- S:删除当前行的所有字符并进入插入模式
- o:在当前行后新增一行,并进入插入模式
- O:在当前行前新增一行,并进入插入模式
- a:在光标后进入插入模式
- A:在本行后进入插入模式
- i:在光标开头进入插入模式
- I:在本行开头进入插入模式
编辑器分屏
:e
:sp
:在下方分屏
:vsp
:在右方分屏
- 图片描述有误:直接ctrl-w 加上hjkl即可实现上下左右窗口的切换
多行注释
idea和vscode直接用ctrl+/

跳转jump
- $:跳转到本行尾
- ^:跳转到本行头
- *:跳转到光标所在单词的下一个位置
- •
[n]h/j/k/l
数字加上方向键 代表重复运行多少次【这个功能真的强】
- gg:跳转到第一行
- G:跳转到最后一行
- •
[n]w
移动到后面 word 的开始位置,前面加上数字 代表重复多少次【b是上移,w是下移】
- e:移动到一个单词的尾部
- b:移动到一个单词的头部
- zz:调整窗口,将光标所在行显示在窗口中部
- H:移动到当前屏幕的第一行
- M:移动到当前屏幕的中部行
- L:移动到当前屏幕的最后一行
以下功能是IDEA和Vscode中特有
- gd:跳转到变量定义处,包括函数
- gD:跳转到变量在当前文件中第一次被定义的位置,如果在外部定义,只能跳转到当前文件内第一次出现的地方
- gh:相当于鼠标悬停时查看函数对应的文档信息【vscode vim特有】
有疑问的操作:
•
[n]f{word}
f
用来查找在当前行 当前光标后是否存在某个字符 {word}
如果存在则将光标移动过去。表示一次性跳转多少个目标字符
vscode 和 idea
- ctrl+0:表示聚焦到侧边栏 【vscode】
- ctrl+shift+`:新建终端
- ctrl+`:打开/关闭终端
- ctrl+p:搜索目标文件
- ctrl+tab:切换当前打开的文件
My IdeaVim config

- gu:查看使用该变量的所有文件
- tb:打断点
- ctrl +:括号展开
- ctrl-:括号合并


vscode setting.json
vscode keybindings.json
除此之外我还单独将Git插件打开快捷键设置为ctrl+shift+g+ctrl+shift+g 项目目录打开快捷键设置为ctrl+shift+p+ctrl+shift+p ctrl+0可以从编辑区聚焦到侧边栏区


- 当前terminal面板最大化ctrl+win+`,重复按下shortcut则恢复原来大小



.ideavimrc
利用AutoHotKey利用“无用”的Caps Lock
- 推荐同时按照新旧两种版本,这样会更加兼容网上不同的脚本语法
- autohotkey脚本,好像目前系统每次启动都要重新执行一次脚本
利用AutoHotKey实现PC全局Vim快捷键
- 参考文章:
温馨提示:我对原文给出的脚本做出轻微的修改
使用im-select解决NeoVim的输入切换问题

Vsocde-NeoVim使用
选择Vscode-NeoVim而抛弃VsCodeVim的理由是VsCodeVim卡顿,而且中文输入法状态下抖动(实在忍不住)。Vscode-NeoVim使用WSL2中的NeoVim做后端,完全没有这种问题,不像VsCodeVim是Vim的模拟,Vscode-NeoVim可以获得满血的NeoVim体验(awesome!!!)
- 安装VsCode-NeoVim插件(略)
- 在setting.json中配置用作后端的NeoVim
WSL2中NeoVim和系统剪切板共享问题解决
- 解决方案

- clip.exe不能识别中文、日文、emoji导致的剪切板乱码问题解决
将字符串的编码格式改为utf16刚刚好可以解决

对应解决方案中的如下代码
- References
- 作者:axiszql
- 链接:https://axiszql.com/article/ide-vscode-goland-vim
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。