###tmuxのコピーモードのスクロールをvim上でもしたい
iterm2でtmux 2.3とvim 8.0を使用しています。
コマンドラインではtmuxのコピーモードでスクロールが^+F
や^+B
でスクロールができます。
一方、vim起動中でコピーモードに入って^+B
,k
を押した際、ファイルの上にスクロールするのではなく、iterm上でvim ファイル名
を入力したコマンドより上のコマンドにスクロールしてしまいます。
vim起動中でコピーモードに入って^+F
,j
を押した際、vim
で開いたファイルの下にはスクロールできず、全く下にスクロールできません。
###実行環境
実行した.vimrc
と.tmux.conf
は以下のとおりです。
.vimrc
"" encoding scriptencoding utf8 set fileencoding=utf-8 set fileencodings=utf-8,iso-2022-jp,euc-jp,sjis "" Set Options " don't use backup or swap files set nowritebackup nobackup noswapfile " how many stock command history set history=1000 " use mouse if has('mouse') set mouse=a if has('mouse_sgr') set ttymouse=sgr elseif v:version > 703 || v:version is 703 && has('patch632') set ttymouse=sgr else set ttymouse=xterm2 endif endif " Indicates a fast terminal connection set ttyfast " カーソル移動で行を越えて移動させるか set whichwrap=b,s,[,],<,> " 新しい行のインデントを現在行と同じにする set autoindent " ファイルにカーソルの位置を記憶 if has("autocmd") au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif endif "" Search " case sensitive for search set noignorecase nosmartcase " Show matches while typing set incsearch " highlighted search index set hlsearch " wrapscan set wrapscan "" Appearance " the last window will have a status line always set laststatus=2 " モードを表示 set showmode " ルーラーを表示 set ruler " 打ったキーを表示 set showcmd " 括弧の対応の表示 set showmatch matchtime=1 "" Indent autocmd FileType sh setlocal shiftwidth=2 softtabstop=2 tabstop=2 expandtab autocmd FileType apache setlocal shiftwidth=4 softtabstop=4 tabstop=4 expandtab autocmd FileType css setlocal shiftwidth=4 softtabstop=4 tabstop=4 noexpandtab autocmd FileType diff setlocal shiftwidth=4 softtabstop=4 tabstop=4 noexpandtab autocmd FileType html setlocal shiftwidth=2 softtabstop=2 tabstop=2 expandtab autocmd FileType java setlocal shiftwidth=4 softtabstop=4 tabstop=4 expandtab autocmd FileType javascript setlocal shiftwidth=4 softtabstop=4 tabstop=4 noexpandtab autocmd FileType ruby setlocal shiftwidth=2 softtabstop=2 tabstop=2 expandtab autocmd FileType eruby setlocal shiftwidth=2 softtabstop=2 tabstop=2 expandtab autocmd FileType sql setlocal shiftwidth=4 softtabstop=4 tabstop=4 expandtab autocmd FileType tex setlocal shiftwidth=2 softtabstop=2 tabstop=2 expandtab autocmd FileType vim setlocal shiftwidth=2 softtabstop=2 tabstop=2 expandtab autocmd FileType xml setlocal shiftwidth=4 softtabstop=4 tabstop=4 noexpandtab autocmd FileType yaml setlocal shiftwidth=2 softtabstop=2 tabstop=2 expandtab autocmd FileType zsh setlocal shiftwidth=2 softtabstop=2 tabstop=2 expandtab autocmd FileType coffee setlocal shiftwidth=2 softtabstop=2 tabstop=2 expandtab "" Key Bindings " コマンドで空行挿入したい set t_Co=256 set t_ut= " 挿入開始以前の文字や改行も削除 set backspace=indent,eol,start "" Color set term=xterm-256color syntax on " シンタックスハイライト "" Plugin filetype plugin indent on " ファイルタイププラグインを有効にする
.tmux.conf
# reload config bind r source-file ~/.tmux.conf # zshでtmuxを起動 set-option -g default-shell /bin/zsh # browse URL bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; run-shell "$TERMINAL -e urlview /tmp/tmux-buffer" bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; new-window -n "urlview" '$SHELL -c "urlview < /tmp/tmux-buffer"' # max scroloback line set -g history-limit 10000 # ウィンドウのインデックスを1から始める set -g base-index 1 # ペインのインデックスを1から始める setw -g pane-base-index 1 # renumber the windows set-option -g renumber-windows on # キーストロークのディレイを減らす set -sg escape-time 0 # mouseでスクロール set-option -g mouse on bind -n WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M bind -n WheelDownPane select-pane -t= \; send-keys -M #---------------------------------------------------------------------------}}} # Color {{{ #------------------------------------------------------------------------------ # use 256colors set -g default-terminal screen-256color # pane border set -g pane-active-border-fg colour197 set -g pane-active-border-bg colour234 set -g pane-border-fg colour239 set -g pane-border-bg colour234 # message line set -g message-fg white set -g message-bg colour235 set -g message-attr bright #---------------------------------------------------------------------------}}} # Keybind (normal mode) {{{ #------------------------------------------------------------------------------ # set prefix key unbind C-b set -g prefix C-t bind C-t send-prefix # ペインの移動2 # Shift + 上下左右でペインを移動できるようにする。(<Prefix>不要) # 行頭に"bind -n"をつけるとPrefixが不要になる。 bind -n S-left select-pane -L bind -n S-down select-pane -D bind -n S-up select-pane -U bind -n S-right select-pane -R # コピーモードを設定する ## viのキーバインドを使用する setw -g mode-keys vi ## クリップボード共有を有効にする set-option -g default-command "reattach-to-user-namespace -l zsh" ## コピーモードの操作をvi風に設定する bind-key -t vi-copy v begin-selection bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy" unbind -t vi-copy Enter bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy" bind-key -t vi-copy C-v rectangle-toggle # vim like bind-key s split-window -v -c "#{pane_current_path}" bind-key v split-window -h -c "#{pane_current_path}" #---------------------------------------------------------------------------}}}
###調査したこと
.vimrc
の方のマウスの設定が悪いのかと思っています。
マウスの下へのスクロールではしっかりVvim
で開いたファイルを見ることができます。
上のスクロールでは、ファイルではなくコマンドラインを表示しています。
この設定が影響しているかもしれないので、自分でも調査しようと思っています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/27 12:03