我目前在 PuTTY 中打开了一个 Vim 会话,并且我已通过 视觉模式 选择了文件中的所有内容。通常要将其复制到剪贴板,我会使用 "+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
通过
set mouse=a
启用鼠标,您只需“按住 Shift,然后使用鼠标左键突出显示要复制的文本。释放时,突出显示的文本应该位于 Windows 剪贴板中。”
请参阅https://stackoverflow.com/a/4313348
我遇到了同样的问题,我到处搜索,但如果不安装一些额外的软件工具,我找不到任何简单的解决方案。 所以这是最简单的解决方案。
从 vi 编辑器
退出$猫 使用上面的命令,您将看到该文件中的所有内容
选择您要复制的内容(是的,您可以在选择时滚动此屏幕)
不要单击任何鼠标按钮,因为文本将被自动选择
在 Windows 上打开文本编辑器并将其粘贴到那里
完成
当您使用 PuTTY 连接到远程系统(我假设使用 SSH)并且需要将完整文件从该系统传输到本地 Windows 系统时,只需打开一个单独的 SCP 连接即可; PuTTY 自带
pscp.exe
来传输文件。根据您的 SSH 配置,通过多路复用,甚至可以重复使用相同的连接,因此开销应该相当小。
如果您安装 X 服务器(如 Cygwin-X)并使用
ssh -X hostname
进行连接,您可以启动远程终端/GVIM 会话并与您的 Windows 主机进行剪贴板同步,这由 X 服务器提供。仅使用 PuTTY,这是不可能的,因为它是唯一的终端客户端,没有与 X 的任何连接。
我假设您希望将文本复制到主机系统的剪贴板。我怀疑在 putty 会话中运行的 vim 中是否有可能,但以下内容对我有用
请注意,这与 vim 无关,完全是 putty 所做的。
编辑
来自 使用 PuTTY
3.1.3.5 全部复制到剪贴板
此系统菜单选项提供了一种方便的方法来复制整个 终端屏幕的内容(直到最后一个非空行)和 一次性滚动回剪贴板
我能找到的从远程连接复制文本/数据的唯一可靠方法是通过第三方 SCP 应用程序,如 filezilla 或 winscp。您可以在这里下载最后一个:http://winscp.net/eng/download.php
到目前为止我发现的最简单的方法是在我的 PuTTY 会话中启用日志记录。然后浏览我想要的行。由于 PuTTY 屏幕上的所有内容都已登录到我的本地文件中,我可以轻松地从本地文件中复制内容并通过电子邮件或其他方式发送。