it-swarm-ja.com

cygwinのvi / emacsとWindowsクリップボードの間でコピーアンドペーストする方法は?

Windowsクリップボードにコピーしたものをcygwinのviまたはemacsに貼り付けようとしましたが、yy(vi)またはM-w(emacs)では機能しないようです。

それを行う方法はありますか?私は、それをもう学びました /etc/clipboardはWindowsからのクリップボードデータを持っていますが、viまたはemacsでこの情報を取得する方法がわかりません。

5
prosseek

少なくともvimの場合、クリップボードは"*レジスタです。

したがって、現在の行をヤンクするには、"*yyに移動し、クリップボードの内容を貼り付けるには、"*pに移動します。

3
Phoshi

Cygwinの下のvimからテキストをコピーします。ビジュアルモードで"key +key ykeyを押すだけです:

"+ y

Cygwinの下のvimにテキストを貼り付け、通常モードで" key +key pkeyを押すだけです:

"+ p

2
1lOtzM291W

Wikia で言及されている解決策があります:

function! Putclip(type, ...) range
  let sel_save = &selection
  let &selection = "inclusive"
  let reg_save = @@
  if a:type == 'n'
    silent exe a:firstline . "," . a:lastline . "y"
  elseif a:type == 'c'
    silent exe a:1 . "," . a:2 . "y"
  else
    silent exe "normal! `<" . a:type . "`>y"
  endif
  call writefile(split(@@,"\n"), '/dev/clipboard')
  let &selection = sel_save
  let @@ = reg_save
endfunction


vnoremap <silent> <leader>y :call Putclip(visualmode(), 1)<CR>
nnoremap <silent> <leader>y :call Putclip('n', 1)<CR>

これらの行を.vimrcにコピーするだけで、vimを使用している場合でも、マウスを使用してテキストを選択している場合でも、\ yでうまくいきます。
すでにクリップボードにアクセスできるので、これは問題ではないかもしれませんが、/ dev/clipboardはCygwinバージョン1.7.13以降で使用できます。

1
Forethinker

Cygwinでviを使用してクリップボードから貼り付けるには:

Press SHIFT-INSERT in insert mode

(this means the insert key by the Delete/Home/End keys)

Cygwinでviを使用してクリップボードにコピーするには:

When you select text with your mouse, it automatically gets copied to the clipboard.

You can paste from the clipboard by pressing the middle mouse button.

また、 "* yyが機能しない環境では、" + yyを試すことができます。

残念ながら、これは[〜#〜] not [〜#〜] Cygwinでは機能しません。

0
jahroy