Копирование из визуального режима Putty/Vim в буфер обмена windows [дубликат]

этот вопрос уже есть ответ здесь:

в настоящее время у меня 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

6 ответов


когда вы подключаетесь к удаленной системе с PuTTY (используя SSH, я полагаю), и вам нужно передать полный файл из этой системы в локальную Windows, просто откройте отдельное соединение SCP; PuTTY поставляется с pscp.exe для передачи файлов. В зависимости от конфигурации SSH при мультиплексировании это может даже повторно использовать одно и то же соединение, поэтому накладные расходы должны быть довольно небольшими.

Если вы устанавливаете X-сервер (например,Cygwin-X) и использовать ssh -X hostname для подключения, вы можете запустите сеанс удаленного терминала / GVIM и синхронизируйте буфер обмена с хостом Windows, предоставленным X-сервером. Только с PuTTY это невозможно, так как это единственный клиент терминала без какого-либо подключения к X.


с включенной мышью через set mouse=a вам просто нужно " удерживать shift, а затем выделить текст, который вы хотите скопировать с помощью левой кнопки мыши. При выпуске выделенный текст должен находиться в буфере обмена Windows." См.https://stackoverflow.com/a/4313348


Я столкнулся с той же проблемой, которую я искал везде, но я не нашел простого решения без установки дополнительного программного инструмента. Вот самое простое решение.

  1. выход из редактора vi

  2. $кошки используя вышеуказанную команду, вы увидите все содержимое, которое находится в этом файле

  3. выберите содержание вы хотите скопировать (да, вы можете просматривать на этом экране, выбор)

  4. не нажимайте кнопку мыши потому что текст будет выбран автоматически

  5. откройте текстовый редактор в windows и вставьте его туда

  6. сделал


Я предполагаю, что вы ожидали, что текст будет скопирован в буфер обмена хост-системы. Я сомневаюсь, что это возможно из vim, работающего в сеансе замазки, но для меня работает следующее

  • выделите текст с помощью мыши.
  • выбранный текст будет помещен в буфер обмена моей системы.

обратите внимание,что это не имеет ничего общего с vim, но полностью делает putty.

редактировать

с используя Замазка

3.1.3.5 скопировать все в буфер обмена

этот параметр системного меню обеспечивает удобный способ копирования всего содержимое экрана терминала (до последней непустой строки) и прокрутка до буфера обмена за один раз


единственный надежный способ скопировать текст/данные из удаленного соединения, которое я смог найти, - это через стороннее приложение SCP, такое как filezilla или winscp. Вы можете скачать последний здесь: http://winscp.net/eng/download.php


самый простой способ, который я нашел до сих пор, - включить вход в мой сеанс шпатлевки. Тогда просто просмотрите строки, которые я хочу. поскольку все на экране шпаклевки было зарегистрировано в моем локальном файле, я могу легко скопировать материал из моего локального файла и отправить его по электронной почте или что-то еще.

HTH.