ファイルを開くときのviのカーソル位置

ファイルを開くときのviのカーソル位置
vishex ()
{ 
    echo '#!/bin/bash' > $1;
    chmod +x $1;
    vi $1
}

上記の関数の目的は、bashスクリプトをすばやく快適に生成できるエイリアスを持つことです。ファイルを開くときにカーソルをShebang行ではなく下の行に置くようにしたいと思います。似たようなことを試しましたが、echo 'blabla\n', echo "blala\n", printf "blala\n"結果はありません。

ベストアンサー1

これを使用してください:

vishex () 
{ 
    [ -e "$1" ] || echo -e '#!/bin/bash\n\n' > "$1";
    chmod +x "$1";
    vi "+normal G" +startinsert "$1"
}
  • [ -e "$1" ]スクリプトがすでに存在することを確認してください。そうであればecho上書きしません。
  • -e\nechoでは、改行などのバックスラッシュエスケープを解釈できます。次に、shebang行の後に2つの改行を挿入します。
  • +normal GGファイルの最後の行に移動するexコマンドを実行します。
  • +startinsert挿入モードに直接切り替えます(質問されていないため、そのままにしておくこともできます)。

したがって、実行するとvishex script次のようになります。

#!/bin/bash

<- cursor is here
~
[...]
~
-- INSERT --                                                               3,1           All

おすすめ記事