8 ms·
Emacs and Vim
- Aardwolf 12y agoA relevant comic: http://hackles.org/cgi-bin/archives.pl?request=284 http://hackles.org/cgi-bin/archives.pl?request=284
- davidw 12y agoI was reminded of this one: https://twitter.com/tpope/status/439060962448912384 https://twitter.com/tpope/status/439060962448912384
- elwell 12y agoHmm... this post didn't seem to say that much. We got a couple points and then a sudden conclusion. Just saying...
- craigching 12y agoI agree, but it did kick off another "vim vs emacs" which is always fun :)
- mercurial 12y agoIt's still too slow for me. I have often several vims open, usually for a short time, and I'm not going to start a daemon in my session to have a decent startup time, that's unreasonable. Also, even setting a theme like solarized dark turned out to be a headache last time I tried. I think I'll wait for neovim.
- omaranto 12y agoYou mean startup time without using the server and client setup is too slow, right? (That's easily solved by, well, using the server and client setup, of course.) I find that in actual operation Emacs is faster and that's the reason I switched from Vim to Emacs. Even after using all the tricks in Vim's :help tex-slow, Vim still lagged when I scrolled or even typed into LaTeX files (unless I turned off syntax highlighting), and I'm not such a great typist. Emacs is perfectly snappy.
- mercurial 12y agoAh, I'm not a Latex person. In my experience, vim works fine, even on very large files, unless you combine syntax highlighting with very long lines, in which case you're going to suffer. But yes, I admit that I find silly that I should need a 'server' for a text editor. Not to mention that I remote into various VMs regularly which would also need to get their own server/client setup if I wanted a homogeneous working environment.
- jerf 12y agoGenerally you have emacs do the remoting. I use emacs in a work environment that is primarily Vim and where we end up logging in to a lot of machines to do development on, and the two things that turn heads in my emacs setups are my fluent and flexible use of multiple windows and frames, and the fact that I'm always using my local emacs and I use Tramp to remote in to the machines, so I don't have to screw around with .vimrc files on half-a-dozen machines. Both are stock emacs.
- mercurial 12y agoIt sounds like it's only practical when you know you want to edit things in the first place, as opposed to "it doesn't work, let's restart the service in my existing SSH session and have have a look of the log" sysadmin-style-workflow.
- klibertp 12y agoNo, Emacs/Tramp supports remote shells too.
- jerf 12y agoI hate to disappoint, but it really works quite well. Not quite perfectly, but quite well (and most of the trouble I encounter comes from my use of ControlMaster on the SSH side). No, you don't any sort of weird heroics to use it.
- omaranto 12y ago
- bcarrell 12y ago> even setting a theme like solarized dark turned out to be a headache last time I tried. (package-install solarized-theme) (load-theme 'solarized-dark t) That's it.
- Yuioup 12y agoI use Vim on Windows. I tried to learn Emacs but I keep running into roadblocks because of poor Windows compatibility of plugins.
- mkesper 12y agoIf you need them, you might consider using the Cygwin(64) version of Emacs. The "w-32" version gives best of both worlds, as it does not need an X server. Be sure to start it with a shortcut so it finds $HOME etc.: C:\cygwin64\bin\run.exe /usr/bin/bash.exe -l -c emacs-w32.exe
- elwell 12y agoI'm currently a Windows Emacs user. I'm curious, which plugins in particular gave you trouble?
- Yuioup 12y agoIdeally I wanted to set up an Emacs environment for Python development. I tried to install the plugins mentioned on this page: http://www.emacswiki.org/emacs/PythonProgrammingInEmacs http://www.emacswiki.org/emacs/PythonProgrammingInEmacs Couln't get flymake and pyflakes to work. pymacs was a non-starter so I couln't use ropemacs. I also tried CEDET, but that was an epic fail.
- barrkel 12y agoI use Cygwin emacs in the terminal (mintty). The experience I get from this is very close to Linux (emacs-nox in rxvt).
- laichzeit0 12y agoI like that he mentioned CtrlP. It's the single plugin that prevents me from switching to Emacs. There is currently nothing in Emacs (last I played with this was 3 months ago) that is 100% equivalent to CtrlP. There are some close approximations but they're not as good the real deal. I can understand how Emacs guys won't even notice this because they've not worked with something that's better than the best they have, but for Vim guys it sucks.
- phaer 12y agoCould you elaborate on the features you are missing from ido-mode and helm?
- mklappstuhl 12y agoAgree. I'm using projectile[1] for now but that somehow messes things up with caching files so that I actually cannot search my project files. I assume that might be a fault on my side though. Have you tried projectile? From reading the Readme this was exactly what I was looking for as a Ctrl-P replacement. [1] https://github.com/bbatsov/projectile https://github.com/bbatsov/projectile
- mziulu 12y agoI've had some weird things happen too when searching for files in a project using projectile, I fix it by triggering a refresh of the cache by prefixing with a C-u the C-c p f command.
- austintaylor 12y agoI use projectile with caching turned off with flx-ido for sorting. I heavily favor (projectile-find-buffer) once I get going since loading the whole tree is pretty slow on a large project. I'm way more happy with this setup than I was with CtrlP.
- kasey_junk 12y agoI've actually started preferring the unite plugin over CtrlP even.
- 12y ago
- asuffield 12y agoGah, the tutorial keybindings! They are mad. I've been using emacs for a very long time, and I can't imagine using those to navigate. Emacs has perfectly reasonable default keybindings these days, they just aren't the ones mentioned in the tutorial. Command: move down one line What vi uses: j What the emacs tutorial suggests: C-n What I use in emacs: the down arrow
- bastih 12y agoBut that means your fingers have leave home row! :(
- asuffield 12y agoThankfully I am blessed with the ability to move my forearms. I've heard a lot of people talk about keeping their fingers on the home row, and I more or less do that when I'm typing text like this, but for general navigation? I've sat next to a number of people who do it, and I get around my editor faster than they do. Based on this anecdotal evidence, I don't think moving my hand a short distance to reach another key is a significant speed cost.
- jimm 12y agoThen how do you move multiple lines at a time (4, 16, 64, 256)? To move 16 lines down, I press C-u C-u C-n (of course, the control key stays down the whole time). You either have to press C-u C-u then move your forearm to the arrow key and press down, or press the arrow key 16 times. (Each C-u is a power of 4. You can specify any number by typing it after the C-u, for example C-u 100 C-n to move down 100 lines.)
- asuffield 12y agoI cannot recall the last time I wanted to move 16 lines - that would imply I stopped to count the lines. What I invariably want to do is "move down one paragraph" (C-down) or "move to that spot I can see on the screen" (1-6 lines, tap up/down; 6-30 lines, hold the down key for about a second until I'm within a line or two, then tap up/down a couple times; >30 lines and use pgup/pgdown to get closer). For anything further away than that, I'm going to use isearch to get closer. Sometimes I want to make a complicated motion in the horizontal and vertical axes at the same time in a context which is not well-formatted source code and hence has no good paragraph/word landing points. For this I move my hand slightly further and grab the mouse. It always amuses me watching people try to do it "the right way" and then spend 30 seconds trying to work out what sequence of buttons will get them there, then spend another 30 seconds remembering what they wanted to do when they got there. I'm not trying to minimise the number of logical keystrokes, I'm trying to minimise the time and distraction of navigation. A few simple operations combined with key repeat seems to work really well. Lots of people seem to neglect the power offered by key repeat. I'd love to meet somebody who could navigate source code faster than me and learn how they do it. When I do, I'll probably change my approach. However, I've worked with a lot of different people who used a lot of different approaches (yes, including that one where you display the line offset from point and type the number of every jump) and in the past decade I have not found any of them to be faster than me - although I have found a few who were roughly the same speed.
- nick_riviera 12y agoUntil it goes wrong or you have to delve into elisp or you get carpal tunnel... After 20 years of switching back and forth I decided I wanted an extensible editor not a programming language with an editor built in. That's worked well for me. I really always just want the simplest thing that will work as I need to rely on it entirely and understand how it works. If I was to use emacs, I'd probably use mg as shipped with OpenBSD.
- elwell 12y agoMentioning elisp in the face of viml is questionable...
- nick_riviera 12y agoUnless you need neither at which point less is more.
- phaer 12y ago> Until it goes wrong Why? Emacs reports errors fine in my experience and if not it includes a debugger. > or you have to delve into elisp What's the problem with elisp? I guess its a matter of preference, but in my opinion elisp is easier to understand than vim script. Emacs includes extensive(!) documentation for it in it's base distribution. Granted, it's a dated language nowadays, but 3rd party libraries - easily installed through elpa - like dash.el and s.el make it a much more pleasant experience. > or you get carpal tunnel... Again: Why? This article is about viper-mode which emulates vims key bindings so RSI should be exactly as likely as with vim itself. You could also adapt them to your needs, of course.
- nick_riviera 12y agoInner system effect for you that is. I don't really want masses of extensibility but what I want is something that works out of the box, is understandable and doesn't require masses of customisation that I have to drag around with me everywhere. On this basis using viper with Emacs is as illogical as using vsvim with visual studio. One should use vim (or vi which I'm equally happy with)
- elwell 12y agoBrace yourself, an editor war will follow... and people commenting on the presence of an editor war... like this comment.
- dghf 12y ago"I used to make jokes about Emacs just as Emacs users about Vim but actually it seems to be a pretty decent piece of software." BURN THE APOSTATE! [Will this do?]
- grundprinzip 12y agoI don't know why, I find this post greatly uninformative. Yes, you can have some kind of Vim mode in Emacs (as you can in Sublime) and yes it takes time to remember key-bindings. If you have years of experience in Vim, why would you expect to get used to Emacs keybindings in a short time? It's like moving to a foreign country and then continue to buy and to eat only your old local food, and go out and talk to only people from your old home. You will miss so much.
- againBlahbl4h 12y agoUnix culture is so self-congratulatory. Learning to use a text editor isn't an achievement, imho. I'm not trying to troll, here...the old unix tools are just that a toolkit with a specific thought process in their design. They aren't some kind of pinnacle of expression. There was that post yesterday urging people to take a year to learn a text editor...a year to learn a text editor. Not, take a year to learn data structures or a year to learn Linux memory management internals. Not even, take a year to read the source code of the standard gnu user land tools...take a year to learn a text editor. That just seems like a weird sentiment to me.
- cies 12y agoEmacs+Evil is the next Vim. And yes, CtrlP is probably the thing you'll miss most. But all the other things I got from switching from Vim to Emacs+Evil easily outweigh the missing CtrlP. Vim was great, until I wanted to customize it heavily. It is simply not made to facilitate things like: child processes, SSH, understanding my code, a visual interface for Git.
- phaer 12y agoI haven't used CtrlP too much, but what are you missing in ido-mode or helm?
- craigching 12y agoI only discovered ido about two years ago and, man, I can't imagine emacs without it now ... and I've been an emacs user for over 20 years! Only dabbled with helm a bit, there was one helm-enabled package that I really wanted to try.
- MetaCosm 12y agoFast proper fuzzy-find completion on files, buffers and tags that works across multiple platforms and even on files not in source control. In Vim I have it bound to <leader>f, <leader>b, <leader>t -- on my multiple trips over to Emacs land -- I have tried lots of ways to get the equivalent working and always come up short.
- aaronem 12y agoLusty Explorer may well satisfy your first two requirements. I don't believe it searches tag files at present, but the capability shouldn't be too hard to add; for files and buffers, I've used it for some years, and find it quite nice.
- MetaCosm 12y agoActually, I think I have used a clone of Lusty on the Vim side and it worked nicely. Getting tags support working would be nice as well -- I really like the global tags option in CtrlP (I got this function name somewhere in an open file, take me there).
- elwell 12y agoMy main concern with Emacs (at least on Windows) is that it actually crashes every now and then. I haven't dealt with many programs in the past few years that do still that.
- jeremiep 12y agoI haven't used Emacs on Windows much but from what I remember crashing wasn't my main issue with it: slow I/O access time were the issue. For some reason they were orders of magnitude slower than on linux/osx.
- therealmarv 12y agoSo many Emacs articles the recent days... please tell me: Should I really switch to Emacs as a web developer? Is it really superior to SublimeText and Brackets for a web dev?
- nick_riviera 12y agoNo. Use what you are comfortable with. There is a cost incurred for changing (time) that may or may not have a sensible return as an editor is a very personal thing to choose.
- jeremiep 12y agoHow else can you get comfortable with something different that is potentially better than what you're currently using? Learning Emacs or Vim is an investment, one that last your entire life. I will gladly be less productive for a few weeks to gain much more in the long run.
- oafitupa 12y agoIt could be argued that they also cost a lifetime to learn. With normal, full blown editors (eg: editors that require Java) I get a ton of intuitive functionality for free, and I can start using it right away.
- atmosx 12y agoI'm using vim. The thing is for text-based editors you need to configure specific workflows for languages other than C. Ruby and Python (probably others) have acceptable workflows (identation, completion, run, snippets, etc.) The workflow can be extremely optimised. But for CSS/SCSS and JS I find easier to use espresso[1]. That's because it's made for web-dev and I don't need to setup my own workflow. I believe same thing is with Sublime Text. It's better to use for web-dev IMHO compared to VIM/EMACS. ps. That said, I always believed that the editor is a tool. It's better to learn your current editor's ins and outs than switching back and forth from editor to editor. [1] http://macrabbit.com/espresso/ http://macrabbit.com/espresso/
- 12y ago
- jheriko 12y agonotepad and other modern solutions... they are ubiquitous for a reason. typing is such a tiny part of programmer productivity compared to thinking... ... do a little more thinking and never have this problem again, learn to adapt to whatever text editor is on the system etc.
- hellodevnull 12y agoI used to this like this but honestly once an editor like vim or emacs becomes second nature, typing and editing and moving text around the screen feels a lot smoother and make programming more enjoyable. But I still don't think "you might have to use a machine that only has vim installed and not your preferred editor!" is a good reason to spend time mastering how to use it (which is what I often hear). If you prefer emacs or sublime or whatever, use it, and just put up with vim if you're on this hypothetical scenario where they're not available.
- gergles 12y agoI do wonder what it would be like to use an editor where the main cursor navigation was forward/backward incremental search. One case of this is the Canon CAT[1] word processor, which used "LEAP" keys for cursor movement (and nothing else). I'm often curious how productive it would be to use while coding. 1: https://en.wikipedia.org/wiki/Canon_Cat https://en.wikipedia.org/wiki/Canon_Cat Bonus link: http://clickamericana.com/media/advertisements/the-canon-cat-word-processor-1987 http://clickamericana.com/media/advertisements/the-canon-cat...
- muraiki 12y agoThe EasyMotion plugin for vim has a feature similar to this. When I start searching it matches incrementally, highlighting matches on each screen which I can cycle through with tab. When I see a screen with the match I want, I press enter and then the first 1 or 2 characters of each match are replaced with something like a, b, or ;a. Pressing the appropriate key combination jumps straight to the desired word. However, if you're just editing text on the same screen you can skip the search. I have it set up so that I press ,w and then every word after my cursor has its first one or two characters replaced. I can jump to any word by pressing those. There's also a hybrid mode where pressing one key and then the first letter of the desired word highlights only those matching words on the entire screen, which I can then jump to. https://github.com/Lokaltog/vim-easymotion/ https://github.com/Lokaltog/vim-easymotion/
- omaranto 12y agoWhen I use Vim or Emacs, forward/backward incremental search is the main cursor navigation. :) So, to answer your question about what it's like: it's great!
- bmoresbest55 12y agoI still do not undertand the devotion that people have with these text editors. I prefer Vim however I could see myself using it soley or even half the time. I feel like I know the basic commands and it is fast but with the ease of a sublime text or something similar why do people still use these pieces of software so frequently? (Not a rhetorical question)
- jeremiep 12y agoThey take a while to master, but once you get there no other editor on the planet can compete. Not by a long shot. And then you keep on learning. They also can run in a remote console which for me is reason alone not to use another editor.
- oafitupa 12y ago"They also can run in a remote console which for me is reason alone not to use another editor." As a developer, that makes no sense to me. Do you really need a powerful remote editor? What do you need a remote editor for, other than checking that a config file was set up correctly, or reading a log file?
- gnur 12y agoYou can use nearly any pc in the world to connect to your normal work environment. (as long as you carry a usb stick with your private key and putty)
- oafitupa 12y agoWhy would I want to use any pc in the world? That makes no sense unless your work doesn't involve security of any kind. Besides you can carry your work environment using a virtual machine too.
- gnur 12y agoPerhaps it (any pc in the world) is an exaggeration, but I can use my phone, personal laptop, work desktop, work tablet, personal tablet to connect to my always running tmux session and pick up where I left of. And a virtual machine seems portable, but I cannot use it on my phone/tablet, and I also cannot use it on most other machines that don't have that virtualization software installed.
- santiagobasulto 12y ago"a pretty decent piece of software"?
- sprayk 12y agoI really wanted to use Org-mode, but my vim muscle memory and lack of knowledge of keybindings to do useful things like copy/paste and move around with more than just arrow keys were preventing me from being productive. Finally got Evil installed and haven't looked back! Evil and Org-mode work great together.
- hsitz 12y agoThey do work fine together, but unless you remap the Org-mode control key combinations then none of your Org-mode specific stuff will feel very vim-like. I think one good little project would be to remap all the Org functions to vim-like key sequences. The info in this newslist thread is a small start on that: http://thread.gmane.org/gmane.emacs.orgmode/52815 http://thread.gmane.org/gmane.emacs.orgmode/52815
- rorykirchner 12y agoThere are a nice set of org-mode bindings for evil-mode in the prelude-evil.el module that helps quite a bit: https://github.com/bbatsov/prelude/blob/master/modules/prelude-evil.el https://github.com/bbatsov/prelude/blob/master/modules/prelu...
- athenot 12y agoWhether it's vim or emacs, I've always been amazed how these tools can become an extension of the brain like an instrument whose purpose is to materialize a thought process. Framed that way, the editor wars look like a pianist debating with a violinist of the superiority of their respective instruments to convey human emotion. Watching a seasoned vim or emacs user create, mold, shape, reformat text like it was a piece of clay in the hands of a potter is truly inspiring. As for me, my instrument of choice is Sublime Text (which, I guess, downgrades me to the status of a flute player), though I occasionally use vim for Ops stuff. I think there are some mac-centric UX patterns that I have a hard time giving up.
- aaronem 12y ago> I think there are some mac-centric UX patterns that I have a hard time giving up. I can certainly understand that; I'm a relative newcomer to the platform, and while Emacs (of course) continues to behave regarding meta keys in the fashion I've spent a lifetime learning, getting used to Option-arrows for "move to next/previous word", and Command instead of Control for shortcuts, is really bothering me. (Of course, that's mostly just because forcing the user to cramp her hand up like that, in order to access even the most commonly used keyboard shortcuts, is just a really stupid and un-Apple-like piece of user interaction design, and I've yet to find a good way to fix it.)
- craigching 12y ago> Command instead of Control for shortcuts Maybe I'm misunderstanding you, but it sounds like you're using one of the Mac OSX ports of emacs that tries to make emacs behave more like a Mac app. My advice is don't do that. Use emacsformacos.com [1]. It's plain ol' GNU emacs built for the Mac platform. I was so glad to find this and quickly gave up Aquamacs. I want my emacs to behave the same whether I'm on Mac or Linux (or Windows for that matter, but I'm doing less and less on Windows these days). Let me know if I've misunderstood you! [1] -- http://emacsformacosx.com/ http://emacsformacosx.com/
- aaronem 12y ago
- weavie 12y agoThe last time I tried Emacs+Evil I found that when pressing Ctrl+[ there was a slight delay when moving back into command mode. I was constantly tripping up when typing furiously. This alone was enough to move me back to Vim. Everything else about Emacs was awesome. I would love to go back if I could get over this one problem..
- DrStrngeluv 12y agoWere you using console mode emacs? I use evil+emacs and I use it in its own window instead of on the console for that very reason.
- weavie 12y agoYes, I live in the console.
- rorykirchner 12y agoYou can fix that by setting this: (setq evil-esc-delay 0)
- jeffbr13 12y agoVim's home-row commands are great... Unless you use a non-QWERTY keyboard layout. A lot of developers forget that there exist other methods of input, and mnemonic-based shortcuts are one of those things that make a lot more sense than attempting to optimise for a tiny reduction in finger-movement (which ought to be the domain of the input-device anyway).
- chillacy 12y agoActually as a dvorak user I find it tolerable. jk are where cv sit and hl is jp, which means going up/down is left hand, left right on the right hand, and the keys are in the correct orientation as well
- thebelal 12y agoVim works with colemak quite well with only a few rotated keybindings to get back home row navigation.
- Gonzih 12y agoWanna have fun with emacs? Try to integrate evil mode nicely in different plugins. Especially if you use totally different key bindings in vi (non qwerty layout for example). It was very painful experience for me. Yes, vim is far from ideal, yes neo-vim is looking like to be next iteration in vim evolution, yes no parallel tasks execution is pain. But at the same time there is vimproc. For clojure integration there is fireplace.vim which is also amazing in my opinion, for git there is fugitive. I don't see any real comparison in this post, more like "I was bored with vim, now I use emacs".
- int3 12y agoI tried evil-mode myself and came to a similar conclusion re integration. And for package management there's vundle, neobundle, and pathogen. And after my recent discovery of vimproc, I'm now motivated to resume writing plugins!
- leishulang 12y agoNot to mention that the Evil Mode editing messes up the Emacs repl. At least for clojure.
- aidenn0 12y agoWorks fine with SLIME; I use evil/emacs/slime for my daily lisp dev.
- Aissen 12y agoYou have exactly the same problem with a non-standard key-binding/layout and vim. For instance, the default file browsing plugin netrw hardcodes its shortcuts…
- Gonzih 12y agoI was able to change netrw. You just need to know few tricks github.com/Gonzih/.vim/blob/master/after/syntax/netrw.vim
- farresito 12y ago
- jeffreyrogers 12y agoI was looking at Slackware Linux the other day and came across this page http://www.slackware.com/install/softwaresets.php http://www.slackware.com/install/softwaresets.php. I enjoyed how emacs got its own software set due to its size.
- dang 12y agoIs anybody besides me still having the problem with Emacs on Mavericks where the OS X distnoted process gradually eats up gigabytes of RAM? It seems to have to do with running multiple instances of Emacs.
- cefstat 12y agoThere is a patch that supposedly solves this problem. Homebrew applies this patch to Emacs and after I started using this I did not notice any more problems with distnoted. I am not sure if other Emacs builds also apply this patch.
- YuriNiyazov 12y agoYes. Problem goes away after manually compiling the the latest HEAD, which is admittedly not the best solution.
- __david__ 12y agohttp://emacsformacosx.com/builds http://emacsformacosx.com/builds The latest nightlies and pretest (the ones marked "Multi") have this fixed. It's a super frustrating bug.
- amitp 12y agoYes. Frustrating bug. I ended up compiling my own, but I think the newer pretests have the fix. If you want to build your own pretest with the "Yamamoto Mitsuharu" version of Emacs (railwaycat), I posted the commands I ran: http://amitp.blogspot.com/2014/04/building-mac-os-x-emacs.html http://amitp.blogspot.com/2014/04/building-mac-os-x-emacs.ht...
- azinman2 12y agoVim.
- rdtsc 12y ago> I completely do not understand how anyone can use Emacs’ default keybindings. I completely do not understand how switching modes is a good idea in an editor. It just doesn't fit in my brain somehow. I start typing and randomly end up pasting and cutting. I want to paste and cut it randomly types my commands in insert mode. Emacs cords are pretty intuitive to me. I don't know many: just moving, saving, creating 2 windows, search & replace, cutting and pasting. There are hundreds more, but you can get away with a few basic ones. Save needing to rebind the Ctrl key to CapsLock, emacs key-bindings are optimized to not have to move the hands to the mouse or arrow keys, which I appreciate. Vim's are as well, but again I don't like modes, so there is that.
- Afton 12y agoI can't find it now, but the guy running http://www.viemu.com/blog/ http://www.viemu.com/blog/ has a good explanation for this problem. Basically, while there are modes, you don't work like that. You are always in command mode, and you slip briefly into e.g. insert mode, before popping back out to the 'default' command mode. This perfectly described how I work in Vim, and when I passed it around my office, several people had 'ahah!' moments. YMMV.
- base698 12y agoI know both well, and emacs are essential to navigating Mac OSX UI. If someone ever catches you typing in gmail they will ask how you are moving around so fast. I tried emacs until my pinky hurt so bad I switched to vim. http://en.wikipedia.org/wiki/Emacs#.22Emacs_pinky.22 http://en.wikipedia.org/wiki/Emacs#.22Emacs_pinky.22
- 12y ago
- rorykirchner 12y agoemacs-prelude is a nice way to get started with emacs if you are a vim user: https://github.com/bbatsov/prelude https://github.com/bbatsov/prelude You can enable the prelude-evil.el module and start out with a nice set of bindings. It would be sweet if there were some more pull requests to make the evil-mode bindings in prelude more closely match vim.
- mcguire 12y agoThis weekend's project: ed mode for Emacs.
- tach4n 12y agoAnother option for "modal" editing in emacs is god-mode(1). It lets you use emacs commands without modifier keys. I have it set to change my mode-line color when it's activated, it's great if you want a little taste of vim but not the problem of trying to shoehorn vim key-bindings into emacs. 1. https://github.com/chrisdone/god-mode https://github.com/chrisdone/god-mode
- MichaelDickens 12y agoI used to use this, but I found that a lot of the convenience of modal editing comes from the ability to compose commands. I took the time to learn Vim keybindings; now I use evil-mode and I like it a lot better than god-mode.
- orthecreedence 12y agoEmacs + evil, sure, but please don't forget vim + slimv. I tried emacs for a bit when I was first jumping into lisp, but was also evaluating vim at the same time. After about 6 weeks I was having fun with vim. About a year later, I was really fast in vim. Fast forward another year or two, I think in vim. There are no modes or movements or searches. There's just what's in my brain and it sort of writes itself. Granted, I'll stop and think to record macros here and there, but otherwise it's all really fluid. Add the fact that I do lots of server admin to the mix, and heyyyy there's vim already there. How ya doing ol' buddy? Then you add slimv to the mix. Honestly I never gave slime a fair shake. I barely scratched the surface. But once I got slimv up and running, I felt like I didn't need to learn emacs+slime. Maybe there are some things I don't know about that I'm missing out on, but slimv, like vim, let's me think in lisp. So if you're a lisper and you like vim, don't jump ship yet! Give slimv a shot.
- laichzeit0 12y agoI tried slimv recently and couldn't get it to work with Racket. There's a swank Racket project on github but it was extremely buggy. I also tried mit-scheme and it was buggy as well. It randomly freezes and I don't know why. (latest vim, etc.) What do you use it for? It seems if you're using common lisp it's perfect, for everything else it works "in principle" but not really.
- vince_refiti 12y agoCan I ask why you don't use DrRacket? Write your code in the definitions panel and hit f5.
- laichzeit0 12y agoDo you mean use DrRacket to edit code? Mostly because I'm used to editing in my Vim and don't want to learn another editor/IDE just for Racket.
- vince_refiti 12y ago
- Igglyboo 12y agoSo when i'm programming I find myself spending far more time thinking about what to type next than actually typing it, seems to me like there isn't much to gain by learning vim/emacs or am I missing something?
- SEMW 12y agoThere's a reason vim & emacs are referred to as great 'editors': their advantages show mostly when editing & refactoring. They don't help you with code that flows from your head to your hands fully-formed much more than any other editor or IDE. Where they do help is in making actions like 'swap this block of code with this one'; 'replace the text inside these brackets with this', 'execute this sequence of actions on everything matching this regex' etc. efficient.
- BrandonM 12y agoDoesn't that argument work just as well for touch typing? Would you argue that being a touch typist is useless? Do you ever use keyboard shortcuts... Ctrl-A, Ctrl-F, Ctrl-C, Ctrl-V, Ctrl-Z, Shift-End, etc.? Extrapolate that to everything you might want to do when reading, reviewing, or editing a text file.
- axiomabsolute 12y agoPeople often mistake the succinctness of vim's commands as an attempt to save a few keystrokes typing, but that's only a side benefit. The vim command structure makes it trivial to define transformations on common blocks of text; words, sentences, paragraphs (lines), blocks of code inside {..}, etc. It makes it easy to repeat those commands, by repeating them a fixed number of times, applying them to every instance in the file, or asking for confirmation around each one. But, most importantly, it means that we can now extract that little bit of text-transforming functionality into a script we can save and bind to a new command (if it's something particularly reusable). This is really what vim is about to me - providing a language to describe text transformations, in the form of sequences of commands. This means that the way I code every day, conveniently saving me a few seconds like you mentioned above, is the same method I use when writing/editing plugins/macros for the editor to do more complicated tasks, like say consistently formatting every line of a log file that begins with [ERROR] and removing all other lines, so we can process it with some other tool. Sure, you could write a script in [python/perl/ruby/etcetcetc] to do all that just as well, but the point is that Vim provides a nice little domain specific language right at your fingertips, optimized for working with text at a higher level, capable of handling one-off jobs as easily as big jobs over a whole log file or even as a little command to be reused later.
- sousousou 12y agoI'm both a vim and emacs user. I love vim for all the reasons everyone always mentions, but emacs comes out ahead consistently basically because emacs-lisp is so much more usable to me than vimscript. I find it much easier to create or modify plugins in emacs... Don't like the (often overfeatureful) functionality of a plugin? Change it!
- bshanks 12y agoI use emacs with the 'viper' mode extension, along with a custom keymap that i made that places the keys i use most on and near the home keys: https://github.com/bshanks/viperre https://github.com/bshanks/viperre I actually use viperre with a Colemak keyboard map, but there's a QWERTY mode too.
- pvaldes 12y ago(I'm currently toying with the editor able (ql:quickload "able") (able:start), so at this moment, I'm not in a good position to figth at those thumb wars... but, as long time and happy emacs user, I need to tell the world that "little pinky" is alive and tipping, thanks) You can have it all, emacs, and vi... so, what is the bigg fuss?
- tuhdo 12y agoIf you want to see what Emacs is capable of, check "Emacs Mini Manual" that has the demo at the beginning: http://tuhdo.github.io/emacs-tutor.html http://tuhdo.github.io/emacs-tutor.html Then, if you worry about fuzzy project finders, better one exists that does not need fuzzy (I ditched all fuzzy finders for it): http://tuhdo.github.io/helm-intro.html http://tuhdo.github.io/helm-intro.html