02.Vim
Vim
三个模式
指令列模式
命令 作用 :w 写入磁盘 :w! 当文件为只读时,强制写入磁盘。到底能不能写入,与用户对该文件的权限有关 :q 离开 :q! 强制离开不保存 :wq 写入磁盘后离开 :wq! 强制写入磁盘后离开 :行号 跳转到某一行
一般命令模式
移动光标
- l or 右箭头 : 向右移动一个字符
- h or 左箭头 :向左移动一个字符
- j or 下箭头 :向下移动一行
- k or 上箭头 :向上移动一行
- 0 (零按键):移动到当前行的行首。
- ^:移动到当前行的第一个非空字符。
- $:移动到当前行的末尾。
- w:移动到下一个单词或标点符号的开头。
- W:移动到下一个单词的开头,忽略标点符号。
- b:移动到上一个单词或标点符号的开头。
- B:移动到上一个单词的开头,忽略标点符号。
- e: 跳到本单词或下一个单词的结尾
翻页
- Ctrl-f or Page Down:向下翻一页
- Ctrl-b or Page Up : 向上翻一页
光标搜索跳转可以用在增删改查
- f [char] : 光标跳到当前行下一char所在的位置,F:跳到上一个
- t[char] : 光标跳到d当前行下一char的前一个所在的位置,T:跳到后一个所在的位置
- , :反向查找上次的查找命令
- ;:重复上次的字符查找操作
- numberG :移动到第 number 行。例如,1G 移动到文件的第一行。
- G : 移动到文件末尾。
插入
- i:在光标前插入
- I:在行首插入
- a:在光标后插入
- A:在行尾追加字符
- o :当前行的下方打开一行。
- O :当前行的上方打开一行。
复制粘贴查找撤销
- 撤销:u
- 剪切:d
- 删除并进入写入:c
- 复制:y
- 粘贴:p
文本删除
- x:当前字符
- 3x:当前字符及其后的两个字符。
- dd: 当前行。
- 5dd:当前行及随后的四行文本。
- dW:从光标位置开始到下一个单词的开头。
- d$: 从光标位置开始到当前行的行尾。
- d0:从光标位置开始到当前行的行首。
- d^:从光标位置开始到文本行的第一个非空字符。
- dG:从当前行到文件的末尾。
- d20G:从当前行到文件的第20行
动作:快速选中一些字符
- i ” : 选中两个”之间的字符,不包含“
- a “ : 选中两个“ 之间的字符,包含”
- iw:选中当前光标所在的单词,不包含单词前后的空格
- aw:选中当前光标所在的单词,包含单词前后的空格
- i ( : 选中()之间的字符,不包含(
- a( : 选中()之间的字符,包含(
- 类似的还有:< { ‘ ` [ t(tag)
切换大小写
- ~ 切换当前光标下的大小写
- 3~ : 从光标位置开始的三个字母改变其大小写
- g ~~: 改变当前行的大小写
- gUU : 将当前行改为大写
- guu :将当前行改为小写
- gUaw : 将光标下的单词改为大写
- guaw :将光标下的单词改为小写
tips
- 进入函数 : gd
- 查看函数签名:gh
- 跳回到上一个函数: ctrl + o
- 切换标签页: g T/t
- 跳到文件区域:ctrl + 0 (零)
- 分屏跳转:ctrl + 2
- ds [char] : 删除当前行左右两侧的char
- cs [char1] [char2] : 将当前行的左右两侧的char1 替换为char2
- ys 动作 [char] 在动作两边添加char
指令列模式:
- 显示行号: set nu
02.Vim
https://x-leonidas.github.io/2022/02/01/13Linux/02.Vim/