Closed adrianocorrea closed 2 years ago
Agree. This would be a very good feature. See #96
I never realized that TK could become a viable replacement for vimwiki with the latest news regarding vim9. This would be an interesting twist of events. Hopefully this will bring lots of new contributors as well!
Closed with commit fa667469815e3cf6d25a7b09e7e4ce31036c197c (squashed from PR #158)
I just stumbled across this issue. I wasn't aware of the implications of Vim9Script on vimwiki.
My thoughts: popular plugins like vimwiki now have 2 options:
It's a hard position to be in. I guess I would opt for option 1.
Anyway, in light of this discussion, we have to thank @shivanth even more!
Please confirm
Is your feature request related to a problem? Please describe. The release of Vim9 might become a fork in the road for Vim and Nvim users and plugin developers. Vim9 comes with Vim9script, a scripting language not supported by Nvim (see the Nvim's non-goals). Therefore, when some plugins start migrating from vimscript to Vim9script, they will no longer work on Nvim.
A popular plugin is VimWiki, originally released on May 4, 2008. It has over 7.4k stars on GitHub and many users. VimWiki was also a solution for people that wanted to implement a Zettelkasten in Vim in the past.
Due to VimWiki's legacy code base, the project is unlikely to be ported to Lua. However, Telekasten is already an alternative to VimWiki, once:
index
note, the user can easily search for it in Telekasten.Thus, Telekasten is a viable alternative to VimWiki for Nvim users (especially users that want a full-Lua Nvim configuration).
That said, VimWiki has one key feature missing in Telekasten: the ability to have multiple "Wikis". However, by implementing a dictionary (or list) of
home
folders - instead of using a single value for it - and adding a selector (which is<leader>ws
on VimWiki), this limitation is removed. This feature might also be valuable for people that do not use VimWiki but would like to isolate their Zettelkasten note cards. For example, one might want to have one for business and another for academic work - or even one where they keep joke ideas only. Different Zettelkastens can also be used to isolate notes from unrelated projects, especially when working with other team members that should not have access to one's personal diary notes.Describe the solution you'd like Implement the
home
variable as a dictionary ofhome
folders, where each value comprises (a) the Zettelkasten name (i.e. what the user decides to call it) and (b) the path to the note repository. If the user does not set a home folder dictionary, the home folder value defaults to{"Zettelkasten": "~/zettelkasten"}
(or something similar).There should also be a function that allows the selection of which Zettelkasten one wants to open. It could be a fuzzy finder or a list of the keys in the home dictionary. Users may assign the function to keybindings for ease of access.
Describe alternatives you've considered
home
variable manually every time when one wants to change Zettelkastens.Additional context N/A