all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andreas Roehler <andreas.roehler@online.de>
Subject: Re: configuring emacs as a programmer's editor
Date: Fri, 30 Jun 2006 09:04:44 +0200	[thread overview]
Message-ID: <e82idl$gio$1@online.de> (raw)
In-Reply-To: 1151627894.208462.326680@m73g2000cwd.googlegroups.com

Ted wrote:

> OK, I have used emacs as just a clone of Notepad for quite a
> while.  I know that is under-using it, but I found configuring
> it to be more
> useful to me a bit onerous.  I find the emacs documentation a
> bit dense on one side, and short of the details and examples I
> need on the other.
>


Agree and don't agree. Beside the Emacs manual there is
Elisp manual with a rather detailed explanation of the
underlying concepts, vars and functions.



> I have a basic .emacs file, appended below, that seems like it
> should
> support most of the programming languages I use.  I constructed
> it by copying and pasting portions of .emacs files I found
> published on the web.
> 
> I need something that will work for me on both Windows XP and
> SUSE
> Linux 10.  


Probably you will or should use two different init
files: If you are in windows the .emacs from Linux will
not be known there. Also the windows Emacs is a
different machine as such AFAIU.

(Basically its possible the have a combined init file at
the windows part and read it in from Linux, but that
will complicate the task.)


> But on Windows, I have MS Visual Studio, and so need 
> emacs to support primarily SQL, Perl, PHP, while on Linux, I
> need it to
> support these plus the C++ and fortran gcc compilers.  While I
> do a lot of Java, I use Netbeans almost exclusively for my java
> programming. Finally, I need to be able to specify whether to
> submit my SQL to PostgreSQL or to MySQL, if that is possible.
> 
> I suppose I have two questions.  1) How do I modify the .emacs
> file
> I've managed to cobble together to fully support my needs?  and
> 2) Although I can get into perl mode (using cperl-mode, I
> think), by loading or creating a perl script file, I find
> invariably that the run, kill, next error, and check syntax
> items on the Perl submenu are
> disabled.  Why?  And how do I fix that?  

Programs may partly rely at system facilities as the
Linux-Shell - and respective windows facilities.

To solve a problem, it's necessary to know where you
are, which modes are on, which commands have been
called last etc.

Suggest to use the bug-report facilities (without
sending it)

M-x report-emacs-bug

just after the command failed. This way a lot of
useful information is collected, which may help.

> emacs is largely written in, and configured using lisp, and
> that to really understand this, I should learn lisp, but the
> time I have for that in a significant way is not yet available,
> so lisp code, for this fortran/C++,Java/SQL coder, is about as
> intelligible as Greek (which I
> don't understand, being a unilingual anglophone).  There is
> only so
> much time in a day and I can't get to everything I want to do. 
> :-( I'd make better progress if I could find a resource that
> relates lisp syntax and style to their counterparts in the
> languages I know, but that is another issue.

It's understood. At the other side: Without elisp knowledge it's
possible, with it starts the fun. (And much more fun 
as I expected.)

> For the present, I'll be content if someone could help me get
> emacs configured on Windows and Linux to meet my proximate
> needs.


> Thanks.
> 
> Ted
> 
> ====my .emacs file==================
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> ;; Emacs appearance
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> (set-background-color "white")
> (set-foreground-color "black") ;; slategray
> (set-cursor-color "red")
> 
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> ;; Display the time on the status line
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> (setq display-time-24hr-format t)
> (display-time)
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> ;; Associate different modes with different file types.
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> (defalias 'perl-mode 'cperl-mode)
> (autoload 'c++-mode  "cc-mode"  "C++ Editing Mode"         t)
> (autoload 'c-mode    "cc-mode"  "C Editing Mode"           t)
> (autoload 'plsql-mode       "plsql"      "PL/SQL mode"
> t)
> (setq interpreter-mode-alist
>       (append '(("perl"  . cperl-mode)
> ("perl5" . cperl-mode)) interpreter-mode-alist))
> 
> (setq auto-mode-alist
>       '(
>         ("\\.bashrc\\'" . sh-mode)
>         ("\\.bib\\'" . bibtex-mode)
>         ("\\.c\\'" . c-mode)
>         ("\\.cgi\\'" . python-mode)
>         ("\\.cpp\\'" . c++-mode)
>         ("\\.css\\'" . css-mode)
>         ("\\.dtd\\'" . sgml-mode)
>         ("\\.el\\'"  . emacs-lisp-mode)
>         ("\\.emacs\\'" . emacs-lisp-mode)
>         ("\\.es$" . c++-mode)
>         ("\\.htm\\'" . html-mode)
>         ("\\.html\\'" . xml-mode)
>         ("\\.shtml\\'" . html-mode)
>         ("\\.idl\\'" . c++-mode)
>         ("\\.java\\'" . jde-mode)
> ("\\.js$" . c++-mode)
>         ("\\.odl\\'" . c++-mode)
>         ("\\.py\\'" . python-mode)
>         ("\\.php\\'" . php-mode)
>         ("\\.phtml\\'" . php-mode)
>         ("\\.pl\\'" . perl-mode)
>         ("\\.properties\\'" . perl-mode)
>         ("\\.py$" . python-mode)
>         ("\\.sh\\'" . sh-mode)
>         ("\\.sql\\'" . sql-mode)
>         ("\\.text\\'" . text-mode)
>         ("\\.txt\\'" . text-mode)
>         ("\\.tex\\'" . latex-mode)
>         ("\\.vm\\'" . emacs-lisp-mode)
>         ("\\.wfcfg\\'" . perl-mode)
>         ("\\.wsdd\\'" . xml-mode)
>         ("\\.xml\\'" . xml-mode)
> ))


What's with the auto-mode-alist.

Usually it's defined by files.el and
should be OK. Are there reasons to redefine it? 

__
Andreas Roehler


PS:
Myself I'm still exploring Emacs and
interested in questions of convenience and usability.

Please feel free to send your precise questions with
email too. I'm using 

GNU Emacs 22.0.50.2 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars) 
at Suse 10.0. Windows rather not.


> (defun query-kill-emacs ()
>   "Asks if you want to quit emacs before quiting."
>   (interactive)
>   (if (nth 1 (frame-list))
>       (delete-frame)
>     (if (y-or-n-p "Are you sure you want to quit? ")
> (save-buffers-kill-emacs)
>       (message "Quit aborted."))))
> (defun paren-match ()
>   "Jumps to the paren matching the one under point,
> and does nothing if there isn't one."
>   (interactive)
>   (cond
>    ((looking-at "[({[]") (forward-sexp 1) (backward-char))
>    ((looking-at "[]})]") (forward-char) (backward-sexp 1))
>    (t           (message "Could not find matching paren."))) )
> 
> ;; pretty-print hashes:
> (if (fboundp 'maphash)
>     (defun pp-hash (H)
>       (let (s)
> (maphash
> (lambda (K V)
> (setq s (concat s (format "%S => \n%s" K (pp V))))) H) s)))

  parent reply	other threads:[~2006-06-30  7:04 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-30  0:38 configuring emacs as a programmer's editor Ted
2006-06-30  7:03 ` David Kastrup
2006-06-30  7:04 ` Andreas Roehler [this message]
2006-06-30  8:02   ` Le Wang
2006-06-30 12:13     ` Eli Zaretskii
     [not found]     ` <mailman.3562.1151669638.9609.help-gnu-emacs@gnu.org>
2006-07-01  4:20       ` Le Wang
2006-06-30  7:37 ` Le Wang
2006-06-30 16:14   ` Ted
2006-07-01 23:19     ` Le Wang
2006-07-02  3:46     ` B. T. Raven
2006-07-02  8:32       ` Tim X
2006-07-03 20:15     ` Ted
2006-07-04  8:34       ` Tim X
2006-07-03 22:09 ` Jason Rumney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='e82idl$gio$1@online.de' \
    --to=andreas.roehler@online.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.