vimは「Shift I I」を押すとpythonのインポート文が書き込まれるようにバインディングを作成します

vimは「Shift I I」を押すとpythonのインポート文が書き込まれるようにバインディングを作成します

「Shift I I」を押すと Python のインポート ステートメントが書き込まれるようなバインディングを作成したいと思います。

地図のようなものになると思いますこれ:

:map <S-i><S-i> ...

希望する出力をどのようにマッピングすればよいかわかりません。挿入モードに入り、次のように入力します。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

私の問題は、このマッピングにリターン文字を挿入する方法がわからないことです。このマッピングは機能しますが、1 行しか生成されません。

:map <S-i><S-i> iimport numpy as np

リターン文字を使ってみましたが、

:map <S-i><S-i> iimport numpy as np\nimoprt pandas as pd

しかし、それは機能しませんでした。リターン文字を書き出すだけです。

ファイルにスペースを入れてみましたが、

imoprt pandas as pd:map <S-i><S-i> iimport numpy as np
imoprt pandas as pd

しかし、それはエラーを引き起こします

Error detected while processing /Users/kilojoules/.vimrc:
line   22:
E492: Not an editor command: imoprt pandas as pd

このマッピングで目的のインポート ステートメントを書き出すにはどうすればよいですか?

答え1

ChatGPT は素晴らしい答えをくれました:

Vim マッピングに改行文字を挿入するには、<CR> シンボルを使用します。このシンボルを使用して、次のように目的のマッピングを作成できます。

:map <S-i><S-i> iimport numpy as np<CR>import pandas as pd<CR>import matplotlib.pyplot as plt<CR>

これにより、Shift + i を 2 回押すとインポート ステートメントが挿入されるマッピングが作成されます。

関連情報