From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "jinneemop" Newsgroups: gmane.emacs.help Subject: Re: replace TAB with 8 whitespaces Date: Mon, 16 Jun 2003 19:52:57 +0000 Organization: zju Sender: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Message-ID: References: <848ys67985.fsf@lucy.is.informatik.uni-duisburg.de> <84r85ufpos.fsf@lucy.is.informatik.uni-duisburg.de> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1055765207 13999 80.91.224.249 (16 Jun 2003 12:06:47 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 16 Jun 2003 12:06:47 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Mon Jun 16 14:06:42 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19Rsk8-0003Zz-00 for ; Mon, 16 Jun 2003 14:05:48 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.20) id 19Rsjm-0002na-9p for gnu-help-gnu-emacs@m.gmane.org; Mon, 16 Jun 2003 08:05:26 -0400 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!nntp.cs.ubc.ca!nntp-relay.ihug.net!ihug.co.nz!newsfeed.media.kyoto-u.ac.jp!news.cn99.com!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 52 Original-NNTP-Posting-Host: 210.32.188.90 Original-X-Trace: mail.cn99.com 1055765045 31107 210.32.188.90 (16 Jun 2003 12:04:05 GMT) Original-X-Complaints-To: usenet@news.cn99.com Original-NNTP-Posting-Date: Mon, 16 Jun 2003 12:04:05 +0000 (UTC) User-Agent: Pan/0.13.3 (That cat's something I can't explain) Original-Xref: shelby.stanford.edu gnu.emacs.help:114474 Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.help:10966 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:10966 On Mon, 16 Jun 2003 09:26:43 +0200, Kai Großjohann wrote: > It inserts a tab and a space? That's strange. Is it always like > this, or only in some situations. Note the following snippet: > > int main(int argc, char* argv[]) > { > int a; > printf("some %string\n", > argv[0]); > } > > Here, the "argv[0]" line will be indented in such a way that it > aligns with the parenthesis above. This means that the indentation > depends on the length of the function name "printf". For example, if > it was "fprintf", then the indentation would be one column more. > > Further, Emacs uses an optimum mix of tabs and spaces to achieve the > desired indentation. In the above example, the argv[0] line needs to > be indented 15 columns, and since a tab is eight columns wide, the > optimum mix is one tab and 7 spaces. > > This behavior can be controlled with the variable indent-tabs-mode. > Type M-x customize-variable RET indent-tabs-mode RET to change it. > If indent-tabs-mode is nil (off, false), then Emacs will use 15 > spaces instead of 1 tab plus 7 spaces in the above case -- Emacs will > never use tabs for indentation when indent-tabs-mode is off. > > Does that explain Emacs' behavior? Does changing indent-tabs-mode > achieve what you want? Thanks a lot. I add (setq indent-tabs-mode nil) to .emacs, and Emacs uses no tabs. But it inserts only 2 spaces! Then I add this (googled from internet) to .emacs: (defun my-c++-mode-hook () (c-set-style "k&r") (setq tab-width 8) (setq c-basic-offset 8) (define-key c++-mode-map "\C-m" 'reindent-then-newline-and-indent) (define-key c++-mode-map "\C-ce" 'c-comment-edit) (setq c++-auto-hungry-initial-state 'none) (setq c++-delete-function 'backward-delete-char) (setq c++-tab-always-indent t) (setq c-indent-level 8) (setq c-continued-statement-offset 8) (setq c++-empty-arglist-indent 8)) (add-hook 'c++-mode-hook 'my-c++-mode-hook) It works. But becase I konw little about lisp, it is Greek to me. :-( How can I start to learn lisp?