Code Monkey home page Code Monkey logo

emacs-rails's Introduction

It is minor mode for editing "Ruby On Rails":ror code with
"Emacs":emacs. This minor mode makes your work much easier and user
friendly


== Instalation

You need download last release from RubyForge page
"http://rubyforge.org/projects/emacs-rails" and and unpack
it to directory containing libraries of Emacs, by default it's
$HOME/.emacs.d/

You can also use SVN

  cd  $HOME/.emacs.d/
  svn co svn://rubyforge/var/svn/emacs-rails/trunk emacs-rails

Download and install required libraries

* "http://www.kazmier.com/computer/snippet.el":snippets
* "http://www.webweavertech.com/ovidiu/emacs/find-recursive.txt":frecursive

*Alert:* From 0.44 release emacs-rails will require the
 "inf-ruby":inf-ruby.

After that you must add this code in $HOME/.emacs

  (setq load-path (cons "~/.emacs.d/rails" load-path))
  (require 'rails)

For Windows users: you can use your help in CHM format (the default
*ri*).  This will require utility "KeyHH":keyhh. And add to a file
.emacs

  (setq rails-chm-file "full_path_to_rails_chm_manual")

After that you can run Emacs. Almost all available actions are in the
menu [Ruby On Rails]. The snippets are in the menu [Ruby On
Rails-Snippets], for the convenience, they are divided into
categories.

To change default setting, select [Ruby On Rails - Customize].

== First Acquaintance

Go to directory with your rails application and open any file in Emacs:

  cd $HOME/project/simple_rails_application
  emacs app/controllers/application.rb

There must be "RoR" sign in the list of active minor-modes in status
bar. Thi means, that emacs-rails is enabled and ready to help you in
your not so easy work.

Almoust all actions are in the "RubyOnRails" menu. You can check it
out and try some of them. Don't forget, that menu will help you only
first time. After that you better use hot keys for effective work, you
can find them in the brackets.

== Features

* TextMate-like snippets
* Display of colored log files
* Integration with script/generate and script/destroy (controller,
  model, scaffold, migration, etc)
* Integration with script/console and script/breakpointer
* Run rake %(key)C-c C-c r%
* Quick start svn-status in RAILS_ROOT %(key)f9%
* Documentation search using *ri* or *chm* file and Rails API
  reference in HTML %(key)f1%
* Quick access to the main configuration files
* Automatic TAGS generation in RAILS_ROOT directory

=== Management of WEBrick/Mongrel

* Your can select Webrick, Mongrel or Lighttpd
* Start/stop application server %(key)C-c C-c w s%
* Automatic browsing on current action (from view or controller)
  %(key)C-c C-c w a%

=== Navigation in RAILS_ROOT hierarchy

* Quick switch stylesheets, javascripts, migrations, layouts, helpers,
  controllers, models, observers, plugins
* In controller file: go to views, functional test, helper
  %(key)C-down%
* Switch between action/view %(key)ร‘-up%
* Go to file in current line (example: cursor at line [redirect_to
  controller => :home, :action => "show"], will be open action "show"
  in "home" controller) %(key)C-RET%
* Quick access to the main configuration files using menu

Other hot keys

* %(key)C-c C-c g g% rails-nav:goto-migrate
* %(key)C-c C-c g j% rails-nav:goto-javascripts
* %(key)C-c C-c g s% rails-nav:goto-stylesheets
* %(key)C-c C-c g l% rails-nav:goto-layouts
* %(key)C-c C-c g h% rails-nav:goto-helpers
* %(key)C-c C-c g c% rails-nav:goto-controllers
* %(key)C-c C-c g m% rails-nav:goto-models
* %(key)C-c C-c g o% rails-nav:goto-observers
* %(key)C-c C-c g p% rails-nav:goto-plugins

=== ERb refactoring

* Create partial from selection %(key)C-c p%
* Create helper from block  %(key)C-c b%

= Bugs

emacs-rails designed for current CVS version of Emacs (future Emacs22)
more probably some functions will not work in older version, or will
work with errors, so if it is possible, try to update. I will not tell
you why you should use CVS version, just take my word.

In some version from CVS some time ago, when you use emacs-rails,
sintax highlight in rhtml was not working, so just update to the
newest version from CVS.

If you find error, place it description in "BugTrack":bugtrack.

= Links

* "Emacs W32 (CVS version for Windows)":http://ourcomments.org/Emacs/EmacsW32.html
* "HowToUseEmacsWithRails":http://wiki.rubyonrails.org/rails/pages/HowToUseEmacsWithRails
* "http://scott.elitists.net/users/scott/posts/rails-on-emacs":http://scott.elitists.net/users/scott/posts/rails-on-emacs
* "http://www.emacswiki.org/cgi-bin/wiki/RubyMode":http://www.emacswiki.org/cgi-bin/wiki/RubyMode
* "Emacs screencast":screencast
* "Effective Emacs":effectiveemacs

[bugtrack]http://rubyforge.org/tracker/?atid=5809&group_id=1484&func=browse
[effectiveemacs]http://steve.yegge.googlepages.com/effective-emacs
[screencast]http://emacsonrails.drozdov.net/
[lisp]http://en.wikipedia.org/wiki/Lisp_programming_language
[frecursive]http://www.webweavertech.com/ovidiu/emacs/find-recursive.txt
[keyhh]http://www.keyworks.net/keyhh.htm
[snippets]http://www.kazmier.com/computer/snippet.el
[emacs]http://www.gnu.org/software/emacs/
[ror]http://rubyonrails.org
[emacs-rails]http://rubyforge.org/projects/emacs-rails
[inf-ruby]http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/misc/inf-ruby.el?view=co

emacs-rails's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.