网上拷贝内容,发现内容带了格式(比如颜色、字体、大小),怎么去掉了?

在windows下面很方面,在记事本里面拷贝进拷贝出就行了,可在mac下,有记事本吗?有一个文本编辑器,但也不是纯文本编辑。安装个文本编辑器?于是Google,推荐了许多,包括我在Windows下喜欢用的notepad++,考虑到迟早要了解Vim编辑使用,先用这个尝试怎么复制粘贴。

首先,Vim也有两种情况:系统自带的Vim,MacVim。这其中的复制有些许差别。 #系统自带的Vim ##背景

在Vim内部复制粘贴, * 复制 1. 在visual模式下选中文本按y, 2. 在normal模式下yy,或者数字+yy, * 粘贴

在normal模式下按p

这只是Vim内部的复制粘贴,是不会复制到系统剪切板的,这意味着不能复制粘贴到其它进程中,比如word。

##方法 要使在各程序间拷贝粘贴没问题,按下面步骤来。

  1. 在.vimrc设置键盘映射

    vmap y :w !pbcopy<CR><CR>

  2. 操作:

要先进到Visual模式,选中要拷贝内容,按不按y键无所谓,这样就复制成功了,当然此时也可以粘贴到Vim编辑的文件中。

  1. 粘贴:

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,拷贝到系统剪贴板。

#其它 1. 如何拷贝到Vim下,发现乱码之类,可先

`:set paste`

粘贴完成后

`:set nopaste`
  1. 使用Ctrl+cCtrl+v

    发现拷贝带行号,要先去行,set nonu,完成后,再set number

  2. 键盘符号

    :h notation 查看帮助

    <CR> 代表Enter

分享到: