メニュー 閉じる

emacsでindent-regionすると頭に文字列が入る

emacsでコードを書いているとはいえemacsに精通しているわけではないので、トラブルに巻き込まれると辛いtukapiyoです。

今回は、indent-region(ソースコードのインデントを整える機能)を使ったときに、ソースコードの一部みたいな文字列で埋められてしまう件について。

発生している事象

簡単に説明すると上述の通りなのですが、具体的にどのようなことが発生しているか図示してみます。

期待する動作

  1. コードを入力する
  2. 範囲を選択する
  3. Tabキーを押す(M-x indent-regionのショートハンド)
  4. インデントされる!

困った動作

  1. コードを入力する
  2. 範囲を選択する
  3. Tabキーを押す(M-x indent-regionのショートハンド)
  4. 文字列で埋められる!

これは困った!

原因

原因は、set-fill-prefixが設定されてしまっていたためでした。

set-fill-prefixのショートカットは、C-x .なので誤操作をしてしまったのだと思います。
set-fill-prefixを使うと、それぞれの行を指定した文字列から始めるような整形がされるようです。
文字列を選択して、C-x .を入力すると以下の様に表示され、fill-prefixが設定されたことが示されます。

文字列を選択していない状態で、C-x .を入力すれば解除できます。

これで本来のインデントが出来るようになりましたとさ。

コメントを残す