网上拷贝内容,发现内容带了格式(比如颜色、字体、大小),怎么去掉了?
在windows下面很方面,在记事本里面拷贝进拷贝出就行了,可在mac下,有记事本吗?有一个文本编辑器,但也不是纯文本编辑。安装个文本编辑器?于是Google,推荐了许多,包括我在Windows下喜欢用的notepad++,考虑到迟早要了解Vim编辑使用,先用这个尝试怎么复制粘贴。
首先,Vim也有两种情况:系统自带的Vim,MacVim。这其中的复制有些许差别。 #系统自带的Vim ##背景
在Vim内部复制粘贴,
- 复制
- 在visual模式下选中文本按y,
- 在normal模式下
yy
,或者数字+yy
,
-
粘贴
在normal模式下按p
这只是Vim内部的复制粘贴,是不会复制到系统剪切板的,这意味着不能复制粘贴到其它进程中,比如word。
##方法 要使在各程序间拷贝粘贴没问题,按下面步骤来。
-
在.vimrc设置键盘映射
vmap y :w !pbcopy<CR><CR>
-
操作:
要先进到Visual模式,选中要拷贝内容,按不按y键无所谓,这样就复制成功了,当然此时也可以粘贴到Vim编辑的文件中。
- 粘贴:
Vim编辑时,在网页拷贝了一段文本,然后在Vim的Normal模式下,使用p
粘贴,发现没效果,或者不是刚拷贝的文本,调用:reg
,发现许多以”开头的名字,里面有各种文本内容,其中”* 那个里面有刚拷贝的内容。可通过"*p
完成粘贴。
##原理
`vmap y :w !pbcopy<CR><CR>` 如果想要了解内部怎么实现的话,在Vim中输入`:reg`,可查看当前寄存器,其中"\*存放的就是系统剪贴板(至于网友说的"\* 选择寄存器,"+ 系统剪贴板,在这里不是这样的。)
想要了解上面命令的含义,可继续看下面(原文)。
pbcopy
, pbpaste
是操作系统剪贴板的命令
比如说可以这样使用:
cat foo.txt | pbcopy #将foo.txt的内容复制到系统剪贴板
pbpaste > bar.txt #将系统剪贴板的内容写到bar.txt
然后vim的w !
和r !
(注意中间的空格)可以负责把某一段文字写入或从某一个命令读出,有点类似linux的管道功能。
至于vmap的含义,自己搜索下
#MacVim macvim已经实现了,不需要额外配置,直接进到Visual模式下,选中文本,ctrl+c,拷贝到系统剪贴板。
#其它
-
如何拷贝到Vim下,发现乱码之类,可先
:set paste
粘贴完成后
:set nopaste
-
使用
Ctrl+c
和Ctrl+v
发现拷贝带行号,要先去行,
set nonu
,完成后,再set number
-
键盘符号
:h notation
查看帮助<CR>
代表Enter
键