vi/vim复制粘贴命令
- 选定文本块。使用v进入可视模式,移动光标键选定内容。
- 复制的命令是y,即yank(提起) ,常用的命令如下:
y 在使用v模式选定了某一块的时候,复制选定块到缓冲区用;
yy 复制整行(nyy或者yny ,复制n行,n为数字);
y^ 复制当前到行头的内容;
y$ 复制当前到行尾的内容;
yw 复制一个word (nyw或者ynw,复制n个word,n为数字);
yG 复制至档尾(nyG或者ynG,复制到第n行,例如1yG或者y1G,复制到档尾)
- 剪切的命令是d,即delete,d与y命令基本类似,所以两个命令用法一样,包括含有数字的用法.
d 剪切选定块到缓冲区;
dd 剪切整行
d^ 剪切至行首
d$ 剪切至行尾
dw 剪切一个word
dG 剪切至档尾
- 粘贴的命令式p,即put(放下)
p 小写p代表贴至游标后(下),因为游标是在具体字符的位置上,所以实际是在该字符的后面
P 大写P代表贴至游标前(上)
整行的复制粘贴在游标的上(下)一行,非整行的复制则是粘贴在游标的前(后)
注:
在正则表达式中,^表示匹配字符串的开始位置,$表示匹配字符串的结束位置。
命令前面加数字表示重复的次数,加字母表示使用的缓冲区名称。使用英文句号"."可以重复上一个命令。
在复制粘贴时,另一组常用的命令是u(撤销操作),U(撤销某一行最近所有修改),Ctrl+R(重做),这些功能主要是vim中的,vi中略有差别
Vim的光标移动快捷键
I:光标移至行首并进入编辑模式
A:光标移至行尾并进入编辑模式
向前移动
光标停留在下个单词词首
w:每次一个单词
W:每次一个字符串
光标停留在下个单词词尾
e:每次一个单词
E:每次一个字符串
向后移动
光标停留在前个单词词首
b:每次一个单词
B:每次一个字符串
注:
“每次一个字符串”代表每次移动都以空格为单位,分割的字符串,比如’/tmp/tmp_file.txt’就是一个字符串,这里面的tmp和tmp_file还有.
\
都是单个单词
翻页
整页翻页
向前→:Ctrl + f(forward)
向后←:Ctrl + b(backward)
半页翻页:
向前→:Ctrl + d(down)
向后←:Ctrl + u(up)
滚动一行:
向前→:Ctrl + e
向后←:Ctrl + y
按照当前光标的位置,移动屏幕
zz:让光标所在行移动到屏幕中间
zt:让光标所在行移动到屏幕顶端(top)
zb:让光标所在行移动到屏幕底端(bottom)