TKE: Modern Tcl/Tk-based text editor
tke.sourceforge.net
tke.sourceforge.net
Never mind Java editors/IDE, which are pretty much standard these days.
Concerning text editors, I think that field is split between Electron-based, Sublime and terminal-based editors. I can't picture users writing in Java editors in 2018.
There is still the whole family of Scintilla-based editors out there. I use Notepad++ and Geany all the time.
Interesting. That's not much off the old "eight megs and constantly swapping" joke.
I also tend to run the windows with partial transparency so I can see bits and pieces of other sessions/browsers/etc behind them - something I was slightly hesitant to start doing but that has made using the computer feel much more "lightweight" (for lack of a better term). I've found it surprisingly useful to have emacs show a second buffer slightly faded directly through the first one.
For context, I use a tiling window manager with an average of 4 to 7 windows per workspace-monitor combo. Back then, I also set up a moving background (a screensaver always on in the root window). In fact, I think that was the primary motivator. I had gone years without a wallpaper because having a tiling window manager made it meaningless and I was missing having some eye candy. Having partial transparency would let me see the moving background through the windows. Anyway, I digress and I'm back to no transparency, no background, in any case.
Unfortunately, I had to switch to a Mac as my main machine, and OSX does not support that (and has pretty poor window management in general).
An obvious metric would be /time to completion/ but I would also be interested to see /can be done with mouse only while drinking coffee/ or in general /can be done one-handed/, /can be done left handed/ (so the mouse is free) or maybe /keystrokes+clicks/ instead of general timing because it takes the typing speed out of it. Some metric that measures how many shortcuts you have to memorize would be great, too.
Now somebody go and do it! :)
It shows the solution to vimgolfs inside kakoune, with number of keystrokes
Oddly enough, it still exists: https://alphacocoa.sourceforge.io/ (last updated 16 days ago!).
I’m a heavy emacs user nowadays, but there’ll always be a soft spot in my heart for Alpha.
A bunch of longstanding vim users I know now use kakoune because of the visual feedback they can get when doing something new with their editor.
For example, I’ve just used vim-multiple-cursors¹ to rename a parameter to a function, and I could have done that with “straight” vim too. However, for quick operations a simple `C-n`… to select the name, followed by `c` to change all at once just /felt/ nice.
I use multiple-cursors a fair bit; maybe 6-10 times a week on a full week of editing.
Sometimes it's not code, but data files I get from elsewhere that need some minor rearranging.
People have different needs.
Especially for people dealing with csv files, tabular data or digging through logfiles, Multi-Cursor and Multi-selection are concepts that are easy to grasp, and can help productivity immensely, with things that are not that easy using Nano or Notepad.
Simple cases in point : Use a regular expression to find and copy all lines with a particular pattern, or copy-paste a few csv lines with a couple of fields modified.
foo_bar -> fooBar
bar_baz -> barBaz
Sometimes even this doesn't cut it and have to use mighty Emacs macros. (I'm sure something similar exits for VIM)I think the issue with Vim isn't so much that things can't be done in it but more that the discoverability of Vim features is pretty poor. eg by the time you've searched the web for a quick way to do a multiline edit, you could have just done it manually. GUI IDEs tend to be better for discoverability (generally speaking).
In Emacs, you can use multiple registers for storing code and data for this purpose
Don't get me wrong, I don't mind the feature, thing is I run in it so rarely so I don't get why it would be a major sellingpoint. For example this project and perhaps more notably sublime (an editor that I do enjoy quite a bit!)
foo_bar -> fooBar()
baz_car -> bazCar()
some_thing -> someThing()
An even better example is doing the reverse fooBar() -> foo_bar
bazCar() -> baz_car
someThing() -> some_thing
You can put cursors at every line and then use subword movement to find the word boundary.> you still need some kind of regex to put the cursors at the right places, don't you?
I didn't say it replaces regex. You need regex just to place the cursors. you don't have to write complex regexp edit text (as shown in this example)
:'<,'>s/_b/B/
work in this case?
So in this case :'<,'>s/_b/B/c
That let's you step through every change and if something's wrong you can press ESC and u to undo only the last change.
It depends on the actual problem of course, but multicursor edits also get unwieldy if you're editing more than 2 or 3 lines.
What about if the lines are beyond the visible screen?
Btw, I meant undo like global undo which will let you undo the last keypress for all of the cursors. In your case, you meant undo for a particular instance of change I guess.
Also, let's say there is different character after _
foo_bar -> fooBar
baz_car -> bazCar
some_thing -> someThing
Maybe you can do this with regex. but for a new user, he has to look it up. With multiple-cursors, you don't even have to think about it.However, you can use a macro.
It is a really pitty that Tcl does not suppport a Lispy alternative interface to the language. I used many times Tcl/TK which saved the day repeatedly. I would like to have a really nice CL or Scheme interface to all TCL/TK goodies or support alternative syntax like JS or JVM languages.
Once there was a Scipad. What happened with that project?
There is STklos [1], which is a R5RS Scheme with Tk embedded into it, as well as GTK+ for when you feel the need. It is actively developed. (Started out in life as Scheme Tk).
"Scipad is a powerful editor and graphical debugger for programs written in Scilab language. It is a mature and highly configurable programmer's editor, including features like syntax colorization, regexp search/replace, parentheses matching, logical/physical line numbering, peer windows, line and block text editing, and much more. Scipad can be used along with Scicoslab or Scilab, but even as a standalone text editor."
"Scipad is entirely written in Tcl/Tk and Scilab language."
Last repository commit 7 days ago: [2]
[1] https://sourceforge.net/p/scipad/home/Home
[2] https://sourceforge.net/p/scipad/svn/HEAD/tree/trunk/src/cha...
$ ./install.tcl
...skipped...
Copying data to lib/tke/data... done.
Copying doc to lib/tke/doc... done.
Copying lib to lib/tke/lib... error!
error copying "lib" to "lib/tke/lib": "lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/...skipped.../tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/lib/tke/doc/md/TKE Developer Guide/Plugin Development/Safe (Untrusted) Interpreter Description.md": file name too longIt would try to copy lib/ into itself, resulting in your "lib/tke/lib/tke/lib/tke/..." mess.
Like:
$ mkdir lib
$ mkdir lib/tke
$ tclsh
% file copy lib lib/tke/lib
error copying "lib" to "lib/tke/lib": "lib/tke/lib/tke/[cut off long string here]": file name too long
Specify a root directory other than the current directory and it should work.I wonder if tcl should disallow copying a directory into itself.
Edit: I opened a bug report for tcl: https://core.tcl.tk/tcl/tktview/82049f96f841214bb8cee18e1bf8...
Don't worry, TKE has nothing to do with BitCoin :)
Some of these are also mirrored over to https://github.com/tcltk/
This.
Tk has perfectly good DPI scaling.
1. Opened TKE
2. Changed to insert mode
3. Typed some random characters
4. Pressed ESC
5. Press b
TKE crashed
I'm on Windows 10, recently fresh install.
The document view is called "Ms. Pacman" Hahah :D
But... sourceforge? Really?!
Considering how loved Microsoft is these days when it was a much worse player in the past, likely even set back personal computing a decade, and all their anticompetetive actions.
I chalk it up as some kind of disappointment by expecting better of SF than others.
Just saying...
Are you making this same comment every time someone posts a project on GitHub?
[0]: https://www.gnu.org/software/repo-criteria-evaluation.html