Vimflowy
vimflowy.netlify.app
vimflowy.netlify.app
If you like "Y" to work from the cursor to the end of line (which is more logical, but not Vi-compatible) use ":map Y y$".
...however, I'm used do cw and Y being illogical like that, goshdarnit, so when these Vim-clones come along and "fix" it, I'm thrown off at every step I take.So whilst I see nothing illogical, I’m in agreement that a change to these commands would throw me!
I wonder why the special case for "cw" exists... I'd love to hear the story about that initial decision.
Looking around, I can't even FIND a "c on first finger" fingering.
- https://en.wikipedia.org/wiki/Touch_typing#/media/File:Finge...
- http://www.typingme.com/touch-typing/typing-lesson-9.php
- https://agilefingers.com/articles/touch-typing-finger-placem...
- https://www.computerhope.com/issues/ch001346.htm
- https://www.ratatype.com/learn/
and on and on.
If the buffer is “asdf jkl” with your cursor at the beginning of the line, after dw the buffer is “jkl”. With the same starting buffer, after cw, the buffer is “ jkl”, with a space at the beginning (which is the same behavior as ce).
This “inconsistent” behavior is probably what you usually want, but it does indeed break the invariant that c<motion> is equivalent to d<motion>i .
Nit: that invariant also doesn’t work when the motion takes you to the end of the line because of how the cursor is one character wide in normal mode and zero characters wide in insert mode. On a buffer “asdf jkl” with the cursor on the letter f, c$x gets you “asd|” (| representing the cursor location), whereas d$ix gets you “as|d”.
And I prefer it the vis way. cw is a binding I use often, and more pleasant to type than ce. yy I also use fairly frequently, but Y is not much more pleasant, and y$ is much less pleasant, and I copy from the cursor to the line end often enough to want it to be easy, quick, and feel nice.
* https://workflowy.com in case you aren't familiar
https://www.workflowy.com/online-notepad/
FWIW, it takes some getting used to, but redeems itself as quite powerful once you get the hang of it.
We're working on building a library of examples with video and interactive documents that people can play with and find from the home page.
I moved to Dynalist and the thing I use most is its API. I have setup a custom chrome extension to save notes and bookmarks to it with just one click. Also set it up to send links to it from my phone. Set it up with Github Actions to keep updated 'List of X' articles on my blog.
It does what workflowy does and more. I stayed with workflowy for a long time and wasn't very happy to move over but workflowy has stopped growing.
You need to take something from Dynalist just as they did from Workflowy.
Also, we were frozen for a long time but have been making meaningful improvements for a while now, I’m guessing your evaluation of us not growing comes from the olden days.
As we do work on things, though, we have standards for usability and polish that are higher than Dynalist and Roam, so things take longer.
Images is a good example, which will be coming out soon. We’re just going to do a good job with it, whereas the functionality in these other tools is a little weird and feels tacked on, at least to me.
Although I've stopped using workflowy several years ago. Don't really know why, just wanted to explore alternatives, never found anything better, so instead my notes are divided now between half a dozen online and offline applications (Google Keep, vimwiki, etc).
I'm a paying user but have no other affiliation (ask me if you want a referral code though). I just want more people to use it so the creators are successful and keep improving it.
And obviously they are both missing vim bindings, which I would LOVE to see.
One problem with Workflowy for me was that the mobile app(s) were not very good. Dynalist's isn't great either but it's better.
Anyway, the products are more similar than they are different.
I stopped using workflowy because it did not feel natural to edit a large amount of plain text outside of VIM.
I know there’s vimwiki and stuff but I mean is there a reason that the full functionality of orgmode couldn’t be ported to vim (modulo some keybindings)? Does it really on having more control over the UI than just what’s available in a terminal?
Here's an example. Emacs has SLIME[1], and vim has like SLIME for vim[2]. The vim counterpart leaves editing in the editor but makes it easy for vim to work with terminal emulators to create a great but simple SLIME experience. It respects the "zen" of vim. I wish there were an org mode equivalent. Will be checking out vimwiki.
I tried spacemacs, but its just too unfamiliar & seems slow.
My main valid gripe with emacs is the slow rendering engine.
save in Vim:
[esc] : w enter
3 or 4 keystrokes involving two hands.save in emacs:
C-x-s
one 3 fingered chord with the left hand.And then I missed all the depth provided by emacs modes, perforce integration, org mode etc etc.
I tried Spacemacs, and the vim integration was so sloppy that the first time I tried to install a single package I was dumped in with unfamiliar emacs bindings, which I then had to look up to even get out of it. The integration in doom emacs is much tighter and better fitting.
But what worked for me was:
(1) Remap Caps-Lock to Control: I do this mindlessly, automatically, as the _first_ step on any new laptop now
(2) Set aliases for frequently used stuff: E.g. `C-x C-m` instead of `M-x`. In general, this piggybacks on (1) above. A lot of Ctrl-? key combinations become very ergonomic, and you don't have to twist your hand into weird shapes.
Good luck! :-)
- Instantly collapsable/expandable lists (I guess maybe vim folds by indentation could be used?)
- Open sub-list in new window
- Mark a "task" as done
- Basic text formatting (italics/strikethrough/monospace)
- Easy way to "search everything, show a list of results, jump to the context of the chosen result".
In contrast, vimflowy makes all of these quite easy and intuitive.
Yes, `set foldmethod=indent`
> - Open sub-list in new window
This is something I'm not sure exists as a ready-made solution, you'll have to write a function for that. It's trivial for the majority of cases though.
> - Mark a "task" as done
> - Basic text formatting (italics/strikethrough/monospace)
I use vimwiki that has this, there are a lot of other ways to achieve the same.
> - Easy way to "search everything, show a list of results, jump to the context of the chosen result"
fzf.vim. The above and also supports fuzzy search.
> This is something I'm not sure exists as a ready-made solution, you'll have to write a function for that. It's trivial for the majority of cases though.
gf (or <Ctrl+W>f for the new window version) could be useful for this, if the sublists are separate files: https://vim.fandom.com/wiki/Open_file_under_cursor
For a Linux user, you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account could be accessed through built-in software.
The problem with that is that when on a different layout the help doesn't really correspond to the mentioned keys.
I love the key-feel of Vimflowy tho, and it makes me wish they could both just talk about the same underlying data store... Pairs especially well with being added to the "scratch workspace" in i3 for example.
More generally speaking about this kind of tool: Workflowy has been amazing. The zoom aspect is really what makes it what it is for me, being able to enter a context, but then also have that as part of larger one, and being able to move things so quickly too.
The desktop site is a disaster on mobile, which doesn’t need to be the case in 2020, but I went ahead and installed the mobile app anyway. Aside from entering text, indent, and outdent, I’m finding nothing intuitive. I’ve finally given up on trying to drag a bullet — I finally figured out that you have to hold down on one, but when I drag and release it somewhere, it just reappears where it started. There’s no help or documentation available anywhere in the app. Much of the UI consists of unlabeled icons — what does a pencil in a square do? Apparently it adds a note underneath the current bullet.. I see from the “context menu” (swipe left, click three dots) that this is called “Add note”, and shows a keyboard shortcut next to it — shift return. Press shift return.. creates a new bullet instead of adding a note.
I feel like I must be looking at a different app. I wouldn’t describe this as “really, really good”, I would describe it as something I am giving up on and uninstalling.
I love that visual character/line/block selection works. It's the first thing I test in any kind of Vim emulation.
Written in react and uses draft-js for rich text editing.
I would love for someone to send a PR which adds a vim mode like vimflowy.
Edit - Here's a version i deployed which can sync your notes to dropbox - https://www.deepnotes.in
Over time I ended up just using Workflowy for a grocery list and it was relatively slow for that - nothing drastic, just a few seconds to load when I fired it up - so I changed to something simpler for that specific task.
Why are people so tempted to do this?
* Exiting insert mode has a noticeable delay. * Operating system settings for escape (mine is mapped to caps lock) is not working.
Relevant here as it has single-key shortcuts for actions and is an infinitely nested task list, but unlike Flowy, works way better for teams, with GitHub integration, etc.
"For some of you, it is difficult enough to keep everyone up to date with the tasks at hand. It is even more so when they involve codes. Lots of codes."
"refer and trace back between tasks and codes"
Edit: you may also find `:blacklistadd` or `:unbindurl` useful.
What do you use for i ("insert") then? Personally "hjkl", i, esc are the last keys I'd want to remap. Though I hear some people like to remap esc to caps lock or even space. But feel sacriligious to me.
For esc I actually use "hh" in quick succession (inoremap hh <esc>).
Yeah, it felt a little sacrilegious when I first remapped it a decade ago, but ultimately I decided that all that was important was achieving the productivity benefits of home row navigation and ijkl does it just as well as hjkl but the ijkl arrangement was already immediately intuitive to me. For me, vim is all about the cumulative benefits of plugins and little hacks like this that optimize my workflow in a way that aligns to how my brain already thinks.
The main criticism I receive for this setup is that if I ever have to ssh into a machine that I don't control, I won't have any of my custom settings and fancy plugins, but I'm ok with this since my custom vim setup is my IDE and I wouldn't expect to have my IDE available in an SSH session if it were vscode or webstorm or whatever. Also, it's possible to edit files over ssh, and worst case scenario I just temporarily switch contexts to hjkl, but in practice I don't really have to edit code over ssh.