从Putty/Vim视觉模式复制到windows剪贴板

从Putty/Vim视觉模式复制到windows剪贴板,vim,vi,putty,Vim,Vi,Putty,我目前有一个vim会话在Putty中打开,我已经通过可视化模式选择了文件中的所有内容。通常要将其复制到剪贴板上,我会使用“+y或”*y,但这两个命令都不起作用 以下是我的vimrc: call pathogen#infect() set noswapfile set mouse=" set ts=4 set wildmenu set wildmode=list:longest,full colorscheme evening set expandtab set smarttab "

我目前有一个
vim
会话在Putty中打开,我已经通过可视化模式选择了文件中的所有内容。通常要将其复制到剪贴板上,我会使用
“+y
”*y
,但这两个命令都不起作用

以下是我的vimrc:

call pathogen#infect()

set noswapfile

set mouse="

set ts=4
set wildmenu
set wildmode=list:longest,full

colorscheme evening

set expandtab
set smarttab

" Stuff from github:
set ts=4
set wildmenu
set wildmode=list:longest,full
set number

" This shows what you are typing as a command. I love this!
set showcmd

" Who doesn't like autoindent?
set autoindent

" Spaces are better than a tab character
set expandtab
set smarttab

" Who wants an 8 character tab? Not me!
set shiftwidth=3
set softtabstop=3

" Ignoring case is a fun trick
set ignorecase

" When I close a tab, remove the buffer
set hidden

" Set word wrapping
set linebreak

" Use filetype specific indentation
filetype on
filetype plugin on
filetype indent on

" Disable auto commenting
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o

我假设您希望将文本复制到主机系统的剪贴板。我怀疑vim在putty会话中运行时是否可能做到这一点,但以下几点对我很有用

  • 使用鼠标选择文本
  • 所选文本将被放入我的系统剪贴板中
请注意,这与vim无关,但完全是putty的工作

编辑

3.1.3.5将所有文件复制到剪贴板

此系统菜单选项提供了复制整个系统的方便方式 终端屏幕的内容(直到最后一行非空)和 一次滚动回剪贴板


当您使用PuTTY(我假设使用SSH)连接到远程系统,并且需要将完整文件从该系统传输到本地Windows one时,只需打开一个单独的SCP连接;PuTTY附带了
pscp.exe
来传输文件。根据您的SSH配置,通过多路复用,这甚至可能重复使用相同的连接,因此开销应该相当小


如果您安装了X服务器(如Cygwin-X)并使用
ssh-X主机名
进行连接,您可以启动远程终端/GVIM会话,并通过X服务器与Windows主机进行剪贴板同步。仅使用PuTTY,这是不可能的,因为它是一个没有任何X连接的唯一终端客户端。

通过
设置鼠标=a
启用鼠标,您只需“按住shift键,然后使用鼠标左键高亮显示要复制的文本。释放时,高亮显示的文本应位于Windows剪贴板中。”
请参见

到目前为止,我找到的最简单的方法是在PuTTY会话中启用日志记录。然后浏览我想要的行。由于PuTTY屏幕上的所有内容都已登录到我的本地文件中,我可以轻松地从本地文件中复制内容并通过电子邮件或其他方式发送。

从远程连接复制文本/数据的唯一可靠方法是通过第三方SCP应用程序,如filezilla或winscp。你可以在这里下载最后一个:

我在所有地方都搜索到了同样的问题,但如果不安装一些额外的软件工具,我找不到任何简单的解决方案。 这是最简单的解决方案

  • 退出vi编辑器

  • $cat 使用上述命令,您将看到该文件中的所有内容

  • 选择要复制的内容(选择时可以在此屏幕上滚动)

  • 不要单击任何鼠标按钮,因为文本将被自动选中

  • 在windows上打开文本编辑器并粘贴到那里

  • 完成



  • 我的问题是,我需要复制一个完整的文件(1000多行),而我不能以这种方式突出显示所有内容。此外,我还启用了行号,因此以这种方式复制会复制行号。在打开会话时,我一直在美化putty选项,但我找不到任何同步剪贴板的选项。看看,我开始觉得这是不可能的。你不能用ftp到机器上获取文件吗?或者从putty会话中的vim内部ftp到本地计算机以放置文件。点击该按钮-只需打开系统菜单(左上角)并选择“全部复制到剪贴板”这不起作用,因为它只复制putty显示的内容,而不复制vim中显示的内容。它复制整个Putty会话,包括打开vim之前所做的所有工作,并且只复制当前关注的vim部分(因此它不会复制所有1000多行)。如果可以在vim中显示它,还可以在Putty中对文件进行cat。这是一个解决办法,但可以完成工作。这并不能回答这个问题。若要评论作者或要求作者澄清,请在其帖子下方留下评论-您可以随时对自己的帖子发表评论,一旦有足够的评论,您就可以发表评论。此方法是在putty screen和本地windows主机之间使用复制粘贴的替代方法,也是使用winscp传输文本文件的替代方法,比如说,将日志文件带到本地机器上。这是迄今为止唯一对meI有效的方法,meI只能使用它来复制盒子中的内容。滚动不起作用。我用的是MTPutty,这对我很有效。同样,按住shift键并右键单击以从剪贴板粘贴到vim。至少在SSH主机不使用X的情况下确认为工作。是否有解决方法,因为我经常在putty配置连接->ssh->X11中使用putty而不是linux/OS X机器的ssh,所以可以启用X11转发,它将在连接上附加这个-X标志。我可以确认这个解决方案是有效的,我也看过这篇文章:我在Windows7上运行PuTTY,连接到一个带有XMing端口forwared的Vagrant box,并且能够通过
    从vim复制到剪贴板“*y
    这项功能非常好。如果您正在使用
    tmux
    ,并且选择了需要使用
    xsel
    将其复制到主/系统剪贴板的内容。Brad Denver anwser更有效,只需在putty中从vim复制文本。这是我唯一可以做到的逻辑方法。退出file和cat需要做一些额外的工作,但对我来说是可行的。谢谢<代码>空格比制表符好
    set shiftwidth=3
    如果有某种方法可以让你保持对3-空格制表符的偏好,而不将这种疯狂强加给其他人,也许是某种语义上的“制表符”字符