質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

Q&A

解決済

2回答

8193閲覧

vim のマッピングででCtrl Shift同時押しが効かない?

tonkatu05

総合スコア25

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

0グッド

0クリップ

投稿2016/03/21 15:32

編集2016/03/22 04:48

環境Ubuntu14.04 Vim7.4

下記のような設定を.vimrcに書きました。

nnoremap <C-Tab> gt nnoremap <C-S-Tab> gT nnoremap <C-S-l> :<C-u>tabm+1<cr> nnoremap <C-S-h> :<C-u>tabm-1<cr>

nnoremap <C-Tab> gt
nnoremap <C-S-Tab> gT
の設定はうまく動くのですが

nnoremap <C-S-l> :<C-u>tabm+1<cr>
nnoremap <C-S-h> :<C-u>tabm-1<cr>
の設定をしても、それぞれCtrl+l、Ctrl+hで動いてしまいます。
本当はCtrl+Shift+l、Ctrl+Shift+hで動くようにしたいです。
どうしたらよいでしょうか。

追記

gvimで動かしていました。
<C-Tab><C-S-Tab>は動くので<C-S-h>の書き方に問題があると思っていたのですが、そもそもgvimではできないのですね。逆に<C-S-Tab>がうまく動いたことが不思議ですが。

neovimというものがあるのですね。知りませんでした。乗り換えも検討してみたいと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

gVimでも不可能です.
neovimなら可能だそうです.

https://groups.google.com/forum/#!msg/vim_dev/Ym6D-kWIsyo/xAZPrkp99moJ

https://github.com/vim-jp/issues/issues/757
https://github.com/vim-jp/issues/issues/756

^x と Shift-^x ですが,少なくともTerminal.app, iTerm2上では区別されているように感じます.
^x とShift-^xを識別できないのは,ssh接続した場合での端末であったり一部の古い端末ですね.

そもそも,vimの仕様上,Ctrl-Shiftの組み合わせができません.

vim(Vim script)ではxキーの場合ですと
ctrlキーの表現を <C-x>
Shitキーの表現を X

と書きますがが,<C-x><C-X>もどちらもCtrl-Xへのマッピングとなります.

vim-jp/issuesによりますと,Vim scriptの文法以前に内部でのキーコードの扱いの仕様上無理だそうです.

投稿2016/03/22 04:25

編集2016/03/22 04:38
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tonkatu05

2016/03/22 04:50

ご回答ありがとうございます。 neovimというものがあるのですね。知りませんでした。乗り換えも検討してみたいと思います。 なぜ<C-Tab>と<C-S-Tab>はうまく動くのですかね、、、?笑
tonkatu05

2016/03/22 11:04

なるほど! 色々ありがとうございます!
guest

0

もしかして端末からvimを起動していませんか?
端末は、文字コードのあるキーしか扱えません。C-S-h と C-h は同じ C-h (0x08) という文字コードなので、同一視されます。
C- と C-S- を別物として扱いたい時は、Xアプリであるgvimを使ってください。

投稿2016/03/22 02:45

otn

総合スコア84499

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tonkatu05

2016/03/22 04:51

ご回答ありがとうございます。 gvimで使ってました。neovimじゃないとダメっぽいですね。 <C-Tab>と<C-S-Tab>がうまく動いたのが不思議ですが、、、。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問