

Review: Textadept - amarsahinovic
http://yfl.bahmanm.com/Members/ttmrichter/software-reviews/textadept-review

======
voidr
No, it has no chance of replacing Vim because it doesn't run in the terminal
and it doesn't come out of the box on most *nix systems. Initially I don't
like the title, because it is too vague.

~~~
sj4nz
> The version of Textadept for the terminal requires only ncurses.

For a while, you could only get ed on most *nix systems. Doesn't mean this
couldn't become a new "standard."

Vague title? In what way? It's someone's review of why they're using
Textadept. (or is this a case where HN changed the title after the fact?)

~~~
showerst
The title was edited, originally it was something to the effect of "Finding a
replacement for Vim".

------
goldfeld
The author gave out his naivete here: "Textadept is easily on par with Vim,
Emacs and ST." I'm sorry, I know nothing about Textadept, but if Sublime Text
is on par with Vim and Emacs then I'm a hipster in love with Coldplay.

~~~
swah
Sublime is better than Emacs and Vim!!1... in some ways.

(Fast, flawless rendering, not relying on regexps for syntax highlighting,
proper fullscreen, graphical UI instead of text-based, nicest extension
language...)

------
btipling
Anyone still willing to change editors has not yet put much of a worthwhile
investment of time in a good one. Choosing an editor is probably a lot like
finding a soulmate.

~~~
grayrest
Vim is my primary text editor and I'll never switch to an editor that doesn't
have a command grammar but there's most definitely room for improvement:

* It's difficult to add new motions to vim. EasyMotion and Surround.vim are the only two real attempts I know of. EasyMotion gets by on marks while surround.vim is baroque.

* There's little/no context awareness built into the syntax highlighting/grammar files. Textmate's scope stuff is really the best feature of the editor. If the vim maintainers/community could decide on syntax groupings and a query system was added it'd be doable but I'm not really expecting it.

* There's limited context awareness built into the mapping system. ST's system is quite nice here.

* No support for multiple cursors. The support that's built into ST is fairly primitive compared to the multicusor whitepapers from MIT (I believe around 2000) which did generic editing stuff.

* No repl. This goes against the philosophy of the editor but having a repl is really convenient when doing lisps. Foreplay is sufficient but doesn't fill me with joy.

* I've wanted to set up what I call 'regions' in the file where one part of the file is a computed version of another. The obvious use case is xml tags where editing one tag name in the pair updates the other but I think it could be generic. I had more use cases when I was thinking about it but they're not coming to mind at the moment.

I think there is potential for interesting display/visualization stuff for the
HTML based editors and integration into the runtime like Smalltalk
environments. I'd also like to see some sort of AST manipulation server pop up
and to provide IDE-like services in a cross-editor manner. Finally, I spent
time with LEO in the early 2000s and while I hated the editing, the text node
organization was interesting and I haven't seen a similar attempt elsewhere.

Don't get me wrong, there ARE new things in Vim that are unique/cool like
conceal and I can do fun/weird stuff with UltiSnips which I haven't been able
to do with other snippet systems. I doubt I'll move off any time soon but it's
far from inconceivable.

~~~
goldfeld
There's actually a multi-cursor plugin for vim,
<http://github.com/paradigm/vim-multicursor>, I know nothing of it's features
but it speaks something of vim's extensibility.

As for motions, what kind of motions do you think are difficult to create? I
have dabbed in creating a fundamental new motion for vim which is analogous to
f but takes two characters instead, and it does not rely on f's implementation
to work. You can see it here <http://github.com/goldfeld/vim-seek>

Regarding lack of context, I agree, but I can't say I've done enough vim
plugin development to say whether I think it's beneficial or detrimental to
vim to be limited so.

Regions do actually sound like something with an infinite number of advanced
and creative applications (stuff like Emacs org-mode). Do you know of editors
that have such a feature? I'd be crazy for that.

~~~
grayrest
> As for motions, what kind of motions do you think are difficult to create?

It's mostly text objects. Text objects for scope, variable references, etc. I
think there are motions I have not yet discovered that operate on syntax
trees. These are nonlinear the way surround is nonlinear.

I was introduced to multiple selection and generalized cursors when one of the
DabbleDB guys implemented a generalized cursor editor. I thought it was
awesome and did a bunch of research:

[http://static.usenix.org/events/usenix01/full_papers/miller/...](http://static.usenix.org/events/usenix01/full_papers/miller/miller_html/)

[http://scholar.google.com/scholar?q=related:7040sK6UgeAJ:sch...](http://scholar.google.com/scholar?q=related:7040sK6UgeAJ:scholar.google.com/&hl=en&as_sdt=0,33)

After reading a bunch, I got around to thinking what I'd have to do to
implement an editor that could handle generalized cursors based on my
experience with vim and hacking on it.

I came up with the idea for an edit core consisting of motions as compositions
of partially applied functions. Takes a position returns a list of ranges,
applying the list of ranges to an operator produces an edit. The jump from
there to regions is pretty straightforward. The system also provides a clear
path to how keyboard mapping would work (along with stealing the context ideas
from ST).

I'm unaware of an editor that works this way but I find it difficult to
believe I'm the first person to think of this. If I can successfully maneuver
my job into building web development tools, I expect to gut Codemirror and
replace the core operations with these primitives as a top priority but I
haven't gotten there yet.

For context sensitive stuff: You can do clever stuff with it. As an example,
if you're in a JSON file, after an identifier, and you type a : the editor can
automatically put quotes around the key if it's not already quoted. My intro
to the usefulness of context sensitive keys was that the ruby textmate bundle
would insert Ruby interpolation (#{|} with | for cursor) when you hit # in a
string.

~~~
goldfeld
Can you not do most context sensitive stuff by running regexes on current and
neighboring lines?

That all sounds terrific, and if you get to implement these ideas on top of
web technologies (or anywhere else would still be half as good) I'd love to
hear about and possibly contribute. Do you have a blog or twitter or app.net I
can follow?

~~~
grayrest
You can get pretty far with regexes but you run into non hygenic macro
problems. I use UltiSnips with regex snippets and python replacements and have
gotten interesting stuff out of it like the JSON key quoting. The problem is
that I have to remember to expand the snippet. It's the difference between
having the always right indentation settings versus having the 90% right
indentation settings. It doesn't seem like a lot of effort but results in a
significant drop of cognitive load for me.

I'm on twitter and use the same username everywhere.

------
Narretz
I wish jps (ST developer) was more responsive. There are many small bugs and
inconsistencies that are dragged through the versions, even the new beta. A
centralized bug tracker would be a great first step. Submit a bug, have it
acknowleged by jps, track its status. At the moment, you have no idea if jps
even knows of a bug. Docs are also generally poor. apart from that, I really
love ST, and I cannot see anything Textadept has that would make me switch.

~~~
leeoniya
<http://sublimetext.userecho.com/> seems to be the feature request and bug
tracker, which would work well if any of these features/bugs actually got
fixed (some are really old and highly requested). Usually I see minor stuff
get fixed between updates, but worse is that the new features that appear in
minor updates are nowhere to be seen in the top votes. One of these is
preventing me from buying/using it. NP++ till then.

------
DrinkWater
nothing, i repeat, NOTHING can replace vim. Learn to use it, and you feel so
superior to everybody and everything around you, you might even kick walls and
shopping-carts for using something different!

I am just kidding, but seriously, every time i read such "i found a vim
replacement"-articles, it turns out the author was not really a vim power
user. It's strange, i know.

~~~
criley
The old "No True Vim User", eh?

As in: "No TRUE vim user would think any other program was better!"

~~~
agscala
Well in this case, the author of the article was praising (as an advantage) a
TA feature that was also available in Vim (albeit via a plugin).

I would like to see articles like this demonstrate things that simply aren't
possible in Vim (or something implemented with relative ease in comparison)

------
rustc
I may have missed it, but what features exactly does this have over Vim?

~~~
grapjas
Nothing plugins can't fix

~~~
stcredzero
This might be a matter of packaging, then. Maybe someone should do a "distro"
of vim for populations of users?

------
DeepDuh
Tl;dr: An editor with lua patterns instead of regex find/replace. Thanks, I
stick with (and pay for) my ST.

------
patrickg
Great! I will try it out. It uses lpeg based lexers and a Lua api. Now my
daily (coding) work is 99% Lua coding, so I feel rather comfortable with it.

I also like the file chooser (I am on Mac OS X), much faster for me than the
system wide.

That's my "first 4 minutes" impression.

------
mich41
It doesn't even let me move without reaching to mouse or arrow keys. Hardly a
vim replacement.

------
alttab
Nothing says "I've replaced VIM" like needing an X-11 server to edit a text
file.

~~~
allerratio
How often do you sit in front of a computer without X11 or another graphical
interface? Many people don't edit any remote files.

And when you do, you don't need to run the editor on the machine where the
file lies. What's missing is a nice integration of ssh into the editors.

~~~
account_taken
I know several people that use terminal only, including myself, who use thin
client devices like tablets ssh'd into a VPS.

------
jibsen
I don't know if I am missing a setting, but here on Windows, it feels a bit
like TextAdept is fighting a loosing battle with ClearType (as in, I almost
feel I should be wearing 3D glasses).

On the wiki there was only one other theme available for the latest 6.3
release, so I tried an older Solarized theme, but TA crashes when I try to
load it.

I feel having to press a keyboard shortcut to bring up the auto-complete menu
is a step back in productivity compared to ST, but the built-in API help is a
nice idea.

------
hyperbovine
I see some incarnation of this story pop up every few weeks here on HN. Why do
people have it in for Vim? Fast, stable, free, ubiquitous, crazy efficient --
I don't get why some people are on this mission to replace it. Hell, should
you really decide to pay money for Vim you be supporting _orphans in Uganda_.

------
mjs
This is very superficial of me but ... are there any screenshots of Textadept
anywhere?

~~~
amarsahinovic
You can find some screenshots here: [http://www.webupd8.org/2013/02/try-
textadept-fast-cross-plat...](http://www.webupd8.org/2013/02/try-textadept-
fast-cross-platform-text.html)

------
bsg75
The Sublime Text review linked in this one was actually more interesting.

------
kayoone
oh well, another round of editor wars :/

