8 ms·
Vimflowy
- basil 6y agoSome 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 6y agoDidn'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.
- rav 6y agoJust 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.
- v-yadli 6y agoI 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.
- darrenf 6y agoI’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 6y agoIt'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 6y agoThere'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 6y agoI'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.
- mkl 6y agoNot if you're touch typing with any standard fingering I've seen. C is first finger, and E is middle finger.
- michaelcampbell 6y agoYou might need to look around more. The wikipedia article shows 'c' on the middle finger, like I was taught. I can't imagine doing it with the first finger, but I suppose it just depends on how you were taught. Looking around, I can't even FIND a "c on first finger" fingering. - https://en.wikipedia.org/wiki/Touch_typing#/media/File:FingerHandPosUSA.gif https://en.wikipedia.org/wiki/Touch_typing#/media/File:Finge... - http://www.typingme.com/touch-typing/typing-lesson-9.php http://www.typingme.com/touch-typing/typing-lesson-9.php - https://agilefingers.com/articles/touch-typing-finger-placement https://agilefingers.com/articles/touch-typing-finger-placem... - https://www.computerhope.com/issues/ch001346.htm https://www.computerhope.com/issues/ch001346.htm - https://www.ratatype.com/learn/ https://www.ratatype.com/learn/ and on and on.
- krick 6y agoI 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?
- umanwizard 6y agoTry with `vim -u NONE` to ignore your .vimrc . 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 .
- chrismorgan 6y ago> 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”.
- timoth 6y agoInteresting. 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).
- boogies 6y agoNot every sort-of-Vim implementation (ofc). I use vis¹, 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. ¹: https://sr.ht/martanne/vis/ https://sr.ht/martanne/vis/
- alunchbox 6y agoAmazing 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.
- cristoperb 6y agoSimilarly, my muscle memory for exiting insert mode in vi is ctrl-[ which does not work in Vimflowy.
- arnklint 6y agoWhoooaaaaat, finally! The perfect combo of the two best tools in the world! :)
- demosito666 6y agoThis 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...
- Sodman 6y agoI'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 6y ago> - 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.
- WorldMaker 6y ago>> - 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 https://vim.fandom.com/wiki/Open_file_under_cursor
- 6y ago
- awake 6y agolooooove this. any chance we could express "select inner word", for example `viw` or `vaw`.
- Slackwise 6y agoEh, I've been using https://quire.io 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 6y agoThis 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 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"
- root_axis 6y agoCool, 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 6y ago> 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 6y agoI 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.
- jph00 6y agoVery 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 6y agoI 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 6y agoI can confirm : lots of things are broken when using an AZERTY keyboard.
- djhaskin987 6y agoIt 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 6y agoWhy not use emacs with vim bindings?
- djhaskin987 6y agoI'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 6y agoAs 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 6y agoI 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/ https://common-lisp.net/project/slime/ 2: https://github.com/jpalardy/vim-slime https://github.com/jpalardy/vim-slime
- dnr 6y agoSorry 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 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 6y agoI 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 6y agoThat'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 6y agoOur mobile apps have had a major overhaul, you should try them again.
- detcader 6y agooh 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!)
- SatvikBeri 6y agoA 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.
- lol768 6y agoThis 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?
- jessep 6y agoNice! 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 https://workflowy.com in case you aren't familiar
- bachmeier 6y agoYour 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.
- aaron32311 6y agoNot the op, but there is a public playground here [1] that may help evaluate the app. https://www.workflowy.com/online-notepad/ 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.
- jessep 6y agoYeah, 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.
- abbadadda 6y agoI am very interested in "workflowy offline" for Desktop. I'm unable to use Workflowy at work at all because it syncs everything to the cloud. Just an FYI.
- smusamashah 6y agoI stayed with workflowy for long time but found that it stopped bringing in anything new at all. The community around it is writing blogs and articles about how to do this and that with workflowy. While all they do is provide how they made their own workflow to tackle a problem in a very limited environment. It like someone inventing markdown formatting for writing using Notepad more efficiently. 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.
- kartoshechka 6y agosorry but i'm using colmak, see you later normies!
- Plugawy 6y agoWe've came around full circle - I made this few years ago https://github.com/lukaszkorecki/workflowish https://github.com/lukaszkorecki/workflowish
- nikki93 6y agoA big reason for using vanilla Workflowy for me is that the mobile app is quite good. It's actually ... really, really good. A lot of edit operations that I'd've had to think for a while about how to support UX for--they do a good job of. I even ran into more hiccups using Notion. It's a huge plus for me to be able to see the same "knowledge tree" both at my computer and while I'm on the go. 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.
- masto 6y agoI had to come back and re-read this. I saw all these comments last night about Workflowy and figured I’d give it a try today. Within 5 minutes, I’ve gotten completely lost and frustrated by what should be a simple outliner. 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.
- nikki93 6y agoInteresting, it works and continues to work well for me, but it's totally possible that I happened to see through these issues. The main thing I've liked is the ability to set any bullet as the current view root and show a breadcrumb trail of its ancestral path in the header (this whole action being called "zoom"). Have you found apps in this space that work well for you?
- polm23 6y agoI used Workflowy for years, and when I used it moderately heavily it was a great tool. But I have my own tool for managing notes in vim that I prefer on the command line, enough so that I don't miss having a mobile app too much. 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.
- mukeshsoni 6y agoIf anyone wants to host their own workflowy - https://github.com/mukeshsoni/deepnotes-editor https://github.com/mukeshsoni/deepnotes-editor 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 https://www.deepnotes.in
- anticodon 6y agoI'm using Tridactyl Firefox addon and it seems it doesn't play well with vimflowy. Some keypresses are intercepted by Tridactyl and create confusion. I need to find a way to blocklist certain domains in Tridactyl.
- bovine3dom 6y agoCan't you put Tridactyl in ignore mode with Shift-Insert? Edit: you may also find `:blacklistadd` or `:unbindurl` useful.
- iron0013 6y agoShould have called it “Vorg-mode“