为什么vim中按yyy,会复制两行

为什么vim中按yyy,会复制两行,第1张

只会复制一行 前两个 yy 复制当前行。后面一个y 指令未完成复制的东西和你输入的下一个字符有关。
如果是 yl 或者 yh 只会复制当前字符加上一个向右或向左1个字符
如果是yj或 yk 会复制当前行加上向下或向上一行这就是两行。
只有三个y 是不完整的指令。不信的话你输入 yyyp 看看能粘帖出什么东西。yp什么也不会发生因为是错误的指令。yyypp 会粘帖当前行。等同于 yyp。

如果没有图形界面的话就使用vi中的命令来进行拷贝,命令如下:
yy复制当前行
yw复制一个单词
y$复制光标到结尾
y^复制光标到行首
#yy复制#行
#yw复制#个单词
m,ny复制m到n行内容。
有图形界面的时候还可以使用右键复制粘贴
选中需要复制的文本,然后右键
copy。到需要粘贴的地方paste

j ——向下移动

k ——向上移动

h ——向左移动

l ——向右移动

x ——删除当前字符

3x ——从当前光标算起,向右删除3个字符

X ——删除当前光标前的一个字符

3X ——向左删除3个字符,不包括当前光标

dd ——删除当前行

3dd ——从当前行算起,向下删除3行。

D ——删除当前字符至行尾

yy ——复制当前行

yyp ——复制当前行并插入下一行

w ——向右移动一个单词

3w ——向右移动3个单词

b ——向左移动一个单词

3b ——向左移动3个单词

e ——光标向右移动到下一个单词的最后一个字符上,默认先移动到本单词的最后一个字符再跳到下一个单词的最后一个字符。

ge ——光标向左移动,具体同上。 sublime上不支持

$ ——移动到行尾

3$ ——移动到第三行行尾,这里的第三行指的是从光标最开始所在的行数为第一行,向下移动到第三行

^ ——移动到当前行的非空白字符上

0 ——移动到行首,同home键

f某个字符 ——向右移动到当前行的某个字符上,光标停留在被搜索字符上忙。若有多个,默认在第一个上面

3f某个字符 ——若有多个,向右移动到当前行的某个字符的第三个位置。若输入的数字超过当前行的某个字符个数,则光标停在某个字符的最后一个位置。

F某个字符 ——向左,具体同上

3F某个字符 ——向左,具体同上

t某个字符 ——向右移动当前行的某个字符上,光标停在被搜索的字符的前一个字符上面

T某个字符 ——向左移动当前行的某个某个字符上,光标停留在被搜索字符的后一个字符上面

% ——光标跳到与当前光标相匹配的光标处,若光标不在括号上,会向左查找,直到停在括号上。

G ——跳到最后一行,且光标定位到最后一个字符上

3G ——跳到第三行,且光标定位到第一个字符上

gg ——跳到第一行,且光标定位到都一个字符上,同1G

30% ——跳到总行数的百分百位置。

i ——在光标前插入

I ——在光标行首插入

a ——在光标后插入

A ——在光标行尾插入

o ——在当前行之后插入一行

O ——在当前行之前插入一行

r某个字符 ——将光标所在位置替换成某个字符

命令模式下输入

ggyG

gg是把光标跳到跳到第一行第一个非空的字符,一般就是跳到整个文件的开头。

y是复制,G是动作,yG合起来就是从当前行复制到最后一行。

整行复制(将一行复制到寄存器):yy
多行复印(复制3行):3yy
复制一个单词:yw
粘贴在光标后:p
粘贴在光标前:P
vim中还有一种可视模式,可以任意选择块:
按v,然后移动光标,就可以看到选择的块,再次按v,结束选择,被先的块放入了寄存器中,可以用p粘贴到你想要的地方。
还可以用CTRL-V选择方框,再次按CTRL-V完成选择。
注:VIM的各种功能都极强大,建议弄本手册,随时翻翻


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12692370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存