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)))
next prev 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.