Vimモードのコピー - 貼り付けはTmuxでは機能しません。

Vimモードのコピー - 貼り付けはTmuxでは機能しません。

私はTmuxを初めて使用します。 Tmuxからコピーして貼り付けるのは非常に難しいです。だからもう少し簡単な方法を見つけました。一部のウェブサイトでは、私はvimに非常に慣れているので、vimモードを使用する必要があると提案しました。しかし、vimモードのコピー - 貼り付けは機能しません。何が間違っているのかわかりません。これは私の〜/ .tmux.confファイルです。

# Improve colors
set -g default-terminal 'screen-256color'

# Set scrollback buffer to 10000
set -g history-limit 10000

# Customize the status line
set -g status-fg  green
set -g status-bg  black

set -g mouse on

bind P paste-buffer
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi r send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'

# remap prefix to Control + a
set -g prefix M-a
# bind 'C-a C-a' to type 'C-a'
bind M-a send-prefix
unbind C-b



# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'

# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin '[email protected]/user/plugin'
# set -g @plugin '[email protected]/user/plugin'

set -g @plugin 'jimeh/tmux-themepack'

set -g @themepack 'powerline/block/blue'

# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'

私はTmux 2.5を使用しています。助けてくれてありがとう。

答え1

  • setw -g mode-keys viconfファイルがあることを確認してください

  • ご覧のとおり、プル(クリップボードにも送信されます)は外部コマンドを使用しています。クリップ。そのため、xclipがインストールされていることを確認するか、次のコマンドを使用してインストールしてください。このスクリプト例えば。

  • Enterコピーモードを使用してC-b [選択vを開始し、y引き出し、最後にC-b ]コピーモードを終了します。

  • これはどのような違いがあるのか​​わかりませんが、次のことを試すことができます。

     bind-key -T copy-mode-vi 'v' send -X begin-selection
     bind-key -T copy-mode-vi 'r' send -X rectangle-toggle
     bind-key -T copy-mode-vi 'y' send -X copy-pipe-and-cancel
    

変数からtmuxバージョンをキャプチャし、いくつかのifステートメントを使用して、バージョン間の.tmux.confの移植性を向上させることもできます。私は個人的に次のような.tmux.confを持っており、これまで他のバージョンでうまくいきました(2.5は使用していませんが)。また、他のソースから接続しているため、バージョン条件がすべてのバージョンに対して100%確信しているわけではありません。バージョンは次のとおりです。

#check version and put in variable
run-shell 'tmux setenv -g TMUX_VERSION $(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")'

setw -g mode-keys vi
if-shell -b '[ "$(echo "$TMUX_VERSION < 2.4" | bc)" = 1 ]' " \
  bind-key -t vi-copy v begin-selection; \
  bind-key -t vi-copy r rectangle-toggle; \
  bind-key -t vi-copy y copy-pipe 'xclip -selection clipboard -in'"

#You would have to adapt here by changing ">" to ">="
#and maybe changing the key binding by what you
#already have if what you have indeed worked after 
#checking the points I gave you earlier.
if-shell -b '[ "$(echo "$TMUX_VERSION > 2.5" | bc)" = 1 ]' " \
  bind-key -T copy-mode-vi 'v' send -X begin-selection; \
  bind-key -T copy-mode-vi 'r' send -X rectangle-toggle; \
  bind-key -T copy-mode-vi 'y' send -X copy-pipe-and-cancel 'xclip -selection clipboard -in'"

誰かが完全に移植可能なvim .tmux.conf(xclipサポートにコピー/貼り付けなど)を確認/共有できる場合は、誰にでも役立ちます。

関連情報