From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: daniel@bigwalter.net (Daniel Jensen) Newsgroups: gmane.emacs.help Subject: Re: swapping the bindings of TAB and M-i ? Date: Thu, 17 May 2007 12:17:52 +0200 Message-ID: <87k5v7bvov.fsf@orme.bigwalter.net> References: Reply-To: indiscipline@gmail.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1179397972 20654 80.91.229.12 (17 May 2007 10:32:52 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 17 May 2007 10:32:52 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu May 17 12:32:51 2007 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1HodHt-0005Ms-Is for geh-help-gnu-emacs@m.gmane.org; Thu, 17 May 2007 12:32:49 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HodPy-0002F3-Gn for geh-help-gnu-emacs@m.gmane.org; Thu, 17 May 2007 06:41:10 -0400 Original-Path: shelby.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 18 Original-X-Trace: individual.net uGIVPNbrWx/tT/FgznjCAAqY2vS37sP11AbQI8v/3yfX6ns4jE X-Face: SNGmwsN&0DaHhS0!*%\@y"Wc^).,<; VsqY#}K/NJ:A Z6_>Md7x$Z9C1%BAu41M'12-8(f2{H*8OsnYv,K+y.szl1K>}{uC/>2?; k[KUiD=$}@z>odk|7Tk7i $A|{j7LhTt!:SdVp5Z, kKA247}--"-QLedxCbw|#&bh=R]Rd)kx{q+T'fG)9ayG`+\@g'3vx1Fd3bl -`3}Guvr!A"Z);"$|]CXW>YR5m"<[L User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.99 (gnu/linux) Cancel-Lock: sha1:nhApM0mnSCv971CqrqCOsJHKFDM= Original-Xref: shelby.stanford.edu gnu.emacs.help:148485 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:44072 Archived-At: poppyer writes: > I would like to swap TAB and M-i, i.e. > use TAB to do tab-to-tab-stop; and M-i to indent codes. > However, the "indent" of current TAB binding is mode-specific. > Is there any easy way to do such kind of swap without re-bind the keys > mode by mode? You can add the following function to the hooks for the major modes you want to change. There are ways to do this for every mode, but you probably don't want to do that. (defun swap-indent-bindings () (let ((tab-binding (key-binding "\C-i"))) (local-set-key "\C-i" (key-binding "\M-i")) (local-set-key "\M-i" tab-binding))) (add-hook 'text-mode-hook 'swap-indent-bindings) ; and so on