The text rendering updates (it looks perfect and pixel-for-pixel the same as TextMate now) and the fullscreen mode in Lion make this an awesome upgrade for me. I can't believe how fast Jon kicks out his builds because they have huge new features every few days. It's literally a night-and-day development difference compared to TextMate and is one of many reasons why I made the switch to ST a few months ago.
Sublime Text is awesome! Even though it's still in beta and missing lots of features, I still bought a license for it last week.
As a Mac user, text editors are a pain in the ass. When you're booted into OSX, you wish you had access to your Windows-only text editors. When you're booted into Windows, you wish you had access to your OSX-only text editors. Running Parallels just to edit text is over kill. ST solves this problem beautifully--on Linux as well!
The best part is that the license if PER USER instead of per machine, so you can install Sublime Text on all your different operating systems.
I also want to mention that the config files and plugins are written in Python. Yes, the config files are actually Python files. I haven't made a plugin yet, but the API looks great and simple to use.
As a VIM user I find that amusing, people that use editors other than Emacs and VIM are very disloyal to their editors, I've been using VIM for years, and I'm not switching to another one...
Just out of the curiosity, what editor do you use on Windows?
PRO Tip: Pick an open source editor, so it's always updated (ejem TextMate).
The learning curve of Vim and Emacs making it hard to swith TO another editor? Sorry, but that makes no sense. :-) Maybe Vim and Emacs do have qualities that other editors don't match?
That's not what I meant. What I wanted to say is you put so much effort to master Vim/Emacs (as you want) so if you say "oh great a new editor i'll use it" all the efforts spent in learning Vim/Emacs are "lost".
I hope you get my point!
(and I agree that they have qualities that other editors don't match)
Emacs and Vim are so different from anything else, and you invest so much time customizing and tailoring them to your use that in the end they are actually your own editor, not Emacs or Vim anymore.
Other editors instead are usually based on the same general idea and interaction, so switching and trying different ones is easier.
I used to be a sublime user and I switched over to vim. Now I'm in a weird position where I use Sublime for the ability to instantly find anything and go anywhere in my project and I use vim just for editing.
On a side note, Sublime has excellent project navigation functionality.
They may not be mastered equally. For example, I find myself using vim to edit files on servers, because setting up emacs to my taste is always a bit of a pain. (I do know about TRAMP.)
I originally coded in C# with Visual Studio. The part I had most difficulty with while switching to Ruby wasn't the syntax change (I loved that part), but the editor. Visual Studio really does a lot for you, but you don't even need to do most of that stuff in Ruby.
Just finding a good text editor for Ruby is a challenge. I'm very picky about text editors, and I prefer to code in Windows, just because it's the most comfortable environment (in my opinion). I was coding in Redcar (http://redcareditor.com/) which is a cross-platform Ruby IDE. It was very buggy and felt gross. It wasn't efficient, and it is missing a lot. I tried Notepad++, but after 5 minutes of it, I didn't want to deal with it. It just felt really old. I tried Vim too, and of what little I do know of making it more productive, I thought it was awesome. I don't want to spend that much time learning how to use the utilities for coding though, I want to get started. I use Vim for editing various config files on my server machine, but other than that I rarely use Vim
Then, I tried Sublime Text 2 and I knew that's what I was going to go with. It was much cleaner, stabler, and offered the right kinds of things, things that I didn't get with Redcar, Visual Studio, or (especially) Notepad++.
But you're right, both are good choices. You can highlight, bold, and italicize all your code at capricious whim, no other editors can compete with that
It'll take a lot to convince me to switch to a new text editor (coming from a perfectly-customized MacVim experience). Sublime Text 2 is the first that has even caught my attention, and each new build has given me more to love about it.
That said, it's going to take real vim bindings for me to actually switch. Of all the amazing features ST2 has been adding, none of them increase my productivity while programming more than vim's modes right now.
I am thinking exactly the same. I am primarily a vim user and even though Sublime Text 2 looks good, I am not sure how it compares. I might go and look for some feature comparisons.
Try http://vicoapp.com/ - TextMate bundles, a real, Lispy scripting language (Nu), and vim style modal editing. Still has a ways to go in terms of vim command parity, but I've been using it as my main editor for the past month and really enjoying it.
Another vico convert from Textmate here. There are still some rough edges, but overall a pleasant experience. Surprisingly Mac-like for an editor that is fundamentally un-Maclike. It's been my main editor for two weeks, and I don't feel like going back to TM as my main text editor.
The biggest change (other than the fact that it's now primarily vi modal behavior rather than MacOS) is the missing find in project command. I get by with the find cli command, but it would be great if vico had a dialog-driven Find command as well.
Bonus is I'm becoming much more fluid at vi/vim which pays off just about everywhere.
I can't agree more. I love trying different text editors, but I have grown so comfortable with vim that now navigating without hjkl just seems weird as well as many other things. I plan on trying Sublime Text 2. The last time I briefly tried to use it, I did not find a lot of good documentation on how to get started with it. I hope that has changed.
I start vim from the directory of the project that particular MacVim window will be working on. From there I use NerdTree and Command-T to open buffers/tabs in the same window.
I do this too. How do you manage switching between open buffers, or closing one without closing the others? I don't have a good solution for the first, and for the latter I find I have to close nerdtree for :bw to work as expected.
I use bufexplorer[1]. There's something about minbufexpl's list that seems unappealing to me when it spans multiple lines. I also have CTRL-j/CTRL-k mapped to :bnext/:bprev. As for closing a buffer, my main window generally has a single vertical split, so I have the following kludge:
This creates another vertical window temporarily, advances to the next buffer in that window, activates the window to the right (which still shows the buffer I'm trying to kill), and then deletes that buffer leaving me with two windows again. Amusingly, my older machines were slow enough to catch a glimpse of the third window, but it disappears too quickly to see on my new machine.
:help CommandT
...
*:CommandTBuffer*
|:CommandTBuffer|Brings up the Command-T buffer window.
This works exactly like the standard file window,
except that the selection is limited to files that
you already have open in buffers.
and then later...
MAPPINGS *command-t-mappings*
By default Command-T comes with only two mappings:
<Leader>t bring up the Command-T file window
<Leader>b bring up the Command-T buffer window
Note that this is only available since 1.1b which was released in March.
Another MacVim user here. I open up a lot of tabs, which works really well for me. The first version of MacVim used to have a sidebar (which was even better) but this is fine too.
It's amazing the consistency of quality of experience between Mac and Windows.
The cross-platform license is also fantastic. There will be those days where you, for some reason, arrive on a Windows box and having Sublime Text around will make your day substantially less painful.
It's great to have a consistent cross platform text editor. Nothing worse than firing up Parallels just to access a Windows-only text editor, or editing Windows code on the Mac side because you don't want to deal with VS's lack of speed.
Jon - I see you responding elsewhere on the thread. Would love some more info about how you build and develop on 3 platforms simultaneously, with the appropriate native hooks on all of them. Pretty impressive.
I keep meaning to write a blog post with some details on this, but as with many things, I usually end up coding instead.
Sublime Text 2 is almost entirely C++ (with a smattering of Objective C for Cocoa and Python for plugins). Coding is generally fairly straight forward: code on one platform (mostly Linux at the moment, but I switch around frequently), and then make sure it still compiles elsewhere.
Sublime Text 2 itself uses a custom UI toolkit. There are a lot of apps where this may not make sense, but it's not such an unreasonable choice for Sublime Text, where I always knew that a lot of the UI controls were going to have to be custom no matter the toolkit (e.g., the text control and tab controls). The UI toolkit sits on top of a cross platform abstraction layer, which is more a union of platform functionality rather than lowest common denominator.
I've been trying to use Sublime for a while now but really disliked the dark skin (even with theme changed). I just installed: https://github.com/buymeasoda/soda-theme/ and am in love -- definitely going to be switching over.
The dark theme is nice. I quite often use Sublime in full screen mode, because I need a large font size to see the text, and use the blackboard theme to repvent eye strain. Having the bright sidebar on the left was always a distraction (while distraction free mode, of course, meant no sidebar).
Indeed. I'd say it's about twice as old as Mac OS X. The first version of OS X was released 10 years ago. BBedit about 20 years ago, at the end of the System 6 era.
I'm going to try it again this a.m., but last time I tried to switch I couldn't do it. It's mostly for ridiculously minor stuff that I have a really hard time getting past.
Here's what I noticed in playing with it again for about 3 minutes this a.m.:
* Fly in animations. When you expand a folder (down) the folder contents fly in from the right instead of just sliding down. WHY? Mixed design metaphors like this drive me insane.
* Harder to distinguish folders from files in sidebar, making it harder to navigate around.
* Find in project appears in very slim opening at the bottom of the window. No highlighting of search terms so it's extremely difficult to visually parse.
If I find/remember other nitpicks I'll put them here.
These are super minor, but for me even the most minor of distractions or frustrations in my text editor can have a big impact on my productivity.
Sunk cost fallacy. Sublime Text doesn't cost any more for people who have already paid for Textmate than for people who haven't. It doesn't have fewer features, or run slower, or crash more, or look worse, for people who have already paid for Textmate than for people who haven't.
The only thing that's different for people who've already paid for Textmate is that they already have Textmate. That might, indeed, make Sublime Text less valuable to them. But the person you're replying to already knows that, and is asking: What reasons might I have for not switching?.
This is incredibly slick. TextMate made a big contribution to the concept of a modern editor, but, in the face of this, all it might soon have left is the brand name.
I do hope ST2 gets a better Mac icon for its final release. The big straight-on square doesn't look good; it needs a bit of perspective. Valve's Steam (which on the whole is very un-Mac-like) made this correction.
If I can ever get off of TextMate, it will NOT be to another closed source editor. TextMate is dying a slow painful death due to lack of attention from it's creator and owner. If it were an open source piece of software, the community would be adding new features and fixing bugs, not letting it stagnate while working on a ghost project.
save on lost focus or something like that ... I tend to write some code, save the file then refresh my browser ... now I can just skip that intermediate step, because it saves the file for me as soon as I leave the window.
I also love the fact that I can click through files, without opening new tabs to see them.
Would really love it if the sidebar would highlight whatever file you're working on in the folders section as well as the files section
IANAL. MPL basically says "do what you want, but if you change any of the files we distribute, you must release the source to those changes under the MPL."
That's what I thought too, but didn't disable it. Now I've found that it's great when you're searching within a file, because you can see the search matches highlight on the minimap. The same highlighting is also great when linting files (https://github.com/Kronuz/SublimeLint) to see where errors are.
Some discussion about a mini-map plugin for Vim came up when Sublime 1 came out. From what I can remember, it was either impossible or very hard to do in Vim, but there was an Emacs implementation done.