2009-06-09 6 views
0

私の質問のタイトルはsane tabs in emacsへの参照です。emacsの完全に明瞭なタブとスペース?

基本的には、全世界でタブとインデントを設定するのは、 で統一された方法です。私はemacsがTextMate またはBBEditよりはるかに優れているように感じていますが、実際にはインデントを処理する方法は単純で偉大です 私の目的のために。 emacsでは、あなたが のマイナーモードで実施されているスキームと異なるタブ/スペーススキームを使用している場合は、 という問題があります。

私がenterを押すと、次の行に移動して、 のタブを使用して適切な場所に移動したいと考えています。もし私がケーキを食べて食べることができたら、 は、残りのファイルが のように構成されていれば、スペースを使ってインデントされているのが好きです。

私はまた、これらを試してみた:私はこれを達成するのを助けることができます誰にでも
doing tabs in emacs
force emacs to use tabs

感謝を。

-Mike

+0

私は私の質問に記載された記事や回答からの他の断片からたくさんの異なるスニペットを組み合わせる必要がありました以下。誰も私のための完全な解決策がなかったので、私はただ一つの答えを受け入れることを心配しています。もちろん、これは私の質問について答えについてよりも多くのことを言うかもしれません。みんなありがとう。もし誰かが私が最後に何をしたのか気にしたら、私はここにそれを掲示することができます、私に知らせてください。 -Mike –

+0

あなたのために働いたものを投稿してください。私はまた、ケーキを持ってそれを食べる方法を探しています:)。ありがとう。 – sateesh

答えて

4

おそらく(global-set-key (kbd "RET") 'newline-and-indent)何をしたいのですか? (それが可能なのですか、あなただけの代わりにEnterキーのC-j打つことができれば、あるいはreindent-then-newline-and-indent。)あなたの質問のこの部分については

2

を :

私は自分のケーキを持っていると私は「あまりにもそれを食べることができる場合dは余分に のファイルがそのように構成されている場合は空白を使用してインデントされます。

これは何をしますか?

(defun dtrt-indent() 
    (setq indent-tabs-mode 
     (save-excursion 
      (goto-char (point-min)) 
      (search-forward "\t" nil t)))) 
(add-hook 'text-mode-hook #'dtrt-indent) 
(add-hook 'c-mode-hook #'dtrt-indent) 
; etc for all modes you care about 

バッファ内にタブがある場合は、タブを使用してインデントします。タブがない場合は、スペースを使用してインデントします。

+0

FWIWではなく、私はこのような設定をeprojectで宣言します: http://wiki.github.com/jrockway/eproject/project-attributes – jrockway

0

説明するように、あなたのセットアップを行う場合:

(setq indent-tabs-mode t) 
(setq-default indent-tabs-mode t) 
(setq tab-width 4) ;; 8 is way too many 
(setq default-tab-width 4) ;; 8 is way too many 
(global-set-key (kbd "RET") 'newline-and-indent) 

indent-tabs-mode事は(個々のモードによって定義される)は、所望のインデントを補うためにタブとスペースを使用してインデントを作成するためのemacsを教えてくれます。つまり、TABS/SPACESの代わりにTABを挿入する場合は、インデントとしてtab-widthを使用するようにモードを設定する必要があります。

たとえば、あなたはc-modeを使用している場合や、スペースを挿入しますnewline-and-indentインデント値として4を使用してインデントスタイル(C-c .を選択)としてcc-modeを選択します。

結論するには:あなたのモードは、インデントなどtab-widthを使用しています

  1. チェックを
  2. あなたのモードがindent-tabs-mode

python-modeこれを行うように見える)overwrideしないチェックが、私個人的にドンあなたの旅のTABS幸運のように:)

0

ベストプラクティスはあなたのpを説得することですあなたが好きな方法をインデントする に選択のローグモード。これは一般的に非常に簡単です。私は です。インデントについては気をつけてください。私のemacsは常に正しいことを に自動的に行います。 (つまり、 "indent-region"も常に 私が望むものは非常に便利です)を意味します。

関連する問題