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

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

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

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Vim

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

Q&A

解決済

3回答

4410閲覧

Vim カッコの外に出る方法

Kchan_01

総合スコア110

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Vim

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

0グッド

0クリップ

投稿2020/07/21 01:50

編集2020/07/21 02:16

VSCodeからvimに移行しています。macを使っています。

VSCodeのときは、カッコの入力補完もあるので、<C-f>で入力後カッコ内から出て、セミコロンを打っていました。

// vscode ↓ test(と入力 test(※) ↓ hogeと入力 test(hoge※) ↓ <C-f> test(hoge)※ ↓ ;を入力 test(hoge);※

この動作をvimでやる場合、どうやるのが効率がいいのでしょうか。
そのまま、test(hoge);と順番に打つしかないのでしょうか。できればカッコは一度に入力したいのですが、vimではそれはやらないほうがいいでしょうか。

// 現状のvim、矢印キーを触っていて効率が悪い ↓ test()と入力 test()※ ↓ 矢印←で戻る test(※) ↓ hogeと入力 test(hoge※) ↓ 矢印→でカッコの外にでる test(hoge)※ ↓ ;を入力 test(hoge);※

よろしくおねがいします。

追記
拡張機能を使わない方法も知りたいです。

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

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

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

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

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

guest

回答3

0

VSCodeのようにはいかないですが .vimrc に下記のように設定することができます。

inoremap { {}<LEFT> inoremap ( ()<LEFT> inoremap [ []<LEFT>

参考URL: https://qiita.com/shingargle/items/dd1b5510a0685837504a

投稿2020/07/21 02:29

satoshih

総合スコア797

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

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

Kchan_01

2020/07/21 02:45 編集

ありがとうございます。入力後、カッコの外に出て、セミコロンを入力するときはどうされていますか? ノーマルモードに戻ってaでしょうか。
satoshih

2020/07/21 02:49

そうなりますね。 普段セミコロンを末尾につけないので気づかなかったですが、この方法だと若干面倒かもしれないですね...
milihula

2020/07/21 08:09

ノーマルモードに戻ってaだと(hoge|)のパイプ部にカーソルが飛ぶので行末が確定しているのであれば Aをつかうことをおすすめします。
guest

0

どちらかをインストールすれば期待通りになると思います。

https://github.com/cohama/lexima.vim

https://github.com/mattn/vim-lexiv

投稿2020/07/21 02:06

mattn

総合スコア5030

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

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

mattn

2020/07/21 04:05 編集

ちなみにこれらのプラグインを入れると () だけでなく "" や '' や {} や [] も期待されておられる「真ん中に戻る」動作になります。
guest

0

ベストアンサー

普通にtest()<esc>ihoge<esc>A;でいけますね。
ショートカットを作らなければならない!は固定観念だと思います。

iはカーソルの左でインサートモードにするので、
()と入力して一度ノーマルモードを経由してiでカッコの中から編集を再開できます。

文末へ書き足すならAを使ったインサートモードへの入りかたですかね。
iIaAの4種は絶対に使いまくるので覚えておくと入力速度が格段に上がりますよ。

ちなみに<esc>キーは遠いのでjj<esc>を割り振る人も多いです。
参考記事: Vim幼稚園からVim小学校へ - Qiita

投稿2020/07/21 09:49

miyabi-sun

総合スコア21158

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

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

Kchan_01

2020/07/21 09:58

ありがとうございます! 大文字A、Iをちゃんと理解していませんでした。これでむずむずしていた入力がだいぶ捗りそうです。 これからvim幼稚園ライフを楽しみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問