自用)"/>
Vim快捷键(自用)
自用。保存一下自己常用的快捷键
Vim 常用快捷键
光标移动
- 0 → 回到当前行开头(然后可以方便得用f 来跳转)(为了方便使用,我用的 H键替换)
- $ → 移动到行尾(为了方便使用,我用的 L键替换)
- w → 往右移动一个单词
- b → 往左移动一个单词
- e → 移动到下一个单词的末尾
- ; 重复上次的搜索操作
- ctrl d 向上移动半个屏幕
- Ctrl u 向下移动半个屏幕
- { 跳到下一个段落, } 上一个段落(vim中使用一行空行空白行表示不同段落)
- % 跳转到与单括号匹配的另一个括号处
- n + Enter 往下移动n行
查找,跳转(用easymotion更快)(查找并替换可以用substitute命令)
- f → 行内搜索 f r → 搜索本行内下一个r 。F 向前查
- t → 行内搜索 t r → 光标跳转到字符 r 的前一个字符上。T 向前查
- , ;经常和 f 查找一块使用(f 查找之后 ;可以查找下一个 , 可以查找上一个)
- / 是全部搜索,显示多个结果,n → 跳转到下一个 N → 跳转上一个(查找后 查找内容会一直高亮显示,想去掉高亮就 :nohlsearch,也可简写成 noh )
-
- 也是全局搜索,搜索当前光标所在的这个单词
- % 括号匹配
- g (go 的意思)
- gd (go to define) 相当于 idea 中的函数跳转(按住Ctrl点鼠标) ctrl o 返回
- gf (go to file)跳转到当前光标所表示的文件
- 数字+G 或者 :+数字,移动到对应行数
- g; → 跳转到上次修改过的地方,可以多次按,就能找到前几处修改的地方。(ideavim 并不能用这个功能)
复制 - yy → 复制一整行
- yny → 复制n行
- yi( 复制在括号中的东西
- yt? (yank to ?)→ 复制当前光标字符直到?字符为止(包括当前光标,不包括?)
- ggyG → gg跳转到第一行首字母处,y复制,G到页面最后处 → 结合起来就是,复制本页的所有内容
插入 - a (append) → 直接在当前光标的后面去插入
- A → 向当前行最后面插入
- i (insert) → 在光标前插入
- I → 向当前行最前面插入
- o (open a line ,新开一行) → 普通模式下直接换行并切换到insert模式开始输入
- O → 将光标所在的这一行清空,原来的内容往下顺延一行
删除 粘贴
- dd → 删除一整行
- ddp → 上下两行换位置
- dw → 删除当前光标 到 此单词结尾的所有字符
- diw → 删除当前单词
- daw → 删除当前单词及后面跟着的空格
- dap → 删除一个段落(vim中用空一行表示不同的段落)
- 域内操作
- 域内删除 di’ (delete in ’ ’ 内的东西)
- cc → 删除一整行并进入编辑模式
- cw → 删除当前光标到这个单词结束的所有字符并进入插入模式
- ciw → 删除光标所在单词,不包含后面的空格,并进入插入模式
- caw → 删除光标所在单词,包含后面的空格,并进入插入模式
- p → 粘贴在游标下一行
- P → 粘贴在上一行
- 与系统剪切板连通后,在 insert 模式下,可以 Ctrl r + 三个字符来粘贴
- x → 删除光标下的单个字符
- xp → 先删除当前字符,再粘贴 → 相当于让当前字符及后面的字符调换顺序
- s → 删除光标下的单个字符并进入插入模式
修改 撤销
- ciw (change in word) → 修改单词(即删除单词)
- u → 撤销操作
- substitude 替换命令(后面有详细介绍,此处简单提一嘴)
- 替换本行的所有 + 为 ,→ 😒/+/,/g
- r 在不进入插入模式的情况下修改当前光标的字符,在 视图模式下也可以用(替换模式,下面有解释)
- R → 进入替换模式 → 然后再进行修改
注释(插件vim-commentary的功能)
vscode不需要设置就能直接用,
ideavim 还需要再 vimrc 文件中添加一下配置:
set commentary
不知道为啥?(弄了半天,还是去问的chatgpt 才解决,真好使)
- gcc 单行注释
- gcap 注释整个段落
- 先找到 { → gc% → 注释整个方法
- gc?k 向上注释?行,同理 gc?j 向下注释 ?行,gc} 从光标到下个} 全部都注释掉
- Ctrl V 进入块模式 → j , k 选行 → 大写 I 插入 → esc 退出(注意,是Ctrl V,不是shift V,但是由于 Ctrl V经常用来粘贴,习惯了,所以在我一般是禁用了)
其他常用快捷键
- vscode-vim
- gt 下一个标签页
- gT 上一个标签页
- . 重复上次的修改操作(这个功能很强大,详见后面的技巧)
- Ctrl d:窗口向下滚动N行,默认滚动窗口行数的一半。
- ctrl f 也是翻页
- gh 函数提示,参数提示
- :h i 查看命令帮助
- viw (选中一个单词,不包含单词前面的空格)
- vaw 选中一个单词,包含单词前面的空格
- gu 将当前光标选中字符小写,gU 将当前光标选中字符大写,可以配合 iw等 使用
- gUiw → 把当前光标所在的单词全部大写
- ysiw) → 会把当前光标所在的此用 ()包裹起来(yank surround in word () )
- cs)] → 把包裹该词的()替换成 [ ] (change surround ()【】)
- ds) → 把包裹该词的()给删掉 (delete surround ())
更多推荐
Vim快捷键(自用)
发布评论