71

例: 1 つの tmux ペインに (vim 経由で) コピーしてから、別のペインに切り替え (別の vim インスタンスを実行)、vim paste コマンドを使用して貼り付けます。これは tmux (prefix+] を使用) を介して実行できることはわかっていますが、vim を実行している異なるペインを切り替えるだけなので、vim バインディングを使用してコピー アンド ペーストできると非常に便利です。

何か案は?

4

8 に答える 8

49

申し訳ありませんが、vimの組み込み機能を使用するように説得しようとしています。


簡単にするためにcopy/paste、別のタブページでファイルを開くことができます。

:tabe /path/to/another/file

gtまたはを使用gTしてタブページを切り替えます。


または、ウィンドウを分割して別のファイルを編集します。

:sp /path/to/another/file

Ctrl-wwWindowsを切り替えるために使用します。
ウィンドウを垂直に分割するには、:vsp file


アップデート:

これは私の.tmux.confファイルです:

# vim
setw -g mode-keys vi
bind [ copy-mode
bind -t vi-copy v begin-selection
bind -t vi-copy y copy-selection
bind -t vi-copy V rectangle-toggle
bind ] paste-buffer

# buffer
bind Space choose-buffer

ターミナル出力をコピーする必要がある場合にのみ使用します。

于 2012-06-14T23:56:34.877 に答える
22

私はこの便利なバインディングを数年間使用しています:)

" copy to buffer
vmap <C-c> :w! ~/.vimbuffer<CR>
nmap <C-c> :.w! ~/.vimbuffer<CR>
" paste from buffer
map <C-p> :r ~/.vimbuffer<CR>
于 2012-06-15T14:35:37.570 に答える
13

1つのvimインスタンスを使用する方が良いことに同意しますが、これはtmuxのみで実行できます。コピーモードが組み込まれています。私のtmux.confは次のように設定されています:

  setw -g mode-keys vi
  unbind [
  unbind p
  bind C-y copy-mode
  bind p paste-buffer
  bind -t vi-copy v begin-selection
  bind -t vi-copy y copy-selection
  bind -t vi-copy Escape cancel

prefix-<C-y>したがって、コピーモードをアクティブ化するために使用できます/search term。たとえば、目的の場所に移動したり、v視覚的に選択したり、ytmuxにヤンクしたりできます。次に、他のvimセッションに移動し、挿入モードに入ります。prefix-ptmux貼り付けバッファにあるものを貼り付けるために使用します。tmuxの貼り付けバッファをシステムクリップボードにコピーする方法もあります。

于 2012-06-27T19:29:18.337 に答える
3

vim バインディングを使用してコンテンツをクリップボードにコピーし、ペインに切り替えて貼り付けることができます。次のキーバインドが便利かもしれません。

noremap ty "+y
noremap tY "+Y  // copy a whole line to the clipboard
noremap tp "+p  // put the text from clipboard after the cursor 
noremap tP "+P  // put the text from clipboard before the cursor 

この"+レジスタは、Vim でシステムのクリップボードにアクセスするために使用されます。

役立つヒント:
1.vまたはVまたはctrl-vを押してビジュアル モードに入り、ヤンクするコンテンツを選択し、 を押しtyてクリップボードにコピーします。
2.ty他のモーションと組み合わせることができます。たとえばtyaw、カーソルの下の単語をクリップボードにコピーするために使用できます。tyib括弧内の内容をコピーします。tyi"二重引用符内のテキストをコピーするなど...

システムのクリップボードから vim を貼り付ける (およびコピーする) 方法も参照してください。詳細な説明のために。

于 2015-05-27T17:49:53.273 に答える
2

Fedora24 のソリューション

vimの代わりにvimxを使用する必要があります

.bashrc または .zshrc に入れます

alias vi='vimx'
alias vim='vimx'

その後、vims/tmux パネル間で簡単にコピーできます


$ vim --version | grep clipboard
-clipboard       +insert_expand   +path_extra      -toolbar
+eval            +mouse_dec       +statusline      -xterm_clipboard

$ vimx --version | grep clipboard
+clipboard       +insert_expand   +path_extra      +toolbar
+eval            +mouse_dec       +statusline      +xterm_clipboard

vimx は、おそらくインストールした vim-enhanced-2:7.4.1868-1.fc24.x86_64 の一部です

于 2016-10-17T21:39:01.717 に答える
0

コントロール + 挿入= コピー

シフト + 挿入= 貼り付け

于 2020-09-05T02:42:49.353 に答える