i_rei
@i_rei

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

vimrcで何かのキーを押したら末尾に;が挿入されるようにしたい

Vimの初心者です。

vimでコーディングするとき、Filetypejavascriptのときだけ、何かしらのキーが押されたときに、自動で;を末尾に挿入するようにしたいです。

inoremap ( ()<left>

vimrcで上記のような設定((を入力したとき)を補完して()の中にカーソルがある )をしており、これの応用とautocmd Filetype javascript組みあわせてできると考えました。

しかし、何かしらのキーが押されたとき、というのをどのように設定すればいいかわからなかったので、質問いたしました。

教えてくださると嬉しいです。

0

2Answer

<C-;> は CUI 環境だと使えない場合があります。

挿入モードでの <C-x> は入力補完のための ^X モードに入ります。これは正常な動作です。


最終的に、実現したいことは達成できたのでしょうか?

あ、今気づきましたが、そうするとどんな文字を入力しても;が入力されてしまうことになり、困りますね....

とあるので、質問自体取り下げ(クローズ)、という形になりますか?

1Like

Comments

  1. @i_rei

    Questioner

    `<C-;>`などの説明ありがとうございます。自分の環境はCUIなので、おそらくそうだと思います。

    この質問自体はクローズの形になります。クローズし忘れていたので、混乱させてしまったらすみません。

外していたらすみません.

autocmd FileType javascript inoremap <C-;> ;<left>

みたいにしたら, コントロール + x キーで ; が入力されそうですが,
そういうことなんでしょうか?

0Like

Comments

  1. @i_rei

    Questioner

    回答していただきありがとうございます。
    少し違いますね....
    ちなみに、自分の環境がMacなのですが、この場合、コントロールキーは、controlキーでよろしいのでしょうか?
    もし知っていたら、教えてくれるとうれしいです。
  2. はい、コントロールキーは「control」と印字されているキーです

    ちなみに何が違うんでしょうか?
  3. @i_rei

    Questioner

    自分の表現が分かりにくかったらすみません。
    教えてくれた方法だと、少し言い方を変えれば、control + xキーを押さない限り;は入力されないと思います。
    例えば(を入力したら)が何もしなくても入力されているように、何かコードを書き始めたら、;を入力したいのです。
    あ、今気づきましたが、そうするとどんな文字を入力しても;が入力されてしまうことになり、困りますね....

    あともう一つ質問したいのですが、教えてくれた方法をvimrcに書き込んで使ってみたのですが、実行できませんでした。

    -- ^X モード (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)

    というのが表示されたのですが、これは正常な反応なのでしょうか?
  4. 自分で,その行しかないファイルを作ってみたところ,特に問題無くインサートモードで `Ctrl-;` → `;` の挿入という動作はしましたが,正しい方法かと言われると自信がないですね.
  5. @i_rei

    Questioner

    もう一度、インサートモード、ノーマルモードどちらも試してみましたが、反応しませんでした。

Your answer might help someone💌