16 ms·
VimWiki – A personal wiki for Vim
- lambdasue 10y agoWhile I never got on terms with orgmode, I cannot praise vimwiki high enough. It's intuitive and simple enough to not have very steep learning curve. I use it with taskwiki [1] extension, which stores all the tasks in the awesome Taskwarrior [2] CLI task manager. With this, I have my tasks in my text files, searchable just a command away on the CLI or my mobile phone via the Android app. [1] https://taskwarrior.org/ https://taskwarrior.org/ [2] https://github.com/tbabej/taskwiki https://github.com/tbabej/taskwiki
- softawre 10y agoWhat do you use on the android side? Being able to easily edit on the phone (iOS) side is what has kept me on something like Wunderlist. I prefer text files on my laptop and home machine, but it's not as easy to edit them on iOS.
- lambdasue 10y agoThere are currently two android clients that I know of: * https://play.google.com/store/apps/details?id=kvj.taskw https://play.google.com/store/apps/details?id=kvj.taskw * https://play.google.com/store/apps/details?id=com.taskwc2 https://play.google.com/store/apps/details?id=com.taskwc2 Syncing happens via taskd server daemon [1], if you don't want to self host, kind people run public syncing servers: * https://inthe.am/ https://inthe.am/ (also provides web interface) * https://freecinc.com/ https://freecinc.com/ [1] https://taskwarrior.org/download/ https://taskwarrior.org/download/
- sealjam 10y agoYour comment inspired me to try all 3 tools in combination, and at first glance it seems like a very nice solution; certainly more effective than my current manual method. A quick question for you though, if you don't mind: do you use taskwarrior just as a backend for taskwiki or do you use it in its own right aswell? I like the idea of just being able to add todo items quickly from a shell without opening the task list but I imagine those items would not be reflected in my taskwiki list without some kind of taskwarrior hook.
- lambdasue 10y agoOn the contrary, taskwiki provides two-way sync, so they will show up in your taskwiki lists. The feature is called Viewport, and it's a header enhanced with a taskwarrior filter: Say you have all your work tasks tagged with 'work'. Then your taskwiki file might look like this This file contains all the work-relevant information. === My work tasks | +work == * [ ] Implement feature X After saving that file, you will see the task in taskwarrior as well (with the tag assigned). If you subsequently do: $ task add +work Test feature X The next time you open the taskwiki file, it will look like this(syncing happens when you open the file): This file contains all the work-relevant information. === My work tasks | +work == * [ ] Implement feature X * [ ] Test feature X The power of this setup is that you can add a task on your phone (i.e. when the idea hits you in the public transport), have it automatically sync over the taskserver to your desktop, and when you open the taskwiki file relevant to the project, the task is there!
- sealjam 10y agoaha! I was missing the requirement for a project/viewport combination for two way sync. Many thanks for the above information and the initial recommendation. This setup seems to be exactly what I've been looking for for quite some time.
- marianov 10y agoI've setup vimwiki, taskwarrior (ubuntu),taskwarrior for Android and setup sync with a server. How do you get the items you add in the Android App to show up in Vimwiki?
- marianov 10y agoRead the response down on this thread. The key is using tags and viewports
- kondor6c 10y agoThis looks like Org mode for Vim, very exciting! I like the ability to export to an HTML page. It might be useful to export as doku/mediawiki, markdown, or other types of formatting.
- type0 10y agoThere is also instant Markdown extension: https://github.com/suan/vim-instant-markdown https://github.com/suan/vim-instant-markdown
- qwertyuiop924 10y ago...But it still can't match org. Maybe in 10 years?
- daenney 10y ago> ...But it still can't match org. But you have to start somewhere. > Maybe in 10 years? Org mode has a 5 year advantage over vimwiki (2003 vs 2008) and significantly more contributors. Vimwiki only seems to have had meaningful contributions from others since Q3 2014 So maybe. Who knows.
- deleted 10y ago[deleted]
- moosingin3space 10y agoWith vim's relatively high popularity over Emacs, I wouldn't be surprised if vimwiki is able to match org within a few years.
- zeveb 10y agoAh, but that assumes popularity is all that matters. I think that emacs's programming model and programming language are both superior to vim's, so it wouldn't surprise me to see that it takes longer to implement the same functionality with the same extensibility in vim than it would in emacs. It also assumes that the average vim developer has roughly the same skill as the average emacs developer. Is that true, though? Obviously I'm biased, but it seems to me that emacs is far friendlier to the sort of user who demands the ability to extend his environment as he wishes. Which leads me to the question of whether as many vim users are also vim developers, as emacs users are also emacs developers? I think that the former is fairly uncommon, whilst the latter is fairly common. Sure, there are emacs users who don't extend it, but my perception is that they are far rarer than vim users who just use their editor.
- moosingin3space 10y ago
- toisanji 10y agoLove the idea, but why use a custom syntax instead of markdown?
- smhenderson 10y agoMarkdown is supported, from the Features list... three markup syntaxes supported: Vimwiki's own syntax, Markdown, MediaWiki
- dotancohen 10y agoFor one think, Markdown does not support checklists. I'm not sure how checklists are handled in VimWiki when using Markdown as the backend.
- pacuna 10y agoI like org-mode but I'm a vim user and I don't want to be switching around constantly. I'll definitely will try this
- Dangeranger 10y agoJust so you know there is a Vim OrgMode extension. https://github.com/jceb/vim-orgmode https://github.com/jceb/vim-orgmode
- grive 10y agoVery cool, I was just searching this kind of thing. I'd like to see if it would be easy to support ReST beside markdown. I'd like to reuse my current files instead of trying to convert them haphazardly...
- a3n 10y agoCoincidentally, I was just finishing up a simple reST wiki. It's literally just a makefile and a couple conventions to follow. https://github.com/a3n/riki https://github.com/a3n/riki As morantron says in https://news.ycombinator.com/item?id=13158062 https://news.ycombinator.com/item?id=13158062 you can navigate from within your existing markupdown* files in Vim by putting the cursor on the filename in your .md/.rst file, type gf, and Vim opens the target file. I wanted to be able to use the links that I was going to write anyway in my .rst files, but they end in .html and when in vim you probably want to go to a .rst source file. So you write them ending in .rst, and the makefile fixes that up before giving the file to rst2html. Proper nav within Vim and on the generated .html page. Would work equally well with any capable programmer's editor that allows you to "go to the file under the cursor."
- JasonSage 10y agoOnly looking at this page, I have no clue what this does. It says... organize notes and ideas manage todo-lists write documentation write a diary I can already do these in vim, with text files or markdown files. What is this actually doing, then? Projects like this really deserve some high-level explanation like "Do you want to do X, but don't like having to do Y? This addresses that."
- Morantron 10y agoI agree, my personal wiki is just a folder with a bunch of markdown files. I "link" them by path ( with gf you go to the file under path ), and every change is commited using https://github.com/nevik/gitwatch https://github.com/nevik/gitwatch I use grep ( or git grep ) for searching in my notes.
- baldfat 10y agoI think I have started doing this 3 or 4 times but then stop because I can't get to my stuff all the time. todo.txt was my last try I think I just need to extend what todo.txt does for my needs..
- a3n 10y agoSee my response to another comment on this page: https://news.ycombinator.com/item?id=13171982 https://news.ycombinator.com/item?id=13171982
- palunon 10y agoThis basically allows you to create links between files like in a wiki, and to use some form of markup in them. It also allows quick access to it and some form of file management (eg. When renaming a file) I think it is also able to export to a real wiki platform.
- falcolas 10y agoCreating links: when your cursor is over a word, hit enter. To follow, hit enter. To go back, hit backspace. Todo Lists: Hitting C-Space marks the item as done or not done. It also creates a progress indicator on parent TODO items. - [.] Do something - [X] Something 1 - [ ] Something 2 - [ ] Something 3 Diary - Hit leader-w leader-w, you automatically get a new page created with today's date to write in. leader-w i will get you to a diary index page. leader-w leader-i will auto-populate that index page. Tables are auto-formatted to match the text you put into them. All of this is entirely possible with plain text files, vimwiki just makes it easier to do. It's even compatible with markdown formatted files.
- yellowboxtenant 10y agoAdvantage over vim-notes? https://github.com/xolox/vim-notes https://github.com/xolox/vim-notes
- DeadBabyOrgasm 10y agoIt seems vim-notes is much more developed for taking general, self-encompassing notes, similar in style to Evernote. I don't see a way to inter-link the notes like vim's help, but it does have far more rich and powerful note-taking features. I'd still use vim-wiki because it's intended to be a lightweight knowledge database similar to a mind-map, but more robust. It allows for quick, easy organization of ideas whereas vim-notes appears to be more for a formal writing process.
- yellowboxtenant 10y agovim-notes does have inter-linking, so I guess this project is pretty similar.
- patrickdavey 10y agoIt's GREAT to see vimwiki at the top of Hacker News. I've been using this for years, and keep all my notes in a wiki[0], written in GitHub flavour mark down, with syntax highlighting etc. in the editor. I guess it's not orgmode (which sounds amazing), but it seems really really good to me. I created the vimwiki_markdown[1] gem which allows you to convert GH style markdown to HTML using the wiki. Now I might just call out to pandoc, but I didn't know about it at the time, and my gem works fine* I love that you can have project specific wikis etc. It's just so great. I'll also link to the relevant section in my .vimrc[2] if you are going to go down the markdown route. [0] http://wiki.psdavey.com http://wiki.psdavey.com [1] https://github.com/patrickdavey/vimwiki_markdown https://github.com/patrickdavey/vimwiki_markdown [2] https://github.com/patrickdavey/dotfiles/blob/682e72e4b7a70e50858d1a3b7f0713ce6b470fb6/vim/.vimrc#L243-L281 https://github.com/patrickdavey/dotfiles/blob/682e72e4b7a70e...
- Kratisto 10y agoLove your wiki. I've been trying to come up with a way to save my links/notes, and I really like how you have done it.
- dotancohen 10y agoHow are checklists handled in Markdown? I've been wanting to move over to Markdown but I'm a heavy checklist user.
- enzanki_ars 10y ago- [ ] For an unchecked item - [x] For a checked item
- dotancohen 10y agoThank you!
- haberman 10y agoThis definitely appeals to me for its simplicity, but the major downside to this approach (for me) is that you can't (easily) draw pictures. So often when I am taking notes, the notes involve diagrams. Markdown is great at text, but has nothing for diagrams. After a lot of thinking about this problem, I've decided to start using an iPad with an Apple Pencil and Microsoft OneNote. Here is an example of some notes I took when thinking about an AudioUnit plugin that would dilate time: https://1drv.ms/o/s!AtbMnk02vU5DgQBbmSeyPx9zd1Dn https://1drv.ms/o/s!AtbMnk02vU5DgQBbmSeyPx9zd1Dn VimWiki is definitely very cool. Just sharing this in case anyone out there has the same concern as me about drawing diagrams.
- Raphmedia 10y ago(Serious) I really want to learn either Vim or Emacs but I've never been able to decide which one to learn. Every time I've tried to search about this topic I end up in petty wars. Help?
- Tyr42 10y agoJust use whichever your social group uses, as they'll likely be helping answer any questions about it. Then, if your friends use emacs, use evil-mode because vim is the best.
- IanCal 10y agoThey're both great, but have different philosophies. Just try one and see if you like it. If you really don't get on with it, try the other one.
- bandrami 10y agoEven though I'm more of an Emacs user, I'd say if you're going to learn one, learn vi. Not vim, mind you: nvi, the original one (you can emulate it in vim with "set compatible"). Use it for a few months until you get muscle memory for it. Just about any UNIX-like system you'll work on, anywhere, has at least the old vi, and it's very useful to just have that muscle memory tucked away.
- Raphmedia 10y agoThat's actually a very good point. Thanks!
- moosingin3space 10y agoWhat's more, if you prefer the Emacs environment, you can run a vi-like editor in it (Evil). Emacs keybindings, on the other hand, are the default keybindings for GNU readline, which is used in a lot of shells and related programs. Additionally, I know that OS X allows you to use Emacs keybindings in any text field. (I am not a mac user, can't comment on this.) (Disclaimer: I am a happy Spacemacs user, and it would take a lot to pry it away from me.) I'd recommend learning vi, so you can learn how awesome modal editing is. Then, learn Emacs' basic commands for line editing (so as to make readline apps easier to work with). Once you've done that, evaluate whether a (Neo)vim with plugins or Spacemacs setup is better for you, then choose one of those.
- grimgrin 10y agoThe one vimwiki line I have in my vimrc is to set the path to my Dropbox. let g:vimwiki_list = [{'path': '~/Dropbox/Public/briefcase/vimwiki'}] All of the default commands are pretty nice. Here's a nice cheatsheet: http://thedarnedestthing.com/vimwiki%20cheatsheet http://thedarnedestthing.com/vimwiki%20cheatsheet
- johnnycarcin 10y agoThis is really cool! I wrote a small go app awhile back to solve my personal wiki problem (https://github.com/esell/bookie https://github.com/esell/bookie) but since I am in vim most of the day, this seems like an even better solution. You could even just take the output and toss it up on Github pages or whatever if you wanted to share it.
- YeGoblynQueenne 10y agoIs this substantially different than: a) writing a syntax highlighting script for your notes files, b) using tags to jump to documents and c) using netrw for browsing your files? Because if it is not, and even if it is just making it easier to do those things yourself, I would personally not even consider using it, having had some really nasty surprises with Vim plugins in the past. Yes, I do mean you, Powerline.
- ecthiender 10y agoSo its basically like Orgmode (a simplistic version, that is) but for Vim?
- elliotec 10y agoAnd with a usable interface
- kaushalmodi 10y agoFor people, not familiar with org mode, the markup portion is a very very small subset of org mode. Org mode is a very powerful tool that is used for many more applications. People complaining about "usability" of org mode do not know where to begin "learning" org mode. The thing is that no one needs to "learn the whole org mode"; you take it in piece by piece, based on the features you need. I started off learning just the (1) org markup syntax, and exporting. You write once, and then export the same to HTML, PDF, markdown, plain ASCII text, etc. Then I learned (2) Org capture.. taking notes at whim of a moment, dumping all notes in a single file (you don't have to do it in a single file) categorized by tags. Then I wanted to take notes with "living code".. notes that contain the code as well as the code output. So that was learning (3) Org babel. Then I wanted the notes to generate files containing the code in those notes. Enter (4) Org tangle. One day I felt like why not experiment with (5) Org table that is plain text spreadsheet that can contain formulas too. It truly is a beautiful piece of software. At some point, I started tinkering with elisp, and started appreciating the org mode design even more. I felt a need to have some thing like the default ASCII exporter, but few of my own tweaks. (6) And I learnt how to design my own custom org exporter. And I believe that all of that is probably less than 50% of the whole of org mode. I will learn more as and when I feel the need. If you feel lost, read the org mode manual or ask the org mode mailing list.
- pencilcode 10y agoI've been using vimwiki for years - it's been an absolute life-saver - but had no idea it now supported markdown. Any one know of a tool to convert vimwiki syntax to markdown or can i just use markdown in new files and keep vimwiki in the old files?
- galfarragem 10y agoIs there something similar for Sublime Text?
- desireco42 10y agoActually there is. There is very neat solution whose name escapes me. It might not have all the featured of VimWiki, but it had others that were as cool.
- phaemon 10y agoI suppose it was taken, but "Viki" would have been so much better a name.
- stewbrew 10y agoViki/Deplate : A personal wiki for Vim http://www.vim.org/scripts/script.php?script_id=861 http://www.vim.org/scripts/script.php?script_id=861
- hpincket 10y agoI've used VimWiki for a couple years now. I use the most basic features (Enter, Backspace). The ability to instantly jump to the wiki is the most useful (Leader W W). My wiki is just a folder in my Dropbox so I can get to it on almost any computer. When I started, VimWiki syntax was better supported than markdown. I've seen lots of markdown related pull requests come through, so maybe that's changed. I use VimWiki for: * Life goals (stretch and short term). I use it almost as a centering tool. * Poetry * Passages from books * Book summaries (that I write) * Lecture/Speech notes * Notes on misc. items I want to explore * Ideas for future science fiction short stories Last summer I wrote a simple Awk script to extract VimWiki style definitions (Term::Definition) into TSV's for importing into Anki. I was frustrated that I couldn't fully automate this process without modifying Anki. Maybe someone else has figured this out?
- lambdasue 10y agoRegarding the Anki import, this Vim plugin might be of interest: https://github.com/tbabej/knowledge https://github.com/tbabej/knowledge Beware, highly experimental, and the documentation is lacking (reading the tests would be the best idea to get a feeling how the syntax works).
- ghostwreck 10y agoI have tried using this or orgmode at various points, but I haven't been able to find a good workflow for linking images/screen shots with notes (which I do quite often in Evernote). I use vim as my primary IDE, so I would love to find a solution for image links to let me use VimWiki as well.
- godmodus 10y agoWhat's ur vimrc like? I'd love to peek!
- grimoald 10y agoNot sure what you mean by workflow, but you can include images like this: {{file:../../images/image.png}} {{http://example.com/image.png}} Vim is of course not able to display images, but they appear when you convert the wiki page to HTML.
- kiiski 10y agoWhat kind of workflow do you mean? Simply taking a screenshot and inserting a link to it would be pretty easy, at least in Emacs ;; There probably are better solutions already ;; available somewhere. (defun org-insert-screenshot (filename) (interactive "sFilename: ") (let ((filename (concat filename ".png"))) ;; import is from ImageMagick, change to whatever you like to use (call-process "import" nil nil nil filename) (insert (format "[[file:%s]]" filename)) (org-display-inline-images)))
- grimoald 10y agoVimwiki maintainer here. Feel free to ask questions.
- mVChr 10y agoIs there a recommended way to sync this with a remote server or service? My interest is to share the info between devices. I suppose I could just use a git repo, but wondering if there's a less manual way.
- grimoald 10y agoThere is no standard way. It's just a bunch of plain text files, so there are many ways to sync. AFAIK, many users use Dropbox.
- falcolas 10y agoDropbox works well, as does (oddly enough) iCloud. Syncthing also works well enough too. I simply simlink whichever choice I make back to my home directory, and it works as expected.
- benlemasurier 10y agoI use syncthing for this very purpose, works great.
- deleted 10y ago[deleted]
- amjith 10y agoThanks a lot for creating vimwiki. I've been using it for years to keep my notes. Thanks for adding markdown support. :) Is there a way in which I can show my gratitude? I can donate money or contribute code (if you need help).
- grimoald 10y ago
- damaru 10y agoFunny, I just setup my vimwiki + syncthing yesterday night!
- yoland68 10y agoI use this so much it became my to-go place to create step by step plan (a.plan) for any project I do. I would also bind :w with converting the wiki to html and have a cronjob to sync the html with the server so anyone can easily check the project I m working on and its progress
- jcpst 10y agoBeen using org-mode. Trying out vimwiki after seeing this and I like the simplicity of it better. It has enough features for me to remove the overhead of an emacs + evil install just for org-mode.
- nextos 10y agoWhy do you find org-mode complex? I think it's simple, but perhaps not easy.
- desireco42 10y agoOrg-mode can get confusing. Also it is not as snappy as vim. I used it for a while, it's OK.
- jcpst 10y agoI don't necessarily find it more complex to get started on, but some of the vimwiki defaults with navigation and creating new pages are nice to me. Plus, it makes my workflow simpler, because org-mode was the only reason I was jumping into emacs.
- k2enemy 10y agoI'm a huge fan of VimWiki and have years worth of data in my main wiki. What are people using for their wiki on iOS? Right now I'm syncing with iA Writer. It works pretty well, but doesn't support links. It looks like Bear is promising -- it uses the same style links, but it doesn't sync with a folder of text files. Any others out there?
- d08ble 10y agoI'm using LiveComment https://www.npmjs.com/package/livecomment https://www.npmjs.com/package/livecomment LiveComment is Editor/IDE-independent, cross-language, realtime & easy with client or server JavaScript plugins. For example, my HN notes pool http://acpul.org/pool http://acpul.org/pool
- wildflyalpha 10y agoI keep personal notes in Dropbox. I formerly used plain text files, then I used my own syntax highlight format in GEdit. Then I started using Markdown in Sublime Text (with the "Sunburst" colour theme for making everything stand-out). I tried vimwiki with the files stored in Dropbox but it didn't go anywhere. I liked the simplicity of just bunging stuff in a semi-structured .md file. I worked with Markdown files in Dropbox for several years. However in the last year or two, I sometimes have occaison to read/write notes from my phone or tablet and Sublime Text is not available for those systems. I tried various Android editors like Markdawn and DroidEdit but nothing I was satisfied with. These days I am slowly gravitating to Google Keep. It's simple but OK for my needs and I can use it cross-device - on desktop these is even a Chrome app which works like a desktop app.
- ino 10y agoSunburst is such a good color scheme. I really like that the background is black. I've made some changes like make the left gutter grey have grey background (so I know where it starts and ends) and some other changes for the way I like to see html, php, js and css. I might have broken the syntax for other languages. https://github.com/inod/contraste/blob/master/Contraste.tmTheme https://github.com/inod/contraste/blob/master/Contraste.tmTh...
- shoover 10y agoIn all the orgmode threads, a viable replacement never comes up in any other editor, even for the basic features of note taking. Now here we have several commenters who have tried both and really like VimWiki. As an Emacs user who might like a modern feeling editor but stays mostly because of orgmode, seeing the enthusiasm here gives me hope that similar may be reachable in Visual Studio Code one day.