show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
-
通过十进制的 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,删除当前字符
- 效果和 插入模式下 BackSpace 一样
- 尽量用x 而不用 BackSpace,因为:
-
- 正常模式移动迅速
-
- 用x 手指不离开键盘核心区
-
- 体会左右无名指,他会给你带来药师的灵感
-
- 如果想要删除多个字符的话
- 就在前面加上数字
- 比如
10x
就是删除10
个字符 - 对应帮助中的
[count]
- 而且删除了的字符,会放到寄存器
""
中 - 可以使用
:reg
查看寄存器
- 帮助手册里,在
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 中删除字符的各种方法
- 还有没有更快速删除字符的方法呢?🤔
- 下次再说 👋