-
通过十进制的 ascii 值输入字符
- 在输入模式下
- 输入 ctrl + v
- 然后再输入 065
-
通过十六进制的 unicode
- 在输入模式下
- 输入 ctrl + v
- 然后再输入
u2642
就可以通过uncode
编码输入字符
-
通过二合字符的方式插入
- 在输入模式下
- 输入 ctrl + k
- 输入
Co
可以得到©
- 输入 13 可以得到 ⅓
:digraphs
查看二合字符列表
-
寄存器计算
- 在插入状态下
- 输入 ctrl + r
- 输入
=3+3
(注意要有=
) - 得到结果 6
- 我们掌握了在 vi 中插入字符的各种方法
- 如何 vim 可以删除字符吗?🤔
删除字符
- 我们应该如何删除字符呢?
- 如果是插入状态下 del 、BackSpace 就可以删除了
- 那假如我不想切换到插入模式,我想在普通模式下就直接删除呢?
:h delete
找到在change.txt
里面有个delete
- 从默认的帮助位置,向上翻,翻到头😡
- 这个命令叫做
x
- 我理解就是
execute
处死当前字符😱 - 我们先在终端里面
ls -lah > 1.txt
- 然后
vi 1.txt
删除当前 x
- 在正常状态下,使用 x,删除当前字符
- 效果和 插入模式下 BackSpace 一样
-
尽量用x 而不用 BackSpace,因为:
-
- 正常模式移动迅速
-
- 用x 手指不离开键盘核心区
-
- 体会左右无名指,他会给你带来药师的灵感
-
- 如果想要删除多个字符的话
- 就在前面加上数字
- 比如
10x
就是删除10
个字符 - 对应帮助中的
[count]
- 而且删除了的字符,会放到寄存器
""
中 - 可以使用
:reg
查看寄存器
退格删除 X
- 帮助手册里,在
x
后面还有个X
X
的意思是向前退格
- 使用
h X
查询手册
- 最新删除的字符仍然放在
""
寄存器里面 - 其实就像 BackSpace 效果一样
- 只不过在摁像 x 顺手了之后,像 Shift+x 也很方便
- 而且前后都能删
- 下面这个就更厉害了
退格删词
- 搜索插入模式下的 CTRL + w
-
:h i_CTRL-w
:h
是查询帮助-
查询谁的帮助呢?
i_CTRL-w
的
-
i_CTRL-w
什么意思呢?i
代表insert插入模式CTRL-w
代表CTRL+w
- 要注意小写
w
具体操作
- 注意模式是插入模式
- CTRL+w之后
- 再CTRL+w之后
- 再 CTRL + w 之后
- 彻底删到头儿了
- 可以切回到正常模式试试
db
- u回来
- 再试试
d^
两行连在一起
-
想要把两行
Join
连接在一起?- 我们原来用的是插入模式下的BackSpace
- 现在试试 J(大写J)
-
这是一个正常模式下的命令
- 光标在上一行的任何位置
- 命令模式下按下J(大写J)
-
下一行和上一行连接在一起
- 然后下一行的缩进消失
- 和上一行之间有个空格
总结
- 以前知道可以在插入状态下使用 del 、BackSpace 进行删除
-
现在知道了默认状态下使用通过
x
删除字符-
可以在
x
前面使用[count]
进行翻倍- 如
10x
- 如
-
删除的字符存储在
""
寄存器中- 可以用
:reg
查看寄存器状态
- 可以用
-
-
默认状态可以使用
X
退格- 删除的字符也在
""
寄存器中
- 删除的字符也在
- 我们掌握了在 vi 中删除字符的各种方法
- 还有没有更快速删除字符的方法呢?🤔
- 下次再说 👋
[Github地址] (https://github.com/overmind1980/vimtutorial)
[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)