例: 1 つの tmux ペインに (vim 経由で) コピーしてから、別のペインに切り替え (別の vim インスタンスを実行)、vim paste コマンドを使用して貼り付けます。これは tmux (prefix+] を使用) を介して実行できることはわかっていますが、vim を実行している異なるペインを切り替えるだけなので、vim バインディングを使用してコピー アンド ペーストできると非常に便利です。
何か案は?
申し訳ありませんが、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
ターミナル出力をコピーする必要がある場合にのみ使用します。
私はこの便利なバインディングを数年間使用しています:)
" copy to buffer
vmap <C-c> :w! ~/.vimbuffer<CR>
nmap <C-c> :.w! ~/.vimbuffer<CR>
" paste from buffer
map <C-p> :r ~/.vimbuffer<CR>
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
視覚的に選択したり、y
tmuxにヤンクしたりできます。次に、他のvimセッションに移動し、挿入モードに入ります。prefix-p
tmux貼り付けバッファにあるものを貼り付けるために使用します。tmuxの貼り付けバッファをシステムクリップボードにコピーする方法もあります。
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 を貼り付ける (およびコピーする) 方法も参照してください。詳細な説明のために。
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 の一部です
コントロール + 挿入= コピー
シフト + 挿入= 貼り付け