vim 入门级需要了解的一些快捷键
Vim 学习笔记
其实比较主要的是习惯 hjkl 移动光标而不是箭头,然后使用 ctrl + [ 或者 ctrl + o 切换插入和普通模式,最后常用 ctrl + h 或者 ctrl + w 删除少用 delete 这样你的手在键盘上的移动距离会显著减少。然后慢慢熟悉各种快捷键,就会越来越快
普通模式的一些操作
普通模式指的是代码区域的默认状态
常用快捷键:
- . 命令重复上次修改
- > 添加缩进
- < 取消缩进
- x 删除当前字符
- dd 删除当前行
- i 在当前字符前插入
- a 在当前字符之后插入
- o 在下一行插入
- O 在上一行插入
- h 将光标往左移动一个字符, 此命令可以加一个数字前缀
- l 将光标往右移动一个字符, 此命令可以加一个数字前缀
- j 将光标移动到下一行, 此命令可以加一个数字前缀
- k 将光标移动到上一行, 此命令可以加一个数字前缀
- ^ 将光标移动到行首
- $ 将光标移动到行尾
- gg 将光标移动到文件第一行
- G 将光标移动到文件最后一行
- 20G 将光标移动到第20行
- 10gg 等于 10G
- ctrl + o 跳转到上一个位置
- ctrl + i 跳转到下一个位置
- u 撤销
- yy 复制当前行
- 5yy 复制五行
- p 粘贴
- 5p 粘贴五次
- f 将光标移动到下一个输入的字符前(搜索字符) , 前一个 ; 后一个
- F 将光标移动到上一个输入的字符前(搜索字符) , 后一个 ; 前一个
- * 查找下一个单词
- b 移动到单词开头
- c 重写当前行
- R 替换模式
- 0 行首
- 0w 相当于 ^
复合快捷键
- A = $a 移动到行末
- I = ^i 移动到行首
- J = ji + delete
- O = ki + enter
- s = x + i
多键操作
- daw 也可以删掉一个单词
插入模式的一些操作
- ctrl + u 删除当前行
- ctrl + w 删除前一个单词
- ctrl + h 删除前一个字符
- ctrl + [ 切换到普通模式, 相当于 esc
- ctrl + o 从插入模式切换到普通模式,输入一个命令后切换回插入模式
可视模式
- V 开启面向行的可视模式
- 10V 选中十行
- gv 选中上一次的选区
- o 选到一半发现开始或者结束的位置时按 o 可以修改起始位置
- = 自动对齐
- 可视模式可以使用大部分普通模式的快捷键比如 hjkl ctrl+[ 等等
命令行模式
常用命令
- :s/abc/bac 将当前行的 abc 替换为 bac
- :/abc 在文档中查找下一个 abc, 查找模式下 n 下一个 N 上一个
- :?abc 在文档中查找上一个 abc, 查找模式下 n 下一个 N 上一个
- :12 跳转到第12行
- :1,20 1-20行 但是实际上光标会移动到 20
- :. 当前行
- :% 表示所有行
- :ctrl + d
常用设置
- :\set nu 显示行号
- :\set hls 显示高亮
本作品采用《CC 协议》,转载必须注明作者和本文链接
:+1: 呐,这个就叫专业
phpstorm + IdeaVim = 世界上最好的php编辑器
尽量减少组合键, 用起来会更舒服
在
Jetbrains
系列的编辑器中, 可以通过键入:actionlist
命令查看ide
操作与vim
命令的映射表, 然后就可以通过添加vim
映射的方式来调用ide
的功能, 比如:最最核心的一个映射:
vimrc 配置分享
我现在有意识的使用
Ctrl-n/p/f/b
来移动光标,许多编辑不是远距离移动,用 vim 还要切换模式。其他的最常用的是<action>i/a<range>
,比如ci(
、ci"
直接删除括号、双引号内的内容重新编辑,ca(
、ca"
会把括号、双引号也一并删除。很棒