oeasy教您玩转vim - 39 - # 剪切粘贴
剪切粘贴
回忆上节课内容🤔
我们大幅度地复习了整个
motion
:直接运动
hjkl
行运动
首行gg
末行G
第n行nG
单词运动
wbe
w是到下一个
word
的开头b是到当前
word
的开头e是到当前
word
的结尾除了
word
之外还有WORD
行头行尾
^是到本行第一个非空字符
0是到本行第一个字符,不管是不是空格
g_是到本行最后一个非空字符
$跳到本行最后一个字符,即使他是空格
行内跳跃和贴靠
向
前
跳跃是f向
后
跳跃是F向
前
贴靠是t向
后
贴靠是T全文查找
查找的话就是/
反向查找的话就是?
文本区块
{、}按段落移动
(、)按句子移动
这些
motion
都可以d配合使用,完成快速删除的工作过程中还可以使用
[count]
进行翻倍删除的内容,放在
""
寄存器中可以配合重复.
而且以前的一些命令可以有了新的理解
回忆过去
一些原来的操作可以有了新的写法
D 对应的d$
x 对应 dl
X 对应 dh
体会多多运动左手无名指的快乐
删除的内容,放在
""
寄存器中那这个东西删了
放在寄存器里
我想粘贴到别的地方
怎么办呢?🤔
关于粘贴
粘贴的话,应该离这个删除
d
的位置不远h d
找到剪切的帮助文件在change.txt
文件中的
5.copying and moving text
中可以找到p应该就是粘贴对应的命令

不是
paste
p
对应的是put
放上去把什么放上去呢?
把
d
到寄存器的东西放上去
动手 👊
我们试一试
我们输入一行
oeasy
然后对他进行dd这个时候
oeasy
这一行就进入了寄存器""
了然后p一下,就会出现一个
oeasy
9p就会出现
9
行oeasy
真的可以!!!🤪
但是这里面有两个p
一个叫做p说是
after cursor
另一个叫做P说是
before cursor

啥意思呢?
上下
先都删除ggdG
我们首先把标尺调出来
:ru
然后插入
1
行9
个1
9
i进入插入模式
输入
1
esc退回到普通模式
o换行回车
然后再插入
1
行9
个2
把插入2这个事重复
8
次先esc进入正常模式(目的是打断输入状态)
i进入插入模式
输入
2
esc退回到普通模式
8.
o换行
esc
然后再尝试插入
1
行3
方法和上面一样
最后插入一行
oeasy
并用dd把他删除
也就是把他放到了
""
默认寄存器里面了

体会上下
我们把光标移动到第
2
行p这个时候
寄存器
""
中的oeasy
会放到2222222...
的下
面

用u撤销刚才的操作
我们再试试P,大写的这个
我们把光标移动到第
2
行P这个时候
寄存器
""
中的oeasy
会放到2222222...
的上
面

他怎么知道这是一行?
细节
如果寄存器里面的不是一整行呢?🤔
我们先
:reg
看一下寄存器""

寄存器中除了
oeasy
还有个^J
意思是包括换行符我们这次不用dd
我们用d$
motion
是$
意味着到行尾这样就把
oeasy
放进了寄存器""
看一下
:reg
^J
换行这个消失了!p一把!

这个p也分大小写么?
前后
把光标移动到
222222...
第5
个2
然后p

他就在第
5
个2
后面
插入寄存器内容u回来,还放在第
5
个2
上然后P
他就在第
5
个2
前面
插入

常规操作

dw是删除单词
这里删的没有换行符
注意把后面的空格也删除了
一并放入寄存器
wel是移动位置
下一个word头 到 to的t
下个word尾 到 to的o
向右一格 到空格
p是粘贴到光标之后
常用的交换字符

x删除当前字符
p是在后面粘贴
总结
我们这次的内容是粘贴
粘贴的内容是
:reg
中的内容内容放在
""
寄存器中如果
:reg
删除的是一整行或者多行那么粘贴的时候就在当前行上面或者下面粘贴
如果
:reg
删除的是不包括换行符那么粘贴的时候就在当前位置前面或者后面粘贴
p
那么在光标后面粘贴
那么在光标下面粘贴
如果剪贴板里面是行
如果剪贴板里面不是行
P
那么在光标前面粘贴
那么在光标上面粘贴
如果剪贴板里面是行
如果剪贴板里面不是行
大小写对应的是粘贴位置
有了删除和粘贴,我们其实可以做剪切的操作了
但是如果我想要复制粘贴,那应该怎么办呢?🤔
下次再说 *
[Github地址] (https://github.com/overmind1980/vimtutorial)
[Gitee地址] (https://gitee.com/overmind1980/vimtutorial)
[蓝桥实验楼 邀请码FJWYIMGB] (https://www.lanqiao.cn/courses/2840)