[] http://notational.net
a) `dd` seems like a more natural keybinding--both because I'd rather double-tap a home row button than involve three fingers and two hands, and because, if you do stop to think about it, `dd` makes sense--`d` means delete, and a double-tap usually makes something apply to a whole line. (Of course, `dd` / `C-a C-k` is just an example--this applies in general.)
b) There's more of a zen to vim. It's been discussed before, but it's worth repeating--vim commands form a language with nouns and verbs. `w` means word and `(` means sentence. Now you know two commands. `d` means delete, `y` means yank, and `c` means change. Now you know 8 commands--`w`, `dw`, `yw`, `cw`, `(`, `d(`, etc. And adding a few more "nouns" brings you up to several dozen with minimal effort. Emacs has no direct equivalent * .
So I like emacs for the ecosystem, I like it for the freakish integration it can achieve between a REPL and a source file...as they say, it's a great operating system--it just needs a good editor.
* - This is not quite true--emacs does try to do sane things with the use of `C` and `M`. `C-f` means "forward one character", and `M-f` means "forward one word"--a "bigger" form of the same thing. In the same way, `C-d` deletes a character and `M-d` deletes a word. But now you want to delete a line? Time to learn something completely new.
Edited to make a lame effort to fix my formatting problems...thus the asterisks surrounded by a sea of whitespace.
I'll note that I tried vimpulse for a while. Then I stopped. I wish I could be more helpful, but that's all I remember. I don't even know if stopping was an actual decision that I made, or if I just didn't start again after reinstalling everything.
(vimpulse-mode is an attempt to bring vim keybindings to emacs.)
There's a package called "Evil" that provides good Vim keybindings to Emacs. You might hear references to "Vimpulse"; this is the successor to that.
My config file is at https://github.com/pavpanchekha/dotfiles/blob/master/.emacs.... --- you probably care about the section on Vim keybindings.
There's one big 'if' to my Vim usage which made me want to try out new editors: I never really like the modal editing paradigm.
Upon getting interested in Common Lisp I switched to Emacs because I also wanted to be able to use ILISP (Slime nowadays). Once I made some customizations and implemented some ideas which I thought would be cool for an editor to have I never looked back[1]. Modern day IDEs haven't really been able to impress me either and Emacs' customization language being a Lisp was a pro as well.
However, I have customized a lot of my keybindings. While the basic editing commands are okayish the more complex "chords" are hideous and all the additional modes add more and more complex chords. By custom there's one prefix ("C-c" IIRC) behind which the user can put his own keybindings but I just ignore that and override everything to fit my keybindings.
(Even more fun: I recently decided to change my keybindings to fit in more with the more custom keybindings found in other applications found on Unix, Windows and Mac: Ctrl-o for opening a file, Ctrl-f for search, Ctrl-r for replace, Ctrl-w for closing a window/tab/buffer, etc. etc. It's not been too bad actually and seems like a keeper.)
I've never found it hard to switch between them (apart from the occasional 'ZZ' in Emacs) just like it's never been hard to switch between QWERTY and Dvorak for me.
[1] Being able to customize and try out new things without have to recompile or even restart is very nice. (ie. the Lisp way)
I have been using vim extensively for about 8 years and used a boring phase during my previous work-life to start learning Emacs. My motivation was not because I liked anything particularly well in Emacs or disliked vim, but more that I wanted to see first-hand what the difference is really all about. (So that I know what the flame wars are all about, without ever needing [and also never wanting] to participate in one...)
I am still using vim from time to time, but cannot imagine going back to vim full-time and leaving Emacs. The learning curve is steep and getting a nice setup takes considerable time (thankfully, there are very enlightening articles, for example the one from Steve Yegge, as well as the excellent emacswiki; plus, many people post their ".emacs" file on the web.) IIRC, it took me about 6 months until I felt proficient, and now, after almost 5 years or so, I couldn't actually be happier. There are many reasons to my happiness with Emacs (TRAMP, ido, yasnippet, auctex+reftex, vcs-interface, dired+, org-mode, macros, breadcrumbs, etc.) but I don't want to get into that, let's just finish this by saying: if you're generally interested and have some time at your hands (it's far less cumbersome as you might think, and mechanically codifying is usually [for me at least] not really the time consuming task in programming), just do it and stick with it for a couple of weeks!
But whenever I feel this way I wonder why these sorts of applications don't exist for vim. I don't know many people who would argue that vimscript is as good a language as lisp is, but isn't it complete enough to do stuff like this? Or you could use python to do it.
Is it a cultural thing? Is there some infrastructure support in emacs that makes applications much easier to write?
The generalisations I just made are so broad as to be useless though :-)
Just spent a few minutes playing around with it. I like the simplicity, nice work. One thought I had is that you could enter Deft mode whenever you cd into a directory with a .deft configuration file. This file could have a title for the top of the Deft view and perhaps the ability to specify what columns you want displayed. In this way you can have different directories for notes about different topics.
[1] http://swish-e.org/docs/swish-search.html
[2] http://pastebin.com/xeDbjKhADeft seems little more refined, and simplenote.el has not been updated for a while, but would be nice if it synced with simplenote.
You should not expect much more to happen with simplenote.el since I don't feel very motivated to work on it anymore. When I first wrote simplenote.el the Simplenote app and platform were perfect. Since then Simplenote has changed to a direction that I don't like (tags, different pay model) [1]. Furthermore, I have been lately traveling a lot to China and Appspot is blocked there. This limits the usefulness of Simplenote.
I do plan to rewrite simplenote.el for Simplenote's API2 and clean up the code but at the moment I don't plan to add any new features. In particular, I don't plan to add any support for tags. Of course everybody is welcome to fork simplenote.el and continue its development.
[1]: I understand that most Simplenote users are happy with these changes and actually Simperium has done a great job in adding features in an unobtrusive way.
As far as forking, would you consider merging in tag support into your version, if someone were to send you a patch?
:-)
Do not try to setup Org-Mode if you are new to Emacs, you will feel a bit overwhelmed (at least I was), but once you get used to Emacs and Org-Mode, it is a pleasure to use it. I use it for GTD, day planner and notes taking like here: http://notes.ceondo.com
I've been using emacs for years, but could never quite make an habit out of org mode. I think deft handling simple org files might be a good way to get started.
Interactively:
M-x visual-line-mode
Or in your .emacs: (add-hook 'deft-mode-hook 'enable-visual-line-mode)
You'll probably need to set deft-line-width to some number that's larger than the most columns you ever have in a frame, because from a quick glance it looks like Deft has some magic of its own. (defun generate-files-from-velocity (buffername)
(save-excursion
(switch-to-buffer buffername)
(org-map-entries (lambda ()
(progn
(org-mark-subtree)
(if (and (= 1 (org-outline-level)) (org-export-get-title-from-subtree))
(let* ((title (downcase (org-export-get-title-from-subtree)))
(filename (replace-regexp-in-string " " "-" (concat title ".org"))))
(append-to-file (region-beginning) (region-end) (concat "~/Documents/Org/Notes/" filename)))))))))
(generate-files-from-velocity "velocity.org")"You can also customize the major mode that Deft uses to edit files, either through M-x customize-group or by adding something like the following to your .emacs file:
(setq deft-text-mode 'markdown-mode)"
All you need to do is:
(setq deft-text-mode 'org-mode)
Or any other major mode for that matter.