Hacker News new | past | comments | ask | show | jobs | submit login
Am I the Only One Who Uses a Text Editor to Edit Files? (peepcode.com)
200 points by sant0sk1 on March 25, 2010 | hide | past | favorite | 160 comments



Am I the only one that found staring at orange hard on the eyes? I guess I should give the author credit for all the work that they put into this rant, seems like a blog post could have done just the same without all the fancy graphics and what not.


Actually, I had a harder time reading your comment, while my eyes re-adjusted to a more "normal" color scheme.


I was just thinking the same thing.


Everyone wants to be Dustin Curtis. Still, the author calling HN posters Neanderthals was a nice touch.


“Still, the author calling HN posters Neanderthals was a nice touch.”

In this case quite appropriate, though. Having to scroll down one third of the page before you get to anything resembling a meaningful discussion about the actual content of the article cannot possibly be a good thing. Neither can the sneer and arrogance displayed in this thread.

(I’m kind of aware of the irony of me participating in this thread. Resisting the temptation to be self-righteous on the web is hard.)


The "sneer and arrogance" displayed in the thread is from people who actually already implemented most of these features, and from people using those extensions.

This article boils down to "It isn't pretty enough, and I didn't write it." In other words: no actual relevant content. Just a lot of pretty images as text, BIG FONTS, and whining.


Sigh.

“Orange?! U R DUMB!!!!1!” – that’s what I don’t like. Not disagreement with the actual content of the article.


I take it you have eyesight that's near 20/20.

Mine's roughly that; the orange background is only a bit eye-straining for me.

For a lot of people with weaker sight, or outright visual disabilities that fall short of blindness, this would be entirely unreadable without Readability or similar tools.

Something that stops people from getting to content is noteworthy.


I don’t like the background. I thought it was nearly unreadable. Not worth talking about that, though.


Then don't talk about it.

Other people thought it was worth talking about with regards to a blog post by a guy who makes a point of giving each post a unique, custom design.

The color choice also hasn't been the only thing criticized - the layout is cluttered and confuses some people. It's overall a much poorer design than many, if not all, of the other posts on that site.


That's the downside of a design-heavy blog post: people will talk about your design first.


Really? That’s where you want to go? It’s the author’s fault that people here talk (mostly) rubbish for trying to make his post look great (even if he falls short)? I don’t quite follow.


"Really? That’s where you want to go?"

Lose the ego-investment/chip on your shoulder/BS. Nobody's impressed, and this isn't a schoolyard.

Where I "want to go" is exactly what I said. People will talk about the design first: how much they like it, how much they don't like it, whatever. We are not robots, and those of us with normal vision will pick up on color, shape, and arrangement before they read any of the text.

Simple rule: if you're going to be offended at people talking quite a bit about the striking color (or other design element) you used for your web page, whether appreciatively or not, don't use that striking color.


Well actually, it's common in the printing business to have each article to be of a unique style. Take National Geographic for instance.

One article has a different theme: http://www.valeriedaysings.com/wp-content/uploads/2008/08/na...

from another: http://www.simongarnier.com/images/wordpress/ft_hdr.5.jpg

Well actually, those are title pages, but I've read those articles and I can attest that the different designs set a suitable mood for the topic at hand.

I applaud web publishers for taking up this paradigm and applying what publishing graphic designers have been doing for some time. Of course with most methods of design, it depends if the occasion is suitable. Some online publications can do well with a consistent design: http://www.alistapart.com/

While others do well with differing designs, almost as if each posting of their articles is a treat for their readers: http://trentwalton.com/articles/

just like D.Curtis does, so good on him if he has inspired others to do the same.


Joy Division was a great band, although I thought the lead singer died in the 80’s.



Choosing such a username is always risky.


If you happen to be on a mac, control-option-command-8 is your friend. Also, the readability bookmarklet does wonders for the appearance of sites like these. (And thanks to the people on HN who originally introduced me to these)


control-option-command-8 is your friend

Ditto for if you go to Best Buy or any other non Apple store that sells Macs. They never know about this delightful key combo. </8 year old level of humor>


Glad I'm not the only one to sometimes be a bit childish and do this :-)


Control-Option-Command-8 switches the display to greyscale, then inverts it (in other words, black text on white becomes white text on black).


wow, i've never seen that before, thanks!


TO;DR


pardon me if this is lame. What does the O in TO mean?


Orange, as per the GP's complaint.


The readability bookmarklet is quite handy http://lab.arc90.com/experiments/readability/


Unfortunately it's not perfect. It didn't display the icons correctly and there was no clear division between and after the scenarios.

That's why I tend to use it more for reading medium-long stories, not fixing website's design.


I wish I could say yes. I found the color scheme interesting and a nice refreshing change from "Everyone's Posterous."

But I guess there are people who will complain about anything that is different. The slight irony of posting a complaint against orange while you were surely looking at a band of electric orange is not lost on me.

(At least, I assume you're with orange. Has pg lifted the karma restriction from the custom color preference?)


There is quite the difference between a little bar of orange and a whole screenful of it.


There's also quite a difference between the orange on this site (a harsh electric orange) and the relatively mild and somewhat popular shade of orange on the article, so I think it's a wash.


I don't think that there's that much of a difference - The site starts out the same colour as the header, in fact, and fades gradually. The majority of the piece, however, is on quite bright orange.

http://omploader.org/vM3h3OA/Sample.PNG (HN topbar, start of site, middle of site, bottom of orange section of site.)


I suppose the main argument was: “So what? Orange is not hard to read on. It sounds like you're complaining because you like to complain about different things.”

Appropriate contrast was maintained, the entire design was not overly luminescent. Since it was the background color it did not create a wicked eye-draw the way the banner at the top of our comment pages here do.

If you don't like unusual designs then you shouldn't read peepcode; a magazine format is one of their boasted mission statements.



I know people with severe visual disabilities. They have readers or tools to help them read things with far less objectionable layouts and designs than this one.

Saying every site has to avoid all interesting design so that people who are legally blind can—through supreme effort—read your page unassisted seems to be unreasonable at best and disingenuous at worst. Readability and screen readers and accessibility helpers and style removers exist for a reason and people who need them use them.


Huh. Have you actually managed to respond to any differing viewpoint here without wildly misrepresenting that person's remarks in a way that starts at disingenuous?


Have I wildly misrepresented the remark you linked?


Already answered.


I was hoping you'd clarify, but I suppose that's asking for a lot in this day and age of HackerNews. Dialog is dead.

It's pretty lame to say "misrepresentation" is what you call the process of "extracting meaning from unclear and muddled prose linked indirectly."


Dialog dies with good faith; when you try to recast what other people have said in order to argue with yourself, it's clear that you're not communicating in good faith.

When you lash out against anyone calling you on it, that's only confirmed.


javascript:document.body.style.background = "#fff";void(0);


thanks!


This is part of Geoffrey Grosenbach's project to use a different design for each blog post; see http://blog.peepcode.com/tutorials/2010/about-this-blog. (Not that I'm endorsing the rather orange design, but that's the motivation.)


When a page sears my optic nerves, I find it easiest to just disable its styles.


Same here, I struggled to read the whole thing. By comparison the screenshots were refreshing to look at.


Readability bookmark ftw.


Agreed. I gave up even trying to read it. My eyes still hurt. :-(


I am the only who thinks the post's title is boring.


The site and the god awful grid background image (appears on doubleclick) was enough to inspire me to make a new bookmarklet.

My first impression, article aside, was that the site made baby Jesus cry.

Edit: In retrospect I think it was the combination of the orange and the grid background (I have a tendency to doubleclick on everything) that really put it over the edge for me, the main design isn't terrible.


Hmm, I actually find the site quite nice. It's quite simple, readable and with some quite nice graphics.

But I agree, that background image is really horrible.


I think the background grid is just supposed to be an aid to align things properly when they're creating the content, and not really meant for readers to see.


What I can't understand is: why would you double-click a webpage?


I doubleclick text and blank areas constantly I realize this probably drives people insane, but while I'm reading a paragraph I will keep doubleclicking to select and deselect the text over and over. Somehow it helps my concentration.. I do this with code as well.

That's why I have bookmarklets to disable the dictionary lookups and other what I consider annoyances on sites that implement those features on doubleclick and yes I've been told that I'm crazy on many occasions.


I do this as well.

I do it so, when my attention gets diverted, I can quickly start from where I left off since it'll be highlighted. The obsessive clicking is because I'm obsessive.


ditto, ditto


To select a word. For example I double-clicked to select 'TextMate', so you search and find out what it is. Turns out it's a Mac text editor.


I wrote a snappy Ruby-based Vim plugin called LustyExplorer which does fuzzy/flex matching for opening files and switching buffers: http://www.vim.org/scripts/script.php?script_id=1890


Not to downplay your contributions (thank you), but just letting people know about other options:

FuzzyFinder Textmate http://github.com/jamis/fuzzyfinder_textmate (Unfortunately only works with fuzzyfinder up until v2.16)

and more recently

Command-T http://www.vim.org/scripts/script.php?script_id=3025


i've written a plugin as well. it's extremely simple: it uses find (or globpath() if you do not like external dependencies) to build a local cache. matching isn't approximate but you get results on partial matches and can browse files in directories (something i really missed in some other solutions).

i recorded a quick screencast: http://pipsq.com/s.mov

note that i'm matching against the linux source; searching smaller source trees should be a lot faster.

you can try it out by downloading the following files:

http://github.com/strange/dotfiles/blob/master/.vim/plugin/p... http://github.com/strange/dotfiles/blob/master/.vim/autoload...

launch with :Pyxis or create a map:

noremap <leader>e :Pyxis<CR> noremap <silent> <leader>E :PyxisUpdateCache<CR>


I also wrote a plugin to bring Jamis' fuzzyfinder to emacs: http://ruby-on-the-interrails.blogspot.com/2008/10/introduci...



Oh, and also a version for Emacs: http://www.emacswiki.org/emacs/LustyExplorer


I was looking for something like this. Thanks!


Am I the only one who almost didn't scroll down, thinking that the keyboard graphic was the thing to see?


I thought the "I'll tell you what I want, what I really really want" graphic divider and the icons below it was signaling the bottom of the page.


I'm pretty relieved to discover I'm not the only one who misread that heading as a Spice Girls lyric.


I didn't actually try to read anything because the orange/white/black layout makes my eye cry, so instead I just skimmed over to get an overview based on the design/layout/article organization alone.

At first, I didn't know if the keyboard thing was a banner with the blog name, the article title, or an interactive flash component. Then I saw random screenshots scattered without any text under and things made even less sense.

I started scrolling, but was greeted with four paragraphs of text laid on two columns, then a list of icons. Was this the end of the article and the icons are "share" buttons? No, wait, there's more paragraphs down there.

But are continuing from which column? I mean, the list of icons could be an ad and I'm supposed to read both left columns first, and then the right ones. But it could an article divisor and I should read the top rows first.

Then under it there's this three scenarios so crammed together that it takes some more fractions of second to realize they are different columns.

See? I'm completely lost and didn't even start reading the article.


No. It's a terrible webpage design.

Am I the only one who still values things like http://www.useit.com/alertbox/scrolling-attention.html ?


Yes. The "user's don't scroll" meme has been confirmed as a myth.


Especially in this situation I think, when you are somewhat motivated to click the link by title. I'd hope hacker news readers at least have the patience to scroll down if they don't get instant content gratification.


"confirmed" by who? every blog post I see titled "the fold is a myths" follows the same path where there author lays out a bunch of opinion of why they think it is "honestly people scroll fine, honest"

every empirical study (like the one linked) seems to confirm that there is an obvious bias towards content above the fold.

Dont think its particularly important here, I was pretty impressed by his design and not everyone needs to stick to strict usability constraints, but still handy to know what they are.


Anecdotal evidence, but evidence nonetheless: We did some testing of how people interact with icanhascheezburger.com and found that most people basically just scroll and then click the "next page" link at the bottom.


I'm not sure how well does this apply here. Why does it matter if someone pays attention to what's below the fold? Most of the post will always be below the fold (because it's longer than what a normal screen can handle), so if you either read it or not. The web pages 'useit' people show as examples are of a slightly different type (comments / products).

The problem of this blog is that there's no vertical element which clearly shows that it's cut by the fold and you can find more content below. (someone argued that this is the general answer to most "below the fold criticism" but I couldn't find it right now)


Yes. In fact, I embrace confusion here: http://kirindave.tumblr.com

(Go on a windows box, see how authentic the busy cursor looks!)


Did anyone ever think that maybe the problem is the FILES?

Let me ask that one more time. Would people be ranting like this if there were NO FILES?

I still believe the "future of programming" is where your code objects are not arbitrarily mapped onto files in the file system, you just manipulate them directly!

A few Smalltalks and Lisps out there do this using image-based development. This is where it's at. If you can't use a image-based Smalltalk or Lisp to get your work done, then use a JetBrains/Eclipse IDE. They're generally modeled off of the Smalltalk IDE and are the next best thing if you're forced to use a broken file-based language.

If you just take "files" for granted and think that the UNIX design philosophy is the best thing ever, then accept your fate and stop bitching.


" If you can't use a image-based Smalltalk or Lisp to get your work done, then use a JetBrains/Eclipse IDE. They're generally modeled off of the Smalltalk IDE and are the next best thing if you're forced to use a broken file-based language."

I've worked in smalltalk, and yes it is an interesting way to work but images had almost as many problems as hey solved. primarily version controlling and syncing code were terrible (yes there were some tools, and yes they all broke on weird edge cases).

If forced to choose these days, I'd rather use files + git + (+ emacs + grep + ... ) than images, Images are nice as an additional dev time artifact, but I believe files are more natural than images for source code.

"If you just take "files" for granted and think that the UNIX design philosophy is the best thing ever, then accept your fate and stop bitching."

This is provocative nonsense. smalltalk, while hugely influential and innovative is hardly the ultimate superior dev env that some old geezers make it out to be. I think it is mostly "the lost cause" style romanticism.


That's just the thing, git doesn't give a shit about files internally, it tracks the content instead and uses heuristics to figure out the file metadata.

Files and their artifacts do show up everywhere in git's UIs, because noone's found a better model yet of exposing the content to the user.


I agree with your post. That said, maybe the problem is the text.

There are many artificial problems we create for ourselves by using strings for everything. Programming languages in particular have upper limits on expressiveness due to syntax issues. We can't easily annotate expressions or types with extra details without filling the screen with symbols; characters don't scale. Keying every resource with a unique human-readable string causes import conflicts, broken backwards compatibility, and hundred-line diffs - all in the name of renaming one function. Mistakes like ambiguous identifier-scope lookups, block structure/indentation mismatches, and operator precedence issues eat up valuable programmer hours repeatedly, in exactly the same way each time.

We've designed better languages to mitigate these effects, but we can only do so much. We can do static analysis to catch common errors and incremental compilation in the editor itself, but the heuristics can only work in a fraction of innumerable cases. Even simple syntax highlighting is intractable in many cases. If we programmed in structure with an AST-aware editor, whole classes of artificial problems would vanish in an instant. (To be replaced by the UI issues of a whole different paradigm in editors...)

Well, there are plenty of people working toward this, myself included. We'll see.


Related: Using Visual Studio + ReSharper, I can just press CTRL + N and start typing the name of the type I want to go to.

CTRL + ALT + SHIFT + N (seriously) and I can start typing the name of the method, variable, whatever.

With both of these, you can use wildcards or PascalCase caps, it's really, really fast.

I hardly ever use the solution explorer anymore. The fact that the types I'm working in exist in files is something I barely pay attention to.


This is similar to the "browse implementor" or "find senders" in smalltalk, or "Find Usages" and "Browse Implementation" in IntelliJ (I use RubyMine). You navigate the code, not the files. I've found I can concentrate on the design of the software a lot better when I'm not also worrying which subdirs certain files are in.


Not exactly no files, but I think the bubble concept could solve this too.

http://www.cs.brown.edu/people/acb/codebubbles_site.htm http://news.ycombinator.com/item?id=1181742


Sounds like some people still haven't learned NetBeans or Eclipse.

Takes some time getting used to, -just like vim or emacs, but once you get used to the keyboard shortcuts you get everything the author asked for. No mouse needed: check, fuzzy search: check, paths: check, metadata: check, beautiful: check


It's interesting that Eclipse isn't even on the radar for a lot of developers (especially for Mac users, Textmate being the holy grail of IDEs). It's a solid, platform-independent IDE, completely open source, with thousands of man-hours behind it and lots of language-specific plugins.

Regarding file navigation, http://rayfd.wordpress.com/2007/05/20/10-eclipse-navigation-... covers a lot of the lesser known but powerful features (not Java-specific).


Works over SSH: not so much.


Try with X forwarding turned on next time ;) Most GUI apps work just fine over SSH.


Not so much over high latency trans-atlantic connections with low bandwidth, which is something that works perfectly fine with a terminal based editor.


The guy was asking for a GUI.


X Forwarding. And for those of us that are emacs users, use emacsclient to connect to a remote server or use Tramp mode--this is a solved problem.


You can always put your IDE workspace on a networked filesystem the target system has also access on, so you get similar results. Also SSH can be started inside eclipse for additional tasks.


How can eclipse/netbeans know if files are are in an sshfs volume or a local one?


fuzzy search is quite lame in IDEs in my experience, maybe there are plugins I haven't heard of but the defaults are really put to shame by TM's Cmd+T


No mention of ctags. I use that more than anything to navigate around files in emacs: M-. SomeIdentifier takes you straight to the definition. I hardly care which file its in.


I prefer cscope & vim, but yes, I often have no idea what file I'm in.


Uh..have you never heard of IntelliJ IDEA or Eclipse? Or RubyMine? Or Netbeans even...

They pretty much do everything you're talking about.


Yeah, why was the OP upvoted? Are there seriously that many people on Hacker News who have never used a real ide?


Depending on the language, IDEs are often not worth the trouble. I was big Eclipse and then Netbeans user when I did Java dev. When I started working in C++, I used Eclipse for about two days before I went back to vim. The Eclipse functions I depended upon most in Java - navigation, autocomplete, and refactoring - just didn't work all that well in C++.

IntelliJ IDEA has exactly what the author implemented, but IntelliJ IDEA can also take about 5 minutes to start up, and takes up all your screen real estate. When you work in 5 languages on a regular basis and just want your editor to start up quickly, that can be quite a pain.


Netbeans? There is a drop down of all open tabs, but that can't be filtered. There is also a window which shows open documents but for some unfathomable reason it can't be docked.

The only navigation I can see for open projects is the tree view which is painful for large projects with files scattered across the project (e.g. web frameworks).

edit: Ah, I see. The article wasn't about text editors. It was about how file navigation (within whatever environment you use) sucks.


Also, if you're using Visual Studio, you can either get Resharper or the free plugin StudioTools: http://submain.com/products/studiotools.aspx

Both add better file/class/method navigation, and I find them invaluable.


My favourite text editor still has to be Notepad++ on Windows. I've never found another (both for Windows or Linux) that was as snappy and simple.

shrug

(never quite "got" emacs - it reminds me of the crappy, buggy, horrid PIC IDE we used at uni)


I was very impressed with Notepad++. I've switched to vim simply because I've been doing more and more work on remote unix machines - and it's so much easier to just open up vim through ssh. Now that I'm used to how to use it, I also appreciate how easy it is to get a dark color scheme that's easy on the eyes.

But yes - a big upvote for notepad++. Very lightweight and easy to work with.


I also use Notepad++ and like it a lot. It keeps things simple and just works. One of the coolest features is if you change a file anywhere, the changes are automatically reflected in the opened buffer.

I use Total Commander for opening files: http://www.ghisler.com/

Emacs and vim fill me with rage every time I try to use them. And I definitely prefer several small tools to a big, monolithic IDE.


VIM has a similar file finder using a plugin called Fuzzy Finder http://www.vim.org/scripts/script.php?script_id=1984


It's almost like programmers write programs to help them get work done! And I thought you were supposed to solve problems by making a big orange web page whining about them...


You mean like what the author did?

"This article started with pain, developed into an idea, and ended up as an unexpected prototype implemented in MacRuby. I’m using it daily and am fine-tuning the interaction, visuals, features, and performance."


A window that displays filenames next to a larger-font-version of their extensions?


In my experience, Anything provides better file and buffer location for Emacs. http://www.emacswiki.org/emacs/Anything


I'm not sure this matters for what I do mostly: Use Rails.vim where you are moving around typically with :Rmodel or :Rcontroller and splitting windows to see the implementation and test side-by-side.


A pretty, re-invented, better Emacs would nice.

Till one exists use the current emacs.


One solution:

Use fewer files. I try to keep the number of files and folders for a project to as few as possible.

Then you spend much less time opening and searching for files. As more people get involved with a project, you'll have more files, but you should make an active effort to keep the numbers minimized.

Here's a little script I wrote to give quick stats on a project's size:

http://breckyunits.com/metrics_for_programmers


> Use fewer files.

Why? What does that have to do with text editing capabilities? The number of files depends (or at least should) on what you do, not on how bad your tools are. If you limit the number of files to limit the file-opening time, you increase the fragment-searching time in the gigantic-file-of-doom. Also you lose the possibility to make local one-file changes which are self-explanatory if you look at the VCS history.

I'm not sure why would I want to make my work harder just to make up for the tool's features...


The OP complains that:

> For most programming tasks, editing involves opening several files at once and switching between them (e.g. HTML/JavaScript/CSS).

His idea of a solution is for better file navigation.

My claim is that often the real problem is a bloated set of files and directories in a project.

I find when the set of files is small, opening and switching between them is much faster and more productive.

This applies particularly to the beginning of a project. As classes/files mature, then I recommend splitting them up into more files.

For example, when starting a new MVC project I'll create one models file. All the models go in there at first because the project will be heavily edited.

Once it's become more stable, I'll split it into a file for each model/class.

This way when you make small changes you'll have the VCS history benefit you mention, but often you don't really need that at the beginning of a project.


Vim has this nice feature where you can edit directories as well as files. Just say:

  vi dir
Now you're looking at a directory listing, and you can move down to an entry and press Enter to go there.

When you're inside a file, you can go back up with:

  :e ..
You can also use wildcards and tab completion. I suppose for finding routines you can use ctags, though I haven't bothered with that in quite a while.


That didn't work for me with nvi or vim, it just says, "/usr is a directory". Does it require an extension? (I'm assuming your 'vi' is a symlink to 'vim', which is not always the case.)

Similarly, Emacs has dired, and in some extensions you can edit the file metadata in place and hit save to rename files, chmod, etc.


Right, I'm talking about vim. On Ubuntu, by default, my "vi" is vim.

I'm surprised it didn't work for you using vim explicitly. It works for me using versions 7.1.138 and 7.2.245, from fresh installs, by default, with no fancy configuration or add-ons.

When I run vim on /usr, it shows me a directory listing which I can browse and edit. I can create, delete, and rename directories and files right there.


I probably just don't have the relevant plugins installed. I installed vim on this computer for some reason or another, but I usually use Emacs or nvi.


The behavior seems to be part of vim's netrw plugin. Aside from the obvious `:help netrw` you may find `:help standard-plugin-list` interesting.

(netrw has always been enabled-by-default for me, but I've spent most of my time on desktop-oriented Linux distros.)


That's for browsing directories (to edit the contents of the files), and it's a vim feature not a vi one.

If you want to edit directories, as in edit the file metadata they contain, try out vidir from the moreutils project.


I use this all the time. Its the best way I've found to deal with the hassle of the rails migrations naming scheme.

vim db/migrate

then I can easily find the file I'm looking for and quickly open other migration files for reference.


Kate comes close to providing what he is looking for:

It doesn't do an x/y fuzzy search, or an x y fuzzy search though it does to single word search.

It colors files by how recent they were opened and by if they were most recently edited or just viewed (changing/reference code). The file searches include folder names. All navigation tasks work through the keyboard. It has GUI beauty.


Typical designer. "Oh no, my text editor displays its status to me using text."

Yeah. Some people get their eye-candy feed from lolcat videos, and then use their tools for work. (My desktop doesn't even have wobbly windows! Just a 1-px red border! How can I get any work done that way!)

Also, I'm fairly certain that eproject gets rid of the "wall of text" that disqualifies Emacs. In a perl project, for example, I can hit C-c C-f to find project files, but the files are displayed as the names of their resources -- instead of lib/Foo/Bar.pm, I see "Foo::Bar".

Personally, though, I just "eproject-open-all-project-files" when I start working, and then just iswitchb to the file I want to work in. Usually, you are two or three characters away from any file you want.

Learning and thinking > pretty.


I think your attitude is overly dismissive. At least, I'd have a hard time writing someone off as a "typical designer" (a bit of a tired stereotype) if they're experienced in both vim and emacs, let alone work for Peepcode. The author offered a sustained, reasoned argument for better navigation within projects.

I agree that as a programmer, I care about functionality and tools that get out of my way so that I can get my work done quickly and efficiently. But I don't think that means that everything has to look ugly (or better - that it couldn't be more elegantly presented).

I'm a Vim user, and rarely leave full-screen mode. It's a great app, but on large projects even with the Fuzzy File Finder plugin, I agree that navigating can be cumbersome. I'd like to try out Jamis Buck's "Fuzzy Finder Textmate" plugin that builds on this, but have had trouble getting it installed on both my desktop and laptop.

tl/dr: The author knows what s/he's talking about, and things can be pretty and functional, too.


If you've had trouble setting up fuzzy_finder textmate, check out my post: http://codeulate.com/2010/02/installing-fuzzyfinder_textmate...

I walk you through it step by step.


I've gone through this process a number of times on different computers so I imagine that others will find this quite useful. Thanks for writing it up!

As an aside, I think you can just download the 2.16 version of fuzzyfinder from vim.org and it will work with Jamis' plugin. That's the version I use - love this plugin and I doubt I'd be able to use vim without it!


Look through the forks of fuzzyfinder_textmate on github - Jamis has stopped maintaining it to work with the latest FuzzyFinder, but other people are still working on their forks to keep it up to date.


As far as I know, Fuzzy Finder Textmate only works with Fuzzy Finder up till version 2.16.


Constantly mentioning how you're using a tiling wm is the new constantly mentioning you don't have a TV.


But you just did the same, if you didn't know xmonad you wouldn't know of the 1px red border either! ;)


Ah, the Rubyists are here.


The thesis of the article isn't "pretty > learning and thinking", and I don't think your distinction between the two is valid. User interfaces shouldn't be left to rot in the name of "learning and thinking". It's important to consider the way something looks and functions as it affects your ability to use it considerably. Form matters just as much as content. You can learn and think and have things be pretty all at once.

Furthermore, I don't think you're really addressing the core of the article. He mentioned the word "ugly" once, and it wasn't even the bulk of his criticism: Emacs doesn't provide all the features he wants. The "Metadata" icon was left of off Emacs, and he goes on to mention things such as searching on class and method names.


[deleted]


Feel free to post some Emacs packages that provide what he's asking for.

Your first post just dismissed him as a "typical designer" and focused only on the word ugly.


Everything he wants is handled by eproject and a tags table. (If you don't want to generate a tags table, just have something generate it for you in the background. I use the Perl-specific http://github.com/jrockway/editor-tags/.)

Anything, icicles, ido, ibuffer, and iswitchb, are also good tools.


Anything, in particular, seems to cover most of his wishes.

He dismisses the menu style that ibuffer / iswitchb use as ugly, and while I agree that their output is cluttered, I still find them vastly superior in practice to a one-file-per-line list. They make more sense with an editor that uses a minibuffer, though. (I use dmenu, too.)

Also, I think displaying the file extensions in lowercase would make them easier to visually disambiguate at a glance. Block of CAPITAL LETTERS hide ascenders and descenders, making every word a rectangle.


> Just a 1-px red border!

You don't use xmonad, perchance? It's the only one I know of that uses the one red pixel in the default scheme. I guess Awesome or the like might too, but I haven't used them in a long time. Tiling window managers are a great example of something that is less "advanced" but more useful.

And as far as I can tell, both Emacs and Vim can easily satisfy all but the "beautiful" requirement for him. I think he should just replace all of his requirements with, "a powerful and extensible plug-in system."



Command-T is a relatively new Vim plugin that does fuzzy matching on the entire path, giving greater weight to characters immediately following slashes or other word separators in the pathname. I've been using it for a few days now and can attest that it is extremely fast and seems to "know" exactly which file I want after just a few keystrokes.

http://www.vim.org/scripts/script.php?script_id=3025 | http://github.com/wincent/Command-T


I use Acme, it's got a smashing way to browse, open, and manage files.


Agreed. It's hard to beat an editor where you can run find, grep or whatever shell command you like, and the output becomes a clickable menu.


Is there a port of Acme to OS X?

Or are there any similar editors?


Ignore the reference to Wily in the other post; that is an ancient and crappy copy.

Plan9Port http://swtch.com/plan9port/ has Acme, along with many other useful Plan 9 tools.

Acme-SAC http://www.caerwyn.com/acme/ is a standalone bundle of the Inferno version of Acme.

Both will run on OS X, both are basically the same. I use Plan9Port.


Wily (http://www.cse.yorku.ca/~oz/wily/) is a major Unix port. Some quick googling says that it should work on OS X, though you need a three-button mouse for its chording-based interface. Its design is strongly influenced inspired by Oberon (http://ignorethecode.net/blog/2009/04/22/oberon/) (the OS, not the beer).

I find its design very novel, but the mouse-centric UI is a dealbreaker for me. (I went back to Emacs.) If you're already using a Mac, you're probably a bit more forgiving of mice, though.


That's what people think. But Mac OS X is actually short-cut land. There are loads of short-cuts.


Can you use OS X entirely without a mouse?


I don't know. Never tried it.

I'm just very happy common things like closing a window(cmd-w), quitting and app(cmd-q) have sane and comfortable short-cuts compared to Windows.


For file finding, I use FuzzyFinder with a shortcut to the recursive search. So far that and ctags been good enough that I haven't wrestled with fuzzy file finder textmate. The Command-T plugin looks neat though.

    " vim-fuzzyfinder plugin
    map <Leader>t :FufFile<Enter>
    " start recursive search with a comma. see help for 'fuf-abbreviation'
    let g:fuf_abbrevMap = {
            \   "^," : [
            \     "**/",
            \   ],
            \ }


I wrote a simple fuzzy file finder extension for Emacs that tries to address some of the things I don't like about IDO (namely the "big paragraph" presentation that this article tells about), but does much less of course. I use it myself all the time, and if it could be of interest to the readers of this thread, here it is: http://code.google.com/p/find-file-suggest


This is really well done, and especially interesting because I am doing research on making a text editor right now.


I'm so close to getting vim to be my ideal editor...7.0 for tab support, and ctags opens tags in a new tab, not a new buffer.

But I can't figure out how to search currently open tabs instead of opening a new tab no matter what; I end up with duplicate tabs very easily. So his 3rd major "what I want" point really rings true.


Your problem is trying to use the tabbar as a replacement for :ls/:files/:buffers. Stop, and learn what tabpages really are--work spaces, or view ports.


I agree. Now that I know how to use buffers, splits and the jumplist, I don't often open buffers in new tabs.


I'm suprised Geoffrey doesn't mention that you can switch between TextMate tabs without the mouse using ⌘1, ⌘2, ⌘3, etc. I navigate Rails projects through a combination of ⌘t (fuzzy search), ⌘n (move focus to tab n), and the occasional side-menu mouse click, which works well for me.


  cd ~/code
  ctags -R .
  echo "set tags=~/code/tags" >> ~/.vimrc
  vim -t SomeClass


GoToFile bundle is an alternative to default Command-T in TextMate. It does filter by path for instance. http://github.com/subtleGradient/gotofile.tmbundle


http://www.sublimetext.com has a feature almost exactly like this (missing the modified timestamp -- not sure how useful that would be anyway).


At the risk of ending anticlimactically, I plan to release it as a serious helper application with painless TextMate, Vim, and Emacs integration for a small fee (payable with PeepCode credits or free to Unlimited subscribers).

Good to know. We're saved. For a small fee.


A case study in how not to layout your website for easy readability.


I like it.

Feature Request: Allow it to run invisibly (no Dock or menubar icon).


I get it. Yes, I want.


Yup, I use Coda


Where's the geany integration? sniff


I shall subscribe to your mailing list.


I find it funny that about half of the comments are about the "horrible" web design of the article.

If you agreed with the message you would never have wasted that much breath on it, but you don't agree with it, and you don't have any good arguments against the article, so "Too orange!" it is. :-)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: