VIMスクリプトで、行頭の半角スペース、全角スペース、タブを全て削除するコマンドとして下記のように書いたのですが、実行すると以下のようなエラーが出ます。

どうしたらうまく動くようになるでしょうか?

◆エラー表示
function DeleteHeadSpace の処理中にエラーが検出されました:
E869: (NFA)未知のオペレータです: '\@)'
E59: @ の後に不正な文字がありました
E476: 無効なコマンドです

◆VIMスクリプト
command DeleteHeadSpace call DeleteHeadSpace()
function! DeleteHeadSpace()
%s/\v^(\s| )*//g
endfunction

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2015/10/07 03:25:18
  • 終了:2015/10/07 10:50:17

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4469ベストアンサー獲得回数18442015/10/07 07:31:08

ポイント123pt

スクリプトを Shift-JIS で書いているようですが、Windows 環境でしょうか。
スクリプトファイルのエンコードと scriptencoding を一致させてください。

http://d.hatena.ne.jp/leafcage/20131107/1383817676
http://rbtnn.hateblo.jp/entry/2014/11/30/174749

id:tetlis

はい、Windowsです。

スクリプトファイルのエンコードと scriptencodingは一致しているつもりだったのですがうまくいかず、
紹介して下さっていた2番目のサイトに書いてあるとおり、「scriptencoding」「set encoding」の順番を直したらうまく動きました。

ありがとうございました!

2015/10/07 10:49:50

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません