質問: vimで矩形操作が出来ずに困っております。 「control + v」でヴィジュアルモードになり範囲を選択して、削除はできるのですが挿入(追加、置換)が出来ません。 tmuxを解除すると、削除も挿入も出来るようになります。 tmux利用時には何か特別なオプションをコンフィグファイルに追記してあげなければいけないのでしょうか? ちなみに環境は 【CentOS7系】【MacOSX】【Windows】の3環境で同じ結果でダメでした。 tmuxで矩形操作が出来ている方いらっしゃいましたらご教示頂けませんでしょうか? *下記に私が使用しているコンフィグファイルを貼り付けておきます。(CentOS7におけるtmuxのconfig) ``` # 設定ファイルをリロードする bind r source-file ~/.tmux.conf \; display "Reloaded!" # utf8を有効にする set-window-option -g utf8 on # peneの開始番号 set-option -g base-index 1 # ウィンドウ履歴の最大行数 set-option -g history-limit 5000 # コピーモードのキーバインドをvi風にする #set-window-option -g mode-keys vi #bind-key -t vi-copy v begin-selection # ウィンドウのインデックスを1から始める set -g base-index 1 # ペインの移動をvi風にする #bind h select-pane -L #bind j select-pane -D #bind k select-pane -U #bind l select-pane -R # ペインのリサイズをvi風にする #bind -r C-h resize-pane -L 10 #bind -r C-l resize-pane -R 10 #bind -r C-j resize-pane -D 10 #bind -r C-k resize-pane -U 10 # # キーバインド(コピーモード) # bind Space copy-mode bind p paste-buffer # vでマーク開始 bind -t vi-copy v begin-selection # Vで行の先頭からマーク開始 bind -t vi-copy V select-line # C-vで矩形選択の切り替え bind -t vi-copy C-v rectangle-toggle # yでヤンク bind -t vi-copy y copy-selection # Yで1行ヤンク bind -t vi-copy Y copy-line # # マウス設定 # # 画面ドラッグ時にコピーモードにする set-option -g mode-mouse on # マウスでペインを選択できるようにする set-option -g mouse-select-pane on # マウスでウィンドウを切り替えられるようにする set-option -g mouse-select-window on # マウスでリサイズできるようにする set-option -g mouse-resize-pane on # # 外観 # set-option -g default-terminal screen-256color # ステータスバーの色を設定する #set -g status-fg white #set -g status-bg black # ウィンドウリストの色を設定する #setw -g window-status-fg cyan #setw -g window-status-bg default #setw -g window-status-attr dim # アクティブなウィンドウを目立たせる setw -g window-status-current-fg white setw -g window-status-current-bg red setw -g window-status-current-attr bright # ペインボーダーの色を設定する #set -g pane-border-fg green #set -g pane-border-bg black # アクティブなペインを目立たせる set -g pane-active-border-fg white set -g pane-active-border-bg yellow # コマンドラインの色を設定する #set -g message-fg white #set -g message-bg black #set -g message-attr bright # # その他 # # 下記の設定をしておいたほうがEscの効きがいいらしい set -s escape-time 0 setw -g mode-keys vi bind-key -t vi-copy Enter copy-pipe "cat | xsel -i --clipboard" #time to move set -g display-panes-time 30000 ``` --- ctrl + v で選択 ![画像の説明をここに入力](https://i.stack.imgur.com/BR6dG.png) d で削除 ![画像の説明をここに入力](https://i.stack.imgur.com/QcJb7.png) これは出来るのですが 下記追記が出来ません。 ctrl + v で選択 ![画像の説明をここに入力](https://i.stack.imgur.com/BR6dG.png) 前に「#」をつけてコメントアウトさせいたい。 I(Shift + i)で#を入力開始 ← ここが出来ない。 ESCで抜ける。
回答: tmux で接続先のサーバに Vim が入っていないとの情報から、挿入ができる環境とできない環境では別の Vim ということで回答します。 まず、vi にはビジュアルモードはありませんので、一応どちらも Vim だと思います。ただし、ビジュアルモードでの `I` 等の操作は、`+visualextra` という機能付きでコンパイルされている必要があり、これは `normal` バージョン以上の Vim に含まれています。(Vim は大きく分けて `tiny` `small` `normal` `big` `huge` のバージョンがあり、後者ほど入っている機能が多いです) なので、tmux のあるサーバ上の Vim が `small` や `tiny` の Vim である可能性が高いです。