Emacs files
Introduction
My emacs configuration files.
Just follow the steps below to get everything installed.
I have to say thanks to Alexott who distributed his emacs files in Github. I used a lot of code from there. So here is a link to his files: http://github.com/alexott/emacs-configs.
New to emacs? Take a look at:
Tips
- Run \C-h m to get information and key bindings for the current buffer mode.
- Start your emacs with
/usr/bin/emacs23 --no-splash
Requirements
Ubuntu packages:
- build-essential
- texinfo
- python-setuptools
- emacs23-common
- emacs23-el
- emacs-goodies-el
- emacsen-common
- exuberant-ctags
Installation
git clone git://github.com/alancastro/emacs.git
ln -s emacs-files-directory/.emacs ~/.emacs
Where emacs-files-directory is the absolute where you cloned the project.
Now follow each package documentation to see if there is anything else to be done.
Packages
My emacs configurations files are organized into small packages.
If you don’t want to use some of the packages, just remove the “package-name” from load-cfg-files function in the .emacs file.
Commons
Key bindings:
- \C-c; and \C-c \C-c → Comments a selected region.
- \C-c: → Uncomment a selected region.
- \C-F → Indents the whole buffer.
- \C-A → Selects everything in a buffer.
Ido
Key bindings:
- \C-x \C-f → Finds a file using Ido.
- \C-x b → Switches buffers using Ido.
References:
Theme
I’m using irblack theme but if you want to change that just edit configs/theme.el.
Editor
This package contains some useful settings for emacs editor, like font-face, font-size, menu appearance, etc. The current setting is using Monaco font, if you don’t have it installed in your system, use the TTF that is placed on vendor/fonts directory.
Yasnippet
Key bindings:
- Shift+TAB () → Autocomplete with yasnippet.
References:
Flymake
References:
Cedet
Installation:
cd vendor/cedet/
emacs -Q -l cedet-build.el -f cedet-build
References:
- http://www.emacswiki.org/emacs/CollectionOfEmacsDevelopmentEnvironmentTools
- http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html
Auto-complete mode
References:
Textile-mode
References:
http://www.emacswiki.org/emacs/TextileMode
Javascript-mode
Installation:
cd vendor/javascript/js2-mode/
make
Python-mode
Installation:
<<<<<<< HEAD
chmod +x vendor/python/flymake/pychecker
Key bindings:
- For rope key bindings: http://bitbucket.org/agr/ropemacs/src/
=== cd vendor/python
hg clone http://bitbucket.org/agr/rope
hg clone http://bitbucket.org/agr/ropemacs
sudo easy_install rope
sudo easy_install ropemacs
>>>>>>> 2c191d73a536ca934e96cc3f3d758f88e7123cb7
References:
http://launchpad.net/python-mode
C/C++-Mode
References:
http://cc-mode.sourceforge.net/
Erlang-mode
References:
- http://on-erlang.blogspot.com/2007/04/getting-to-know-erlang-mode.html
- http://www.erlang.org/doc/man/erlang.el.html
- http://www.emacswiki.org/emacs/FlymakeErlang
PHP-mode
Reference:
Java-mode
prj.el sample
(jde-project-file-version “1.0”)
(jde-set-variables
;; Set here default parameter for make program
‘(jde-make-args “jar”)
;; What should be put as java file header
’(jde-gen-buffer-boilerplate
(quote
(“/*”
" * Geotools – OpenSource mapping toolkit"
" * http://geotools.org"
" * © 2002, Geotools Project Managment Committee (PMC)"
" "
" * This library is free software; you can redistribute it and/or"
" * modify it under the terms of the GNU Lesser General Public"
" * License as published by the Free Software Foundation;"
" * version 2.1 of the License."
" *"
" * This library is distributed in the hope that it will be useful,"
" * but WITHOUT ANY WARRANTY; without even the implied warranty of"
" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU"
" * Lesser General Public License for more details."
" *"
" */")))
;; Sometimes JDEE prints useful messages, but if everything works well
;; you will be not using this.
’(jde-log-max 5000)
;; Must be on to improve your coding: you write: "if " and JDEE generates
;; templeate code for “if” statement.
’(jde-enable-abbrev-mode t)
;; Path to source files for automatic loading
’(jde-sourcepath
(quote
(“/home/alan/workspace/terrier-3.0/src/core/”
“/home/alan/workspace/terrier-3.0/src/test/”)))
;; Classpath for browsing files and generates code templates
’(jde-global-classpath
(quote
(“/home/alan/workspace/terrier-3.0/classes/”
“/home/alan/workspace/terrier-3.0/lib/antlr.jar”
“/home/alan/workspace/terrier-3.0/lib/commons-lang-2.3.jar”
“/home/alan/workspace/terrier-3.0/lib/findbugs-1.3.2-annotations.jar”
“/home/alan/workspace/terrier-3.0/lib/hadoop18.2-joined.jar”
“/home/alan/workspace/terrier-3.0/lib/junit-4.8.1.jar”
“/home/alan/workspace/terrier-3.0/lib/log4j-1.2.15.jar”
“/home/alan/workspace/terrier-3.0/lib/org.mortbay.jetty-5.1.15.jar”
“/home/alan/workspace/terrier-3.0/lib/PDFBox-0.6.7a.jar”
“/home/alan/workspace/terrier-3.0/lib/poi-2.5.1-final-20040804.jar”
“/home/alan/workspace/terrier-3.0/lib/servlet-api.jar”
“/home/alan/workspace/terrier-3.0/lib/snowball-20071024.jar”
“/home/alan/workspace/terrier-3.0/lib/tm-extractors-0.4.jar”
“/home/alan/workspace/terrier-3.0/lib/trove-2.0.2.jar”
“/home/alan/workspace/terrier-3.0/lib/winfileopen.jar”
“/home/alan/workspace/terrier-3.0/lib/jetty-ext/ant.jar”
“/home/alan/workspace/terrier-3.0/lib/jetty-ext/commons-el.jar”
“/home/alan/workspace/terrier-3.0/lib/jetty-ext/jasper-compiler.jar”
“/home/alan/workspace/terrier-3.0/lib/jetty-ext/jasper-runtime.jar”
“/home/alan/workspace/terrier-3.0/lib/jetty-ext/jsp-api.jar”)))
;; If you want to run Java apps from within emacs for example for debuging
;; set default startup class for your project.
;; ’(jde-run-application-class “org.geotools.vpf.VPFDataBase”)
;; ’(jde-run-working-directory “$PROJECT_HOME/geotools2/geotools-src/vpf”)
;; Set name for your make program: ant or maybe maven?
’(jde-make-program “ant”)
;; For javadoc templates version tag can be customized
’(jde-javadoc-version-tag-template “\” @version $Id: prj.el,v 1.4 2003/04/23 14:28:25 kobit Exp $\"")
;; Defines bracket placement style – now it is set according to SUN standards
’(jde-gen-k&r t)
;; Do you prefer to have java.io.* imports or separate import for each
;; used class – now it is set for importing classes separately
’(jde-import-auto-collapse-imports nil)
;; You can define many JDKs and choose one for each project
’(jde-compile-option-target (quote (“1.5”)))
;; Nice feature sorting imports.
’(jde-import-auto-sort t)
;; For syntax highlighting and basic syntax checking parse buffer
;; number of seconds from the time you changed the buffer.
’(jde-auto-parse-buffer-interval 600)
;; Only for CygWin users it improves path resolving
;;’(jde-cygwin-path-converter (quote (jde-cygwin-path-converter-cygpath)))
;; You can set different user name and e-mail address for each project
’(user-mail-address “alanclic@gmail.com”)
)
References:
http://www.emacswiki.org/emacs/JavaDevelopmentEnvironment