Why emacs / vim / textmate? Is Xcode not good enough?

Hi, I mainly program C ++, Objective-C. And I found Xcode plus the automatic completion / macro plugin (completion dictionary) is quite adequate.

However, all people seem to have praised their clean text editors. I tried Textmate a bit; I liked its simplicity, but did not like the processing of files / frames.

Am I missing something? Or, does Vim or Emacs have autocompletion as good as Xcode?

+57
vim objective-c emacs xcode textmate
Mar 16 '09 at 1:53
source share
21 answers

Raise the son of a chair, let me talk about it.

Before Xcode, VIM and Emacs existed. I know it's hard to imagine, but it's true.

Many people are used to VIM / Emacs, and therefore continue to use it.

Emacs is extremely customizable and offers almost everything you can imagine (including built-in shrinkage and Hanoi towers). You can easily call compilers from Emacs and create your own extensions if necessary.

VIM has an incredible regex engine (also Emacs) and is very convenient because (VI) comes with almost every Unix OS and works fantastic if you don't have arrow keys (yes, yes, a real old school). People use keys very well to move documents, without having to use a mouse.

The same goes for Emacs, but for me, I find the cursor movement much easier on VIM.

The war in a text editor is fueled by as much religious fanaticism as the war against the Mac PC, and the answer is the best that works for you. If you like Xcode, great, keep using it, but good luck if you ever have to work on a PC or Linux machine. Personally, I use Emacs for coding, VIM to manipulate text, and Firefox to look at lolcats.

+181
Mar 16 '09 at 2:04
source share

I really don't understand why emacs supports when people talk about text editors. In my experience, this is more like eclipse (or one of these other platforms / IDEs) than vi, because it is an environment that is well suited for text editing.

The IDE emacs provides version control, live compilation, spell checking, automatic completion, debugging, code review, and much more for a wide range of SDKs. For the rest of your computers, this is an email / news / web / irc / twitter / xmmp client, calendar, organizer, calculator, terminal emulator, remote editing, mailing lists, games, etc. Etc. Etc.

After Dijkstra: "Emacs no longer needs to edit text than telescope astronomy"

+13
Mar 16 '09 at 8:15
source share

What you are missing is that Emacs and Vim are actually IDEs.

+11
Mar 16 '09 at 2:03
source share

vi is ubiquitous on UNIX systems, and Emacs is almost like that. AFAIK, Xcode is on the same platform.

Having a powerful IDE is a great thing, but everyone should have the ability to keep them operational on any platform into which they can be dropped.

+8
Mar 16 '09 at 2:09
source share

It all depends on your preference.

Some people like working with lightweight text editors like (g) vim, emacs, pico, etc. Others love working with IDEs such as MS Visual Studio, Eclipse, Xcode.

As long as your environment is compatible with text editing technology, it is up to you.

By the way, I like working with Eclipse and vim, because this is what I used to teach programming;)

+5
Mar 16 '09 at 2:09
source share

The main reason you seem to think that people like Emacs / Vim are for code completion. People like Emacs / Vim are made to edit text. You have controls and options available to you that other editors simply don't have. Once you get REALLY good use of one of these programs, you want these bindings / key commands to be available everywhere. Macros, regular expressions, moving around a search / word / paragraph / function, interacting with version control, complex undo / redo and copy / paste functions and extensions, are only the DIRECT of what these editors really do.

Code completion is just one of MANY things that make writing programming easier. Emacs / Vim can handle ALL of them (natively or using exntensions).

+4
Aug 05 '09 at 20:32
source share

No, not at all. This is actually a matter of preference. I enjoyed working in Visual Studio 6, but these days newer versions are too bloated. Therefore, if I can do something outside of VS, I usually do this without opening the entire IDE field.

In windows, I like notepad2 and gvim. I have configured vim to the point that it is perfect for my needs, so I don’t need to think about what and where.

But it’s good to note that (you can also figure it out yourself by reading these curious posts), many users use vim / emacs / ... because of the audible-best-cool / cool-factor / actual usability. Therefore, if this does not suit you, do not use it. Nobody will look to you for the wrong reason.

+3
Mar 16 '09 at 2:49
source share

I personally love emacs. I used vim and several IDEs. Vim and emacs have great communities where people want to code functions for almost any language. I do not know any IDEs that, say, support Haskell. It all depends on what is important to you. Both languages ​​have extension languages, although IMO, emacs lisp is the best of both. The ability to ignore the mouse is the main thing that I like. So many IDEs also support emacs and vim compatibilty modes or extensions. They both have big investments, but both are worth it. Sooner or later, you will choose what suits you, vim / emacs / IDE, and then continue to improve your skills with it.

+3
Mar 16 '09 at 6:23
source share

For me, the two most important functions are most important:

  • Emacs key binding since my fingers are compatible.

  • Open-source, for the freedom it provides. Communication with one platform is anathema.

These days I mostly use Eclipse for programming (installed in Emacs keybindings) and FSF Emacs for reading mail and some random LaTeX.

+3
Mar 16 '09 at 8:50
source share

When you use Emacs, you can install Cedet or the Autocomplete package to use name completion for some languages ​​(C ++ is pretty good, while Obj-C is still not supported), in addition to the advanced editor functionality

+2
Mar 16 '09 at 7:43
source share

emacs is powerful. I use emacs with vimpluse.el so that I can use vim key bindings with all emacs features.

+2
Apr 18 2018-11-18T00:
source share

I use Vim mainly for the input model. Once you have mastered the input model, returning to the editor in which you are forced to use the mouse seems awkward and ultimately (at least for me) annoying. It is much more efficient to type “ci” to change the whole text between two single quotes, then taking your hands off the home line, find and select text with the mouse, and finally hit “delete”.

I only used Emacs briefly, and although I prefer Vim, I'm jealous of some of its features. But I ended up going with Vim because I found a chord input model that Emacs uses to put unnecessary stress on my fingers.

+1
Mar 16 '09 at 9:22
source share

I have Xcode and TextMate, and I do not use them, although I know that they can be very powerful. Instead, I use Vim (or MacVim if you want). What for?

Because it is light, fast, exciting, powerful, customizable ... I could go on for so long, but most importantly, I can do whatever I want with Wim.

No matter which editor you use, the best editor is the one you are master (almost) excellent.

+1
Mar 16 '09 at 11:47
source share

TextMate just feels easier for me. Above my head:

  • It perfectly supports transitions between files and methods in files. Think of Quicksilver for files / methods. With the file open for editing, press command-shift-t to open a panel showing all the methods in the file. Start typing and the list filters itself. Select the desired method and click "return" to go to it. Xcode has something like this, but the coincidence of jellas is more literal.

  • Lots of built-in text extension. Enter the trigger and click the tab to expand it. For example, on a new line, by typing m and then clicking the tab, you will create a method for you. Then the tab key intelligently jumps to different parts of the inserted text so that you can edit them. These are such great times that it is ridiculous.

  • Plugin support for Subversion and Git. Perhaps other VCS too.

  • Finishings (e.g. Xcode) and history. TextMate allows you to completely fill in any text that exists in the file. Therefore, as soon as you enter the variable name of the same name or method once, you can use the tab to automatically complete it anywhere in the same file.

  • Smart dashboard with history, good built-in diff, theme support, good keyboard support, search in files and projects (with RegEx) and maybe more that I forget.

In any case, this is enough from me.

+1
May 25 '09 at 18:21
source share

I am a vim user for a long time and I think that I really like editing Komodo with Vim emulation enabled. Thus, I get all the convenience of vim key bindings (which I’m so used to that the recent MS Word document that I recently released had at least three ": w" in it) plus well-implemented code completion for C ++, Python , javascript, etc.

I don’t use Xcode because I don’t really develop applications for OS X, so the advantage of integrating with the OS X infrastructure is not big enough to outweigh the cost of not having vim shortcuts and the “do it our way or not at all” approach that Apple gives to development .

+1
Apr 18 2018-11-21T00:
source share

Xcode is more of an IDE, while emacs and vi are for plain text (although they have massive extensions for them). This is preferable if you are on an old system or over SSH. In addition, they are on almost every UNIX-based computer, while Xcode is Apple's proprietary software.

0
Mar 16 '09 at 2:00
source share

I do not use vi for coding; however, whenever possible, I use vi emulation in my editors. When I use Java coding in IntelliJ, I use the IdeaVIM plugin, which gives me vi support in the IntelliJ editor. This means that I almost never have to take my fingers off the home bar. I navigate using the keyboard (h, j, k, l), cut / paste with yy, dd, etc. And, of course, when I really need the power of a full-featured GUI editor, I can't use these features.

It drives me crazy that Xcode does not have vi emulation in its editor. It looks like the functionality that any worthy IDE should have.

0
Mar 26 '09 at 16:11
source share

Personally, I love TextMate because it is really a very easy solution. Of course, I did not use Vim or Emacs in depth (I like my graphical interfaces) ... although I completely enjoy the cursor-based navigation (Control-A is the beginning of the line, Control-E is the end of the line, Control-F and Control- B - forward and backward, etc.). So between Xcode and TextMate, I use Xcode for most of my serious development, but if I just need to quickly edit the source file, I can get up and code before Xcode even finishes launching (this helps TextMate remember which files were previously opened and restore them). Therefore, for small text editing, TextMate is my choice.

Also, the support for the TextMate plugin is amazing; it provides full support (syntax coloring, creation and launch, etc.) for many different things (shell scripts, CSS, SQL, LaTeX and much more) that Xcode does not provide. When I need to quickly deploy a program in Java or customize a web page, it is much easier than using Vim and then building from a terminal.

My only complaint with TextMate is that the console is read-only, so I cannot build anything interactive. This and the fact that it does not seem to support the C99 keywords (for loops and boolean elements) in a file with simple C.

0
Jan 02 '10 at 20:16
source share

Perhaps you look at my essay on Why Emacs? . Although it is more or less Emacs-centric, some of the points made in it will also apply to vim and TextMate.

0
Mar 14 2018-12-12T00:
source share

I tried vim a long time ago and for one reason or another, "I did not understand this." Then, having tried other editors over the years, I got to the point where no editor did what I wanted. Expressing my disappointment to a friend, he recommended that I try vim .... and I am so glad I looked again because it was an answer to a question that I did not know how to ask! I have used Vim / MacVim since ...

here is my configuration: https://github.com/RandyMcMillan/QuickVim

I also use Xcode because it is good to have code completion. XVim is good for people who want a modal / vim feel in the Xcode editor: https://github.com/JugglerShu/XVim

But when it comes to my daily editing, Vim wins every time. That is why I have a QuickVim repo so that I can quickly play my environment anytime, anywhere.

I have a list of licenses for editors like TextMate, etc., but it is likely that I will never be able to use them, since I can use vim for free and configure it to my exact specifications.

0
Dec 08 '12 at 1:40
source share

The heavy Vim user is here. Usually, I find that the Vi / Vim text manipulation capabilities are far superior to traditional editors that don't have things like:

  • visual mode: for example. 5 line prefix with comment //
  • macros: for example. combine from 3rd to 5th word in a line with quotes, repeat for 100 lines
  • multiple registers: think 36 registers for copy and paste
  • delete {motion}: for example. delete from cursor until next occurrence of 'initWithFrame'

These are just a few examples of how Vim has Xcode text editing beating hands down.

For Objective-C. I try to install the Vim plugin on the IDE in order to get the best of both worlds - support for embedded components / user interfaces.

By the way. Emac key bindings (such as CTRL-A to go to the beginning of a line) are supported in many text fields (Coacoa) on a Mac. Including the one you use to enter responses in stackoverflow: D

XVim works with Xcode. IdeaVim for AppCode

0
Apr 23 '14 at 13:26
source share



All Articles