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

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

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

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

Vim

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

エスケープ処理

エスケープ処理とは、一連の文字や一文字に対して、一定の規則に従って別の意味を適用する処理過程です。

Q&A

解決済

1回答

869閲覧

Vimの短縮入力で inoreab #ip #include <stdio.h> が定義できない理由を知りたい。

Kchan_01

総合スコア110

terminal

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

Vim

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

エスケープ処理

エスケープ処理とは、一連の文字や一文字に対して、一定の規則に従って別の意味を適用する処理過程です。

0グッド

0クリップ

投稿2020/07/29 06:14

vim初心者です。macを使っています。

.vimrcに以下の記述をするとエラーが出ます。

inoreab #ip #include <stdio.h>

terminal

1Error detected while processing /Users/user/.vimrc: 2line 49: 3E474: Invalid argument

以下を試しましたがエラーが出ました。

  • 記号をエスケープ
  • スペースを取る
  • 他の短縮入力をすべて消去して

vimを開いて、:inoreab #ip #include <stdio.h>
すると登録でき、使用できます。

なぜうまく行かないのか、どうすれば登録できるのか知りたいです。

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

:help abbreviations に記載がありますが、短縮入力に登録できる形式には決まりがあります。

  • full-id 形式: キーワード文字のみからなるもの
  • end-id 形式: 非キーワード文字が一つ以上連続した後、最後の1文字だけがキーワード文字となるもの
  • non-id 形式: 非キーワード文字で終わるもの

キーワード文字は iskeyword オプションで定義されます。
デフォルト設定では # は非キーワード文字となるため、#ip は上記3種類のどれにも当てはまらないのでエラーとなります。
Vim の起動後にエラーとならないのは、iskeyword# が登録されているからではないかと推測されます。
#ip 以外の形式を使うか、iskeyword の設定を見直してみてください。

投稿2020/07/29 07:22

編集2020/07/29 07:29
K.Takata

総合スコア108

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

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

Kchan_01

2020/07/30 05:33

end-idに引っかかっていたということがわかりました。 > end-id 形式: 非キーワード文字が一つ以上連続した後、**最後の1文字だけ**がキーワード文字となるもの 最後の1文字だけというところがわかっていませんでした。vim-jpのドキュメントの翻訳も微妙な感じがしたので、迷ったら英語のドキュメントを読むようにしたいと思います。 `:set iskeyword` で一覧が確認できました。 登録する語句自体を変えようと思います。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問