[HN Gopher] Vimflowy ___________________________________________________________________ Vimflowy Author : smusamashah Score : 159 points Date : 2020-11-04 16:48 UTC (6 hours ago) (HTM) web link (vimflowy.netlify.app) (TXT) w3m dump (vimflowy.netlify.app) | basil wrote: | Some of the most complete Vim keybindings I've experienced in | something that isn't Vim. | | I love that visual character/line/block selection works. It's the | first thing I test in any kind of Vim emulation. | St-Clock wrote: | Didn't read anything at first, just went and | navigated/manipulated text and it worked as I would expect! This | is a very nice VIM emulation! | | I stopped using workflowy because it did not feel natural to edit | a large amount of plain text outside of VIM. | SatvikBeri wrote: | A similar tool with more features and partial vim binds is | Checkvist, which I use (www.checkvist.com). I've been happily | using it for 7 years now. | awake wrote: | looooove this. any chance we could express "select inner word", | for example `viw` or `vaw`. | Slackwise wrote: | Eh, I've been using https://quire.io for Flowy-like task | management for my team and it's been great. | | 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. | keorn wrote: | This post about their GitHub integration makes me chuckle, | written by someone who heard GitHub is used for "codes": | https://quire.io/blog/p/Hello-GitHub-We-are-Quire.html | | "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" | rav wrote: | Just like any other sort-of-Vim implementation, cw (change word) | is made to be consistent with dw (delete word), and Y (yank line) | is made to be consistent with D (delete line). In classic vi, | these commands are illogical in that cw doesn't eat the space | following the word like dw does, and Y works on the entire line, | whereas D deletes only from the cursor to the end of the line. | The Vim manual states that: 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. | timoth wrote: | Interesting. I never use Y or D, I use yy and dd which both | operate on the entire line. I like that they're lower case and | 'fit' in my mind with their other 2 character counterparts, yw, | dw etc. (and I use d$ for delete to end of line). | v-yadli wrote: | I usually think of cw vs. dw as changing the data in a node vs. | removing a node (together with its next pointer), in a linked | list. | boogies wrote: | Not _every_ sort-of-Vim implementation (ofc). I use vis1, which | has the classic cw, but the consistent Y. | | 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. | | 1: https://sr.ht/martanne/vis/ | krick wrote: | I have absolutely no idea what people are talking about in this | thread. I never noticed any of this, and even went right now to | test it on Vim 8.0, and nothing of what you are saying seems to | be correct. I have quite a big .vimrc, but I don't think I re- | configured any of this. Maybe all of it applies only to vi, not | vim? | darrenf wrote: | I've never found the cw/dw case illogical. When I'm deleting a | "word" (in prose or code) it's rarely, perhaps never, my | intention to leave a double space between the surrounding | words. But if I am _changing_ one, the likelihood is that I'll | want to trailing space to remain after I type the replacement. | | So whilst I see nothing illogical, I'm in agreement that a | change to these commands would throw me! | ysavir wrote: | It's practical, but it's not logically consistent with what's | considered a "word" in Vim. "Delete word" and "Delete until | next word" are two different functionalities, so there's an | inconsistency when a function shortcut is named to represent | the former, but behaves like the latter. | wraithy wrote: | There's always "ce" (change until end of word), which enables | the common use case and is also consistent with the rest of | the vim language. | | I wonder why the special case for "cw" exists... I'd love to | hear the story about that initial decision. | boogies wrote: | I'd guess just because cw is much easier/faster to type | (because c and e are pressed with the same finger) on a | QWERTY keyboard. | kps wrote: | `cw` and `ce` don't do the same thing if you're on the last | character of the word. | lol768 wrote: | This had polluted my browser history to the point I couldn't even | see HN after a few minutes of expanding bullets and playing about | with it :( | | Why are people so tempted to do this? | detcader wrote: | oh man this is nuts. thank you. the copy and settings UI is so | well done compared to what I see on average! I would pay for a | browser New Tab version of this (if one doesn't exist already-- | you seem to have thought of everything!) | jessep wrote: | Nice! I'm founder of workflowy and this is indeed very cool.* | I've often thought about a vim-like navigation mode for jumping | around. | | * https://workflowy.com in case you aren't familiar | bachmeier wrote: | Your site doesn't provide any information about price or | features. It just drops a box in front of me to enter my email | address - not exactly the most effective way to turn me into a | customer. I might give you my email only to find out that the | "free" plan is very limited, you lock my data in your garden, | and upgrading to a real plan is really expensive. | jessep wrote: | Yeah, we're going to address this. A/B tests and metrics | guided us to this (it converts better), and I don't know why | the minimal-information thing has worked well for us, maybe | it forces people to try it out. I think some of it has to do | with the fact that most of it is just word of mouth, and | probably our attempts at more information weren't well done. | | 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. | aaron32311 wrote: | Not the op, but there is a public playground here [1] that | may help evaluate the app. | | 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. | alunchbox wrote: | Amazing work, a little bit of feedback. | | * Exiting insert mode has a noticeable delay. * Operating system | settings for escape (mine is mapped to caps lock) is not working. | djhaskin987 wrote: | It reminds me how sad I was to have to ditch emacs (due to hand | injuries) because I loved org mode so much. I am an avid vim user | -- it was nearly my first editor -- but I wish something like | workflowy or org mode could be used in vim. Kinda sad to just be | using markdown alone. | anamexis wrote: | Why not use emacs with vim bindings? | aidenn0 wrote: | As someone who uses vim as a daily driver and emacs with | evil-mode for a lisp IDE and occasional org-mode, biggest | issue is every new mode you add will either use chording like | emacs or will need completely new vim-compatible keybindings. | It's not a _lot_ of work, but it 's enough to say "eh, I just | won't use that package" | jascii wrote: | I can't speak for others, but for me it comes down to work | flow, vim is always 2 keystrokes away and starts instantly, | and sane configuration defaults (my definition of sanity | anyway..) it is available on all hosts I frequent and behaves | predictably without having to sync extensive configurations. | thotsBgone wrote: | For me, emacs is also 2 keystrokes away and starts | instantly (as long as the daemon is already running). Doom | emacs has sane (good!) defaults. | | My main valid gripe with emacs is the slow rendering | engine. | djhaskin987 wrote: | I'm really good in vim too, though. I like vim. I just wish | we had nice things in vim, too. Besides, vim bindings is a | square peg in a round hole. There are edge cases and | community momentum to think about, all of which run against | the grain when nonstandard setups are used with anything, | including emacs. | jordan_curve wrote: | As someone who has only loosely dabbled with emacs and org, | is there a reason that an org equivalent couldn't exist in | 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? | djhaskin987 wrote: | I think that full org mode wouldn't work in vim, but at a | deeper level, it doesn't jive with the "zen" of vim. But | I'd want a solution that did. | | 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. | | 1: https://common-lisp.net/project/slime/ | | 2: https://github.com/jpalardy/vim-slime | fao_ wrote: | You might love doom emacs. I've used emacs for 8 years and | switched in July, and I can see myself using this for the next | 10 years. | | 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. | | https://github.com/hlissner/doom-emacs | bananamerica wrote: | Doom Emacs is superb :) | root_axis wrote: | Cool, but I wonder is key remapping possible? e.g. I use ijkl | instead of hjkl (because it naturally maps to my wasd and arrow- | key muscle memory) | disown wrote: | > e.g. I use ijkl instead of hjkl | | 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. | root_axis wrote: | I switched "i" and "h" since "h" is no longer used for | navigating left in my arrangement (that is now "j" so it | matches the wasd/arrow-keys arrangement). | | 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. | dnr wrote: | Sorry if this is inappropriate, but for people looking for a tool | like this or Workflowy, I want to suggest Dynalist, which has the | simplicity of Workflowy but also a bunch more features. Cloud- | based, always synced, mobile apps, easy sharing, calendar | integration, etc. I'm a die-hard vim user but I still use | Dynalist because it's so great. | | https://dynalist.io | | 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. | roveo wrote: | I tried Dynalist and moved back to Workflowy literally a couple | of days ago. The main problem for me was that you can't link- | share an arbitrary bullet and it's children -- only the whole | document. So if I need to share a link, I have to create a new | document just for this purpose. The one-document model of | Workflowy just seems more logical and simple. Although the free | version of Dynalist is more complete/usable, so if you don't | really care about sharing, it's better (for example, no | limitation for created nodes per day). | | And obviously they are both missing vim bindings, which I would | LOVE to see. | dnr wrote: | That's fair. I recall reading the developers' rationale for | their decision to do multiple documents and sharing at the | document level. They argued that it simplified the mental | model, and I'd tend to agree: when I use shared docs I want | to be careful with what's private and what's shared, and the | UI (the document list on the left) make it easy to do that. | Almost every time I've shared something, it's been intended | for sharing from the start, so creating a new document is | natural. (And the one time that wasn't true, cut and paste | into a new doc was just a few clicks.) | | 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. | jessep wrote: | Our mobile apps have had a major overhaul, you should try | them again. | three_legs wrote: | Yeah I first found Dynalist on HN from a comment like yours | about 5 years ago! I have so much of my life there | kartoshechka wrote: | sorry but i'm using colmak, see you later normies! | arnklint wrote: | Whoooaaaaat, finally! The perfect combo of the two best tools in | the world! :) | jph00 wrote: | Very nice! One thing I noticed is that `}` (move-next-sibling) | doesn't work if the next sibling isn't visible (i.e. if you're | not showing the parent). I'd like `}` and `{` to work regardless | of visibility. | genezeta wrote: | I guess you must be using key codes from a US keyboard, right? | | The problem with that is that when on a different layout the | _help_ doesn 't really correspond to the mentioned keys. | mlok wrote: | I can confirm : lots of things are broken when using an AZERTY | keyboard. | demosito666 wrote: | This is nice vim emulation, but why not take notes in vim in the | same way? It can do all the same stuff and you don't need to | leave the editor. vimwiki is never more than three keystrokes | away... | llimos wrote: | This comment _strongly_ reminds me of the now-legendary Dropbox | one[1] | | _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._ | | [1] https://news.ycombinator.com/item?id=9224 | bxk1 wrote: | This comment is also legendary misunderstood. He pointed out | how trivial the idea was, which of course became a problem | for dropbox when every tech company implemented it once they | saw the demand for it and took its marketshare. Nowadays it's | hard to consider dropbox as anything but a dying product of a | dying company. | daemoncoder wrote: | I've been using The Vim Outliner (TVO) for years now, haven't | found anything else that works as well for my daily workflow. | | https://www.vim.org/scripts/script.php?script_id=517 | jonahx wrote: | You can fold but how would you zoom? | Sodman wrote: | I've wanted to do something very much like this (vimflowy) in | native vim for a while, but as a relative vim-noob I haven't | found a way to do any of the following without going down the | vim-plugins route: | | - 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. | demosito666 wrote: | > - Instantly collapsable/expandable lists (I guess maybe vim | folds by indentation could be used?) | | 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. | antognini wrote: | I've tried `set foldmethod=indent`, but I've found it to be | _very_ slow and it introduces a noticeable lag when typing. | WorldMaker wrote: | >> - 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. | | 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 | fouric wrote: | Taking hierarchical notes in vim conflates content with | presentation/representation, which is bad. | Plugawy wrote: | We've came around full circle - I made this few years ago | https://github.com/lukaszkorecki/workflowish ___________________________________________________________________ (page generated 2020-11-04 23:00 UTC)