tmuxでvimからpythonコンソールにコピーする


8

tmuxをインストールしました。

tmux -V
tmux 2.3

設定ファイルを設定します。

cat  ~/.tmux.conf
set -g mouse on

tmuxと入力して、2つの垂直ウィンドウを開き、左側にpython3コンソールを開き、右側にvimを開きます。

ここに画像の説明を入力してください

マウスで右の最初の行の先頭にカーソルを移動します。
通常モードに入り2yy+、と入力して、+レジスタに2行をコピーします。
カーソルを左側のpython3 consoleウィンドウに移動します。+レジスタのコンテンツをPythonコンソールに貼り付けるにはどうすればよいですか?@ケント、あなたが言うようにしてください:
1.最初の行の先頭に"+2Y
カーソルを移動し、2。左カーソルにカーソルを移動し、マウスを中クリックして、何も起こりません。3. キーctrl+bを押してから押し]ます。

ここに画像の説明を入力してください


vim-tmux-clipboardプラグインが役立つかもしれません。
アマダン

回答:


3

最初にあなたのvimは+clipboardsee でコンパイルする必要がありますvim --version | grep 'clipboard'

vimレジスタにコピー(または削除)するには、次のシンテックスを使用できます

  • "<register name><oprator><motion>(を参照:h registers)eg
    1. "ayy(現在の行をレジスタにコピーa)または
    2. "bdd(レジスターの現在の行を削除b)または
    3. "*ce(レジスタの現在の仕事や場所、コンテンツの最後に削除*使用してcも、挿入モードであなたを配置します
  • 使用できる行全体をコピーするには yy
  • システムクリップボードは、+または*(OSに応じて)にマッピングされます

行全体をシステムのクリップボードにコピーするには、使用できます

  • "*yyまたは"+yy(OSによって異なります)

または2行をコピーする

  • "*2yyまたは"+2yy(現在の行と現在の行の次の行をコピーするには)

コンテンツがシステムクリップボードにコピーされたら、またはを使用してtmuxに貼り付けることができますcommand + vctrl + shift + v

または、システムクリップボードをtmux貼り付けバッファーでマップするには、https: //unix.stackexchange.com/questions/67673/copy-paste-text-selections-between-tmux-and-the-clipboard#72340を参照してください。


1

2yy+NOTに2行をコピーする+代わりに、それが2つの行をヤンク、REG "その後、次の行の最初の非空白文字にカーソルを移動し、REG

vim側で行うことができます。"*2Y次に、Pythonコンソールでマウスを中クリックします。

  • または単にvimでコピーしたい行をマウスで選択し、次にPythonコンソールで中央クリックします

私はgeditで中央クリックして行を貼り付けることができますが、なぜそれを左側のウィンドウに貼り付けることができないのかわかりません。
coder_view

〜/ .tmux.confに構成を記述しますか?
coder_view

1

vimクリップボードにアクセスできない場合は機能しないため、これはほとんどの場合ssh接続に当てはまります。だから私は別の解決策を考え出します:

外部クリップボードを使用する代わりにvim、テキストをtmux'に貼り付けることで、貼り付けバッファーに直接渡すことができます。

tmux load-buffer -

その後、バッファのコンテンツをprefix + ]アクティブなtmuxペインに貼り付けることができます。

からvimにテキストを渡すには、さまざまな方法がありますtmux

# to write the current line into the tmux buffer:
:.w !tmux load-buffer -

# to write all *lines* within the visual selection into the tmux buffer:
:'<,'>w !tmux load-buffer -

# to pipe the content of a register (e.g. from a previous selection) into the buffer:
# @" being the unnamed register, @0 - @9 the numbered registers, and so on
:call system('tmux load-buffer -', @")

を使用tmux paste-bufferして、同時に正しいペインへの貼り付けをトリガーすることもできます。

# assuming the python pane is at :0.0
:call system('tmux load-buffer -; tmux paste-buffer -t :0.0', @")

最後の行をキーに簡単にマップして、視覚的に選択されたテキストをpythonペインに送信することもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.