From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Andrew B. Young" Newsgroups: gmane.emacs.help Subject: Re: emacs switch similar to vi's -R, or view equivalent? Date: Wed, 23 Aug 2006 08:37:46 -0700 Message-ID: <44EC764A.604@an3e.org> References: <44EB2081.8060100@an3e.org> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7BIT X-Trace: sea.gmane.org 1156347637 18854 80.91.229.2 (23 Aug 2006 15:40:37 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 23 Aug 2006 15:40:37 +0000 (UTC) Cc: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Aug 23 17:40:32 2006 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1GFunt-0000FP-V2 for geh-help-gnu-emacs@m.gmane.org; Wed, 23 Aug 2006 17:38:06 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GFunt-0005AW-D8 for geh-help-gnu-emacs@m.gmane.org; Wed, 23 Aug 2006 11:38:05 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GFung-00057p-85 for help-gnu-emacs@gnu.org; Wed, 23 Aug 2006 11:37:52 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GFune-00054M-Hj for help-gnu-emacs@gnu.org; Wed, 23 Aug 2006 11:37:51 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GFune-000549-6x for help-gnu-emacs@gnu.org; Wed, 23 Aug 2006 11:37:50 -0400 Original-Received: from [128.18.84.104] (helo=mailgate-internal2.sri.com) by monty-python.gnu.org with smtp (Exim 4.52) id 1GFuvV-0002qP-95 for help-gnu-emacs@gnu.org; Wed, 23 Aug 2006 11:45:57 -0400 Original-Received: from localhost (HELO mailgate-internal2.SRI.COM) (127.0.0.1) by mailgate-internal2.sri.com with SMTP; 23 Aug 2006 15:37:46 -0000 Original-Received: from mercury.esd.sri.com ([128.18.26.21]) by mailgate-internal2.SRI.COM (SMSSMTP 4.1.11.41) with SMTP id M2006082308374522763 for ; Wed, 23 Aug 2006 08:37:46 -0700 Original-Received: from [128.18.44.121] (ayoung-g219.SRI.COM [128.18.44.121]) by mercury.esd.sri.com (iPlanet Messaging Server 5.2 HotFix 1.25 (built Mar 3 2004)) with ESMTPA id <0J4G004KWJI3JI@mercury.esd.sri.com> for help-gnu-emacs@gnu.org; Wed, 23 Aug 2006 08:39:39 -0700 (PDT) In-reply-to: User-Agent: Thunderbird 1.5.0.4 (X11/20060614) 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:36879 Archived-At: EXACTLY what I'm after! Thanks so much Kevin. Thanks also to Peter, William, and Edward for their helpful replies. I am aware of their suggestions and that's what I have been doing for years. But it's the command line switch I really wanted--saves keystrokes. Cheers, Andrew Kevin Rodgers wrote: > Andrew B. Young wrote: >> Is there an emacs switch similar to vi's -R, or view equivalent? >> >> I use emacs regularly but find "view this_file" very comforting, >> e.g., sudo view /etc/aliases. This forces me to ! the write as >> an extra measure of safety. >> >> My guess is that I need a special init file that gets loaded via an >> alias, i.e., "ev this_file". > > Here's a gem from 1997 > (http://groups.google.com/group/gnu.emacs.help/msg/46410ee284d11cc0): > > (setq command-switch-alist > (cons '("--read-only" . find-file-read-only-command-line-arg) ; > "-R" > command-switch-alist)) > > (defun find-file-read-only-command-line-arg (switch) > "Visit next command line argument (after SWITCH) as a read-only file." > ;; (prog1 (car x) (setq x (cdr x))) == (pop x): > (find-file-read-only (prog1 (car command-line-args-left) > (setq command-line-args-left > (cdr command-line-args-left))))) >