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

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

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

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

Q&A

2回答

1778閲覧

インサートモード時の<C-i>のキーバインドを変更したい(別のキーに割り当てたい)

kento2543

総合スコア163

Vim

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

0グッド

0クリップ

投稿2015/11/03 04:55

標準では?<C-i>のキーバインドは
Tabに割り当てられておりますが、別のキーに割り当てたいと考えております。

そこで以下のように記述したのですが、上手くいきませんでした。

~/.vimrc```
imap <C-i> <Up>

- imap - inoremap どちらとも試したのですがダメでした・・・。 何が原因か分かる方はいらっしゃいますでしょうか? 宜しくお願いします。

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

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

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

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

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

guest

回答2

0

私の環境では以下で設定できましたが、再読み込み(:source ~/.vimrc)されていないとか...?

vim

1inoremap <C-i> <Up>

ご存じかもしれませんが、<C-i>にマッピングすると<Tab>が潰れてしまいます。
他のキーにマッピングする方が良いかと思います :)

参考: 同一視されるキーに注意 - 永遠に未完成

投稿2015/11/03 05:06

ryunix

総合スコア1656

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

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

kento2543

2015/11/03 05:36

早速ありがとうございます。 :source ~/.vimrc は致しましたが、上手く反映されませんでした・・・。 ちなみに、MacでiTermを使用しております。
ryunix

2015/11/03 05:51

環境は同じようですね、ちなみに vim と gvim で試しました。 :inoremap を実行すると以下が出力されますか? i <Tab> * <Up>
kento2543

2015/11/03 08:32

再度ありがとうございます。 実行したところ、以下のように表示されました。 i <Tab> neosnippet#expandable() ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-N>" : "\<Tab>" ちなみに、expandableあたりの設定は以下の通りです。 imap <C-k> <Plug>(neosnippet_expand_or_jump) smap <C-k> <Plug>(neosnippet_expand_or_jump) imap <expr><TAB> neosnippet#expandable() ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>" smap <expr><TAB> neosnippet#expandable() ? "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>" 正直のところ、きちんとvimのプラグインの内容が理解しきれていないのですが、expandableが何か邪魔をしている感じなのでしょうか?
ryunix

2015/11/03 08:48

プラグインが悪いのではありません。 先程の参考urlをご参照頂きたいのですが、<C-i>と<Tab>は同一視されます。 今回は先に<C-i>のマッピングがあり、その後で<Tab>のマッピングがあると想像できます。 <Tab>のマッピングをした際に、<C-i>のマッピングが上書きされてしまいます。
guest

0

:imap <C-i>でステータスラインに何が表示されるでしょうか?

割り当てができているなら
i <Tab> <Up>

割り当てができていないのなら
マッピングは見つかりませんでした(日本語の場合です)

のように表示されます。

投稿2015/11/03 05:52

shiena

総合スコア1825

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

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

kento2543

2015/11/03 08:29

ご回答ありがとうございます。 実行したところ、以下のように表示されました。 i <Tab> neosnippet#expandable() ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C -N>" : "\<Tab>" ちなみに、expandableあたりの設定は以下の通りです。 imap <C-k> <Plug>(neosnippet_expand_or_jump) smap <C-k> <Plug>(neosnippet_expand_or_jump) imap <expr><TAB> neosnippet#expandable() ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>" smap <expr><TAB> neosnippet#expandable() ? "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"
kento2543

2015/11/03 08:30

正直のところ、きちんとvimのプラグインの内容が理解しきれていないのですが、expandableが何か邪魔をしている感じなのでしょうか?
shiena

2015/11/03 08:45

その設定ですと<C-i>と<Tab>は既にexpandableあたりの式に割り当てられていますね。 試しにvimを起動した後に`:imap <C-i> <Up>`を実行するとインサートモードでCtrl + iかtabを押したときにカーソルが上に移動しますが、expandableの方は上書きされているので動かないはずです。 また、.vimrcの設定は後勝ちなのでそちらの設定が後の方にあるんだと思います。 1つのキーに1つの割り当てしかできませんので 1. <Up>の割り当てをあきらめる 2. expandableを別のキーに割り当てる このどちらかでしょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問