‘壹’ 如何把内容从Vim里复制出来
在正常模式中输入:,进入命令模式,执行下面的命令
set clipboard+=unnamed
此命令的作用是,设置Vim与Windows共用剪贴板,这样就可发把内容从Vim里复制出来啦
你可以把“set clipboard+=unnamed”命令加入vimrc配置文件中,使其永久生效。
‘贰’ 如何将vim中的内容复制到命令行
在命令行下输入命令:
vim --version | grep clipboard
看一下输出结果中clipboard前面是+还是-,如果是+,这就意味着vim是可以与系统共享剪切板的。剪切板在vim中也是一个寄存器,它的名字是 * ,也就是一个双引号。使用方法是,比如你想将一行的内容复制到剪切板中,选中内容后,按下 。
"*y (也就是一个双引号,一个星号,一个字母y),这样选中的内容就被复制到剪切板中了,选中文本的方法是使用vim的visual模式。
‘叁’ vim 下粘贴复制,如何做到最快
这个问题还是要具体问题具体分析。
先说一下,在vim中常用的复制粘贴方法:
可以利用系统的粘贴板,ctrl+c和ctrl+v
vim的yy和p命令
利用vim的各种寄存器,其实上面的yy和p也是用到了寄存器。
再说一下,常用的一些场景:
需要从别的地方复制粘贴到vim里,比如浏览器上的一段代码;
在vim中,同一个文件,从一处复制粘贴到另一处;
第一种场景可以通过ctrl+c和ctrl+v粘贴,但是会有效率问题,如果大量文本粘贴会很慢甚至导致vim卡死,可以用vim的加号寄存器进行粘贴。
第二种场景可以直接用y和p进行复制粘贴,或者在编辑模式下用鼠标选中ctrl+c加ctrl+v也是很快的,而且如果配合上一些终端可以设置选中即复制的功能会更快。
所以,提问者所说的最快,对于第一种场景看文本量,第二种场景看你复制的内容是什么样的,如果是复制一行,yy最快,如果复制一段,y和鼠标都很快。
‘肆’ linux vim命令详解
在vim中使用宏是非常方便的:
:qx 开始记录宏,并将结果存入寄存器x
q 退出记录模式
@x 播放记录在x寄存器中的宏命令
稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模
式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,表示要重复多少次,比如@x20,可以重复20次。这个在文本的批处理中是非常有用的。
同时编辑多个文件
在vim众多的插件中,有一个叫minibuffer的插件,就是下面所说的标签页功能了,可以支持同时编辑多个文件。 《Linux就该这么学》学习更多linux知识。
标签命令
:tabe fn 在一个新的标签页中编辑文件fn
gt 切换到下一个标签页
gT 切换到上一个标签页
:tabr 切换到第一个标签页
:tabl 切换到最后一个标签页
:tabm [N] 把当前tab移动到第N个tab之后
对,正如你所想象的那样,跟eclipse, ue等的标签页是一个意思!
窗口命令
ctrl+w s 水平分割窗口
ctrl+w w 切换窗口
ctrl+w q 退出当前窗口(由于同时有多个文件,此命令不会影响其他窗口)
ctrl+w v 垂直分割窗口
其他
vim在保存之前不会对文件做实际的修改,只是加载到缓冲区中,对文件的编辑其实是对缓冲区的编辑,直到:w时才会存入物理文件。
:e file 把file加载到新的缓冲区中
:bn 跳转到下一个缓冲区
:bd 删除缓冲区(关闭文件)
:sp fn 分割窗口,并将fn加载到新的窗口中
退出编辑器
:w 将缓冲区写入文件,即保存修改
:wq 保存修改并退出
: x 保存修改并退出
:q 退出,如果对缓冲区进行过修改,则会提示
:q! 强制退出,放弃修改
查找替换
/pattern 向后搜索字符串pattern
?pattern 向前搜索字符串pattern
n 下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)
N 上一个匹配(同上)
:%s/old/new/g 搜索整个文件,将所有的old替换为new
:%s/old/new/gc 搜索整个文件,将所有的old替换为new,每次都要你确认是否替换
复制粘贴
dd 删除光标所在行
dw 删除一个字(word)
x 删除当前字符
X 删除前一个字符
D 删除到行末
yy 复制一行,此命令前可跟数字,标识复制多行,如6yy,表示从当前行开始复制6行
yw 复制一个字
y$ 复制到行末
p 粘贴粘贴板的内容到当前行的下面
P 粘贴粘贴板的内容到当前行的上面
]p 有缩进的粘贴,vim会自动调节代码的缩进
“a 将内容放入/存入a寄存器,可以支持多粘贴板
附:比如常用的一个寄存器就是系统寄存器,名称为+,所以从系统粘贴板粘贴到vim中的命令为”+p,注意此处的+不表示操作符,二十一个寄存器。
移动光标
在vim中移动光标跟其他的编辑器中有很大的区别,不过一旦学会了,就会飞速的在文本中移动了。
h,j,k,l 上,下,左,右
ctrl-f 上翻一页
ctrl-b 下翻一页
% 跳到与当前括号匹配的括号处,如当前在{,则跳转到与之匹配的}处
w 跳到下一个字首,按标点或单词分割
W 跳到下一个字首,长跳,如end-of-line被认为是一个字
e 跳到下一个字尾
E 跳到下一个字尾,长跳
b 跳到上一个字
B 跳到上一个字,长跳
0 跳至行首,不管有无缩进,就是跳到第0个字符
^ 跳至行首的第一个字符
$ 跳至行尾
gg 跳至文件的第一行
gd 跳至当前光标所在的变量的声明处
[N]G 跳到第N行,如0G,就等价于gg,100G就是第100行
fx 在当前行中找x字符,找到了就跳转至
; 重复上一个f命令,而不用重复的输入fx
tx 与fx类似,但是只是跳转到x的前一个字符处
Fx 跟fx的方向相反
),( 跳转到上/下一个语句
* 查找光标所在处的单词,向下查找
# 查找光标所在处的单词,向上查找
`. 跳转至上次编辑位置
在屏幕上移动
H 移动光标到当前屏幕上最上边的一行
M 移动光标到当前屏幕上中间的一行
L 移动光标到当前屏幕上最下边的一行
书签
ma 把当前位置存成标签a
`a 跳转到标签a处
编辑
r 替换一个字符
J 将下一行和当前行连接为一行
cc 删除当前行并进入编辑模式
cw 删除当前字,并进入编辑模式
c$ 擦除从当前位置至行末的内容,并进入编辑模式
s 删除当前字符并进入编辑模式
S 删除光标所在行并进入编辑模式
xp 交换当前字符和下一个字符
u 撤销
ctrl+r 重做
. 重复上一个编辑命令
~ 切换大小写,当前字符
g~iw 切换当前字的大小写
gUiw 将当前字变成大写
guiw 将当前字变成小写
>> 将当前行右移一个单位
<< 将当前行左移一个单位(一个tab符)
== 自动缩进当前行
插入模式
i 从当前光标处进入插入模式
I 进入插入模式,并置光标于行首
a 追加模式,置光标于当前光标之后
A 追加模式,置光标于行末
o 在当前行之下新加一行,并进入插入模式
O 在当前行之上新加一行,并进入插入模式
Esc 退出插入模式
可视模式
标记文本
v 进入可视模式,单字符模式
V 进入可视模式,行模式
ctrl+v 进入可视模式,列模式,类似于UE的列模式
o 跳转光标到选中块的另一个端点
U 将选中块中的内容转成大写
O 跳转光标到块的另一个端点
aw 选中一个字
ab 选中括号中的所有内容,包括括号本身
aB 选中{}括号中的所有内容
ib 选中括号中的内容,不含括号
iB 选中{}中的内容,不含{}
对标记进行动作
> 块右移
< 块左移
y 复制块
d 删除块
~ 切换块中内容的大小写
‘伍’ VIM 里我写的代码按ggyG复制后,粘贴到其他地方是按什么
不能通过ggyG复制后粘贴到其它地方。这个命令用的是vim自己的剪贴板,只能贴到当前vim打开的buffer里。
Vim是一个类似于Vi的着名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。 VIM是自由软件。
Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。
在2000年Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线。总的来看,Vim和Emacs在文本编辑方面都是非常优秀的。
Vim强大的编辑能力中很大部分是来自于其普通模式命令。vim的设计理念是命令的组合。例如普通模式命令"dd"删除当前行,"dj"代表删除到下一行,原理是第一个"d"含义是删除,"j"键代表移动到下一行,组合后"dj"删除当前行和下一行。
另外还可以指定命令重复次数,"2dd"(重复"dd"两次),和"dj"的效果是一样的。"d^","^"代表行首,故组合后含义是删除到光标开始到行首间的内容(不包含光标);"d$" $"代表行尾,删除到行尾的内容。
用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。
‘陆’ linux中vim打开怎么复制粘贴
如果你是复制vim打开文件里的内容粘贴到vim打开文件里,复制命令是在命令行下yy键(两个p),粘贴命令是p键。{多行复制可以*yy,*代表你要复制的行数,记得是在光标开始算的}。如果你不是以上情况,建议你用远程连接工具xshell,xshell支持粘贴复制,也支持向上查看。
‘柒’ vim 如何复制多少行到多少行
方法:
1
在Linux系统中,启动终端。
2
在终端中键入命令:vim 你要编辑的文件名(我这里为test.txt),回车。
3
文件打开后如图所示。现在,我们需要复制红框标出的内容,并将它按原有排版粘贴。
4
用方向键将光标移动到需要复制的矩形区域的起始处。
5
如果当前正处于编辑模式,需要先按下ESC键,再按下键盘上的ctrl+v键(一般状态只需要按下 ctrl+v),此时编辑框内的最下方将出现“可视 块”的提示字样。
6
使用方向键移动光标,选择矩形区域内的文字。
7
按下 y 键,复制所选文本。
8
用方向键移动光标到需要粘贴的位置处,再按下 p 键粘贴。
‘捌’ vim中怎样全选复制剪切粘贴删除代码
当然你可以在vim里选择用鼠标,选中一块文字然后右键复制,再到应用程序里ctrl+v粘贴,只不过这样效率就差多了。 更好的做法是,在vim中使用"*y使用进行复制,然后在应用程序中用ctrl+v粘贴。 从应用程序到vim则在应用程序中使用ctrl+c复制,在vim中使用shift+insert粘贴。 如:"*yy复制一行 "*y2w复制二个词……实现的原理是:"表示使用寄存器"*表示使用当前选择区 我个人推荐使用ctrl+insert复制,shift+insert粘贴。 vim有多个剪贴板,其中就包括了系统剪贴板。使用命令:reg可以看到各个剪贴板的内容。其中“”表示当前使用的剪贴板, “0-9是历史剪贴板, “#就是系统剪贴板了(你可以在系统里拷贝一些东西,看是不是会出现在“#剪贴板里)。在vim中使用y可以把内容拷贝到“”号剪贴板,继续y会把新的东西放入“” ,而原来“”的东西就会被压入“0-9的各个历史剪贴板中。X11系统下还有一个“*的剪贴板对应中键拷贝粘贴,windows不知道有没有。 解决第一个问题:“+y把选中内容拷贝到”+号剪贴板,即系统剪贴板“+p把系统剪贴板的内容粘贴到vim,这一个用shift+insert也可完成 解决第二个问题:“0p可以把已经被挤到”0剪贴板的内容A重新粘贴出来 嫌长的做一个map,映射到某个功能键或组合就方便了。
‘玖’ 如何使用linux系统vim中的复制,粘贴和删除
先将光标移动到要复制的哪一行,复制是nyy,n代表从光标开始的行数。粘贴是p, 需要注意的是这些操作都是在命令模式操作的,命令模式就是在你所处的任意模式按ESC键,都可以会到命令行模式,这时才可以执行这些操作。
‘拾’ linux下VIM如何全选复制
ggVG是全选,y是复制。
gg是光标定位到文件首行;
V是进入可视模式;
G是跳转到文件最后一行;
这个时候就将文本全选了。
使用"*y使用进行复制,然后在浏览器中用ctrl+v粘贴。
":表示使用寄存器
注意不要关闭vim。
(10)vim命令复制命令扩展阅读:
全部删除:
按esc键后,先按gg(到达顶部),然后按dG。
单行复制:
按esc键后, 然后yy。
单行删除:
按esc键后, 然后dd。
粘贴:
按esc键后, 然后p。
从应用程序到vim:
在应用程序中使用ctrl+c复制,在vim中使用shift+insert粘贴。