This configuration file causes Emacs to behave more like a "normal" text editor (with familiar keybindings [i.e., keyboard shortcuts] such as C-c
for copy, C-v
for paste, C-z
for undo and C-S-z
for redo, etc.). It thus allows users who have never interacted with Emacs but who want to use org-mode
to do so.
"This is an abomination! People who use Emacs need to learn all of its functionality and default keybindings!"
When I use Emacs, I use evil-mode
, making Emacs work more like Vim. What the configuration file in this repository does is philosophically no different. In my mind, Emacs is a wonderful platform for doing text editing. Its configurability means that the interface for working with that platform can adapt to the people using it, whether by making it act more like Vim or like Notepad++.
"Won't this teach people bad habits about using Emacs? People won't be able to sit down at a clean Emacs installation on someone else's computer and use it."
Given Emacs' complexity, users adapt and learn new functionality based on the needs of the work they're doing at the time. That's how we learn, yes? -- by incrementally adding to our knowledge given a specific problem in a specific context. With this in mind, I suspect that users of this configuration file will learn new habits as they need to. If this configuration file helps users start using Emacs where they wouldn't have otherwise, and if Emacs is a useful tool for them given they work they're doing, I consider that a positive outcome, regardless of how "clean" the experience is.
From Oxford Living Dictionaries: "Ordinary people, as distinct from professionals or experts." By this, I just mean people who don't have expert-level experience with Emacs specifically -- that is, users who have never worked with it before.
- Install Emacs (preferably version 25.1 or higher):
- For Linux, though your distribution's package manager
- For OSX, from Emacs for Mac OSX
- For Windows, from the GNU Project
- Click "main GNU FTP server"
- Select the Emacs version with the highest version number. You'll probably want the version that includes "x86" in its name (For example,
emacs-25.1-x86_64-w64-mingw32.zip
) - Download the
.zip
file, and unpack it into any directory on your computer. - Go into the unzipped folder, go into the
bin
directory, and double-click onrunemacs
.- If you see a security warning, click "Run".
- Emacs on Windows doesn't require you to install anything. Just double-click that
runemacs
program when you want to load Emacs.
- Save the contents of the
dotemacs
file from this repository to the location where Emacs will look for it whenever Emacs is launched:- Open Emacs.
- In Emacs, press the "
Meta
" key (usually the "Alt
" key on your keyboard) at the same time as ":
". For most keyboards in the USA, this means that you will be pressingAlt + Shift + ;
.
You'll know that you pressed the correct keys if the bottom of the Emacs window saysEval:
. - In the
Eval:
textbox at the bottom of the Emacs window, type the following (including the parentheses):(find-file user-init-file)
. PressEnter
on your keyboard.
This command tells Emacs to open its configuration file, wherever on your computer it is (its location depends on what Operating System you're using). - In your web browser, go to the content of the
dotemacs
file from this repository, by clicking here. - Select all of the text from the
dotemacs
file, and copy it to your clipboard). - Go back to Emacs. Click
Edit -> Paste
to paste the contents fromdotemacs
into the window (Use the point-and-click menu within Emacs for now; by default, Emacs uses different keyboard commands than other programs, so the typicalControl + v
orCommand + v
keyboard shortcut for "Paste" will not work in it at first). - Close Emacs.
- Install add-ons ("packages") for Emacs:
- Re-open Emacs.
- If Emacs can see the
.emacs
file you moved in the step above, it should ask you whether you would like to install a series of add-ons (if you are running Emacs lower than version 25.1, it will just start installing the packages), if it didn't already at some point above. You'll see some text (and may see some "Warnings") appear in the Emacs window. - Once the installation is finished, close emacs again.
- Tell Emacs where you plan to store your .org files:
- Open Emacs again. Run the
Meta + :
keyboard command again, and, like above, type the following (including the parentheses):(find-file user-init-file)
. PressEnter
on your keyboard. - Type
Control + F
on your keyboard to search the file, and typeagenda
(to search for the word "agenda"). Find the code chunk that starts with the line(setq org-agenda-files (quote (
. Replace the lines below that ("~/Daily_Logs
", "~/Primary_Syncing_Folder/Documents/todo
") with the folder(s) where you plan to keep the files you want to use withorg-mode
(On Macs and Linux,~
means your Home directory). - Close Emacs
- Open Emacs again. Run the
- Re-open Emacs one more time to let the changes take full effect.
- If all goes well, when you open Emacs, you should be greeted with some helpful text about org-mode.
For advanced users who already have an Emacs configuration and want to temporarily try the configuration file from this repository, running the following in the system's Terminal (for OSX or Linux, or in Cygwin or the Linux Shell in Windows) can be useful:
mkdir --parents /tmp/emacs-home
ln --symbolic --force /absolute/path/to/emacs-org-mode-for-the-laity/dot-emacs /tmp/emacs-home/.emacs
HOME=/tmp/emacs-home
emacs
/absolute/path/to/emacs-org-mode-for-the-laity/dot-emacs
should be changed to wherever the dot-emacs
file from this repository is located on your computer.
This creates a new directory at /tmp/emacs-home
, creates a link from the location of this repository on your computer to that new directory, temporarily tells the terminal that that new directory is your Home directory, and starts Emacs.
- Added
C-t
keybinding for buffer menu - Configured
tabbar-mode
to set all tabs as part of one group - Customized the look of the tabbar.
Implemented the following ideas, many of which were from suggestions by @shaund.
- Add
(prefer-coding-system 'utf-8)
to avoid a package installation error; similarly, removemelpa-stable
from the list of repositories (melpa
is still listed) - Change the keyboard command for moving between emacs sub-windows to
C-S-M
(i.e.,Control-Shift-Meta-ArrowKey
, meaning usuallyControl-Shift-Alt-ArrowKey
) - Turn on
org-indent
mode - Turn on
tabbar
mode, to create a web-browser-like tab-bar on the top of the window with open buffers. - Add
Control-mousewheel
zooming - Bind
Control-y
toredo
, alongsideControl-Shift-z
- Make
Shift-click
highlight text rather than open a menu - Enforce Todo dependencies
- Add NeoTree for a file browser sidebar (with F8 keybinding)
Initial posting/release!