1
0

More than 3 years have passed since last update.

【Vim】コメントを入力した時、カーソルが勝手に文頭に移動してしまう

Last updated at Posted at 2020-03-15

問題

コメントを入力しようとしたら、勝手にカーソルが移動してインデントが消えてしまう問題です。

自分の場合はRubyファイルでしたが、

controller/items_controller.rb
    if @row.save
      redirect_to title_path(title_id), notice: "ITEM SAVED"
    else
      redirect_to title_path(title_id), notice: "SAVE FAILED"
    end

こういう場合、if文内にそれぞれ# 保存成功# 保存失敗を入れたくても、#を入力した瞬間にカーソルが移動してしまい、

controller/items_controller.rb
    if @row.save
# 保存成功
      redirect_to title_path(title_id), notice: "ITEM SAVED"
    else
      redirect_to title_path(title_id), notice: "SAVE FAILED"
    end

とズレてしまいました。
ああああああああああ!!!!!!!!!!!!!!!

原因

Vimの設定でfiletype plugin indent offになっていたからでした。

確認方法

Vimファイルを開いて
:filetype
で確認出来ます。

filetype detection:ON plugin:ON indent:ON

この3つすべてがONが良いみたいですね。

自分の場合は、3つ目のindentがOFFになっていました。

設定方法

読み込んでいる.vimrcで、(最後あたりに書く?)

.vimrc
filetype plugin indent on

これで解決しました。

雑記

最初はvim74/syntax/ruby.vimのあたりに原因があると思って、コメントを判別する行を消したりしてみました。
ただこのシンタックスは「このファイル形式だったら、こういうコードはこういう意味ですよ」という判別をしてくれてるファイルみたいですね。

問題はそのシンタックスの定義にもちゃんとインデント幅があり、それをちゃんと認識してなかったという事でした。

「vim ruby indent コメント」とかで検索しても、「コメント行の次の行までコメントアウトされてしまう!」問題ばかりがヒットして地味に見つけるのが大変だったのでまとめておきます。

以上です

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0