tmux内で実行しているときにvimでキーをめちゃくちゃにした


9

私はtmuxで遊んでいて、大好きです。ただし、その中でvimを実行すると、厄介な問題があります。

どういうわけか、矢印キーが再マップされますが、Command-Tを起動するときなど、特定の時間にのみ、ファイルリストを下にスクロールしようとすると、コマンドがキャンセルされ、挿入モードになり、矢印キーに応じて押すと、A、B、C、またはDが挿入されます。

たとえば、矢印を使用してバッファーを移動すると、正しく動作します。

何か案は?

ありがとう!


1
$TERM外は何tmuxですか?中は?アプリケーションモードと通常のキーパッドモードで何かが起こっているようです。
追って通知があるまで一時停止。

tmux以外:xterm、inside:screen ...実行TERM=screen vimすると同じ動作が見られるため、画面を修正する必要がありますか?
Ivan

回答:


13

私は単にset -g default-terminal "xterm".tmux.confに追加しました

これにより、tmuxは画面の代わりにxtermを使用するようになりました。そのため、人生は美しく、キーバインドを踏むことを心配する必要はありません。


5
このように良いset -g default-terminal "xterm-256color"。それ以外の場合、色が限られているため、ビジュアルモードでは気付かなかった。
マカリオ

1
これとを組み合わせる必要がありましたset -g xterm-keys on
Dan Stahlke、2012年

4
tmuxのmanページには、「設定しない」と書かれていることに注意してくださいdefault-terminal。影響が何であるかはわかりません。
Dan Stahlke、2012年

1
default-terminal設定してはならない警告を考えると、おそらくvim側からのより良い修正があります:link
Dan Stahlke、2012年

私の場合は機能しません...
Blaszard

6

最後に私はここで私の答えを見つけました:OSXで画面を実行しているとき、command + rはすべての画面でvimの矢印キーを台無しにします

奇妙なことに、.vimrcファイルにマッピングを1つだけ追加しました。

map <Esc>[B <Down>

しかし、その単一のマッピングにより、すべての矢印キーが正しく機能します...


どういうわけか...これはCentos 6.3で私のために機能した唯一のソリューションでした
Patryk

これはまったく意味がありませんが、単一のマッピングを追加することで、すべてのキーが修正されるように見えます。(少なくとも私にとっては)見知らぬ人でさえ、挿入モードでのキープレスの直接マッピングはそれを修正しません(map ^[A <Up>Ctrl + V <Up>をmap ^[OA <Up>押してOを削除することから、Ctrl + V <Up>を押してOを残すことで機能します't)。わかりません...でも何でも。これで私のキーは機能します。ありがとうございました。
ND Geek


1

万が一誰かがこのソリューションが機能していないことに気が狂った場合に備えて。

実際にtmux + vim + AutoClose vimプラグインを使用していないことを確認してください。自動クローズは、前の行にABCD文字が挿入される原因となるものをマップします!

プラグインを消去したところ、問題なく動作しています


ありがとうございました!これで終わりです。代わりにこのautocloseプラグインを使用することになりました。同様の機能を提供します。
ollpu、2017年

0

Command-Tは、ターミナルで実行しているときにマッピングによってばかげたことをします。$ TERMがvt100 *またはxterm *の場合、マッピングをスキップしますが、これは良い解決策ではありません。


0

コマンドラインモードでカーソルを移動したい人は、このブログ投稿をご覧ください。vimrcに8行追加しました。

" Needed for tmux and vim to play nice
" Needed for tmux and vim to play nice
map <Esc>[A <Up>
map <Esc>[B <Down>
map <Esc>[C <Right>
map <Esc>[D <Left>

" Console movement
cmap <Esc>[A <Up>
cmap <Esc>[B <Down>
cmap <Esc>[C <Right>
cmap <Esc>[D <Left>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.