Emacs rocks.  It is a highly customizable text editor and one of the reasons I
continue to use Linux.  The Dvorak keyboard layout rocks too, because it
streamlines typing and places the most commonly used letters in the most easily
accessible positions.  And the Kinesis Advantage keyboard rocks: it is a highly
customized keyboard that makes typing effortless.

But Emacs on a Dvorak keyboard sucks.  And Emacs on the Kinesis Dvorak keyboard
really sucks.  In fact, it's essentially unusable.

But emacs is customizable.  That's what this is about: making the Kinesis
keyboard usable for writers that use the dvorak keyboard layout and like emacs.
That probably boils down to me alone on earth, but so be it: customizability is
what makes Linux, Emacs, and even the Kinesis, so damn useful, and if you're a
writer, you may as well make your environmental useful and comfortable.  Let's
begin.

In essence, the following code for your .emacs configuration file takes the
most useful functions to a writer and places them on positions on the keyboard
that make them convenient, and does away with a bunch of emacs annoyances.  The
result is a lean, mean, writing machine where you barely have to reach in order
to have the power of emacs at your fingertips.

Copy the following code into your .emacs file.  Actually, on my SUSE box, this
code became my .gnu-emacs-custom file, but copy and paste it wherever your
system is configured to find its customizations.  The functions we emphasize
are those that facilitate easy cursor movement between words, sentences, and
paragraphs, facilitate spell checking (and also the ability to turn off this
sometimes distracting feature), inserting lines, and deleting letters, words,
and sentences.  Of course everything else emacs is capable of is still
available to you, as is almost every C-x command you are used to, but this
places the essential stuff under your fingertips.  Furthermore, it remaps Undo
to C-u so it's just one keystroke.

You will have under your left fingers the commands for going back through
sentences, and under your right fingers a group of movement commands arranged
roughly in a diamond.  Lift your left middle finger just a bit to get the cool
ispell word-complete feature, and just below that key find what used to be C-u,
the universal modifier, for repeating a command a number of times.

You are now properly equipped for typing without taking your fingers off the
keyboard.  Happy writing!




(longlines-mode)
(set-background-color "black")
(set-foreground-color "CornflowerBlue")
(tool-bar-mode)

(global-set-key "\\C-a" nil)
(global-set-key [(?\\C-a)] 'backward-word)
(global-set-key [(?\\C-e)] 'forward-word)


(global-set-key [(control shift a)] 'backward-sentence)

(global-set-key [(control shift e)] 'forward-sentence)


(global-set-key [(control backspace)] 'backward-kill-word)

(global-set-key [(control shift backspace)] 'backward-kill-sentence)

(global-set-key [\\S-] nil)
(global-set-key [\\S-] 'start-kbd-macro)

(global-set-key [\\S-] 'end-kbd-macro)

(global-set-key [(control p)] 'isearch-forward)

(global-set-key [(control y)] 'isearch-backward)

(global-set-key [(control .)] 'ispell-complete-word)

(global-set-key [(f2)] nil) 
(global-set-key [(f2)] 'save-buffer)

(global-set-key [(f1)] 'find-file)

(global-set-key [(\\C-w)] 'kill-region)
(global-set-key [(control v)] nil)
(global-set-key [(control v)] 'kill-ring-save)
(global-set-key [(control z)] nil)
(global-set-key [(control z)] 'yank)

(global-set-key [(f5)] 'query-replace)
(global-set-key [(f7)] 'flyspell-buffer)
(global-set-key [(f8)] 'flyspell-region)

(global-set-key [(control h)] nil)
(global-set-key [(control h)] 'backward-char)
(global-set-key [(control t)] 'forward-char)
(global-set-key [(control g)] 'previous-line)
;;(global-set-key [(control m)] 'next-line)
(global-set-key [()] 'next-line)
(global-set-key [(control f)] 'backward-paragraph)
(global-set-key [(control b)] 'forward-paragraph)
(global-set-key [(control shift f)] 'beginning-of-buffer)
(global-set-key [(control shift b)] 'end-of-buffer)

(global-set-key [(control u)] 'undo)
(global-set-key [(control shift u)]'redo)
(global-set-key [(control j)] 'universal-argument)