Code Monkey home page Code Monkey logo

vimwiki's Introduction

VimWiki: A Personal Wiki For Vim

中文


Introduction

VimWiki is a personal wiki for Vim -- a number of linked text files that have their own syntax highlighting. See the VimWiki Wiki for an example website built with VimWiki!

If you are interested in contributing see this section.

With VimWiki, you can:

  • Organize notes and ideas
  • Manage to-do lists
  • Write documentation
  • Maintain a diary
  • Export everything to HTML

To do a quick start, press <Leader>ww (default is \ww) to go to your index wiki file. By default, it is located in ~/vimwiki/index.wiki. See :h vimwiki_list for registering a different path/wiki.

Feed it with the following example:

= My knowledge base =
    * Tasks -- things to be done _yesterday_!!!
    * Project Gutenberg -- good books are power.
    * Scratchpad -- various temporary stuff.

Place your cursor on Tasks and press Enter to create a link. Once pressed, Tasks will become [[Tasks]] -- a VimWiki link. Press Enter again to open it. Edit the file, save it, and then press Backspace to jump back to your index.

A VimWiki link can be constructed from more than one word. Just visually select the words to be linked and press Enter. Try it, with Project Gutenberg. The result should look something like:

= My knowledge base =
    * [[Tasks]] -- things to be done _yesterday_!!!
    * [[Project Gutenberg]] -- good books are power.
    * Scratchpad -- various temporary stuff.

Screenshots

Lists View Entries View Todos View Wiki View

Installation

VimWiki has been tested on Vim >= 7.3. It may work on older versions but will not be officially supported. It is known to work on NeoVim, although it is likely to have NeoVim-specific bugs.

Prerequisites

Make sure you have these settings in your vimrc file:

set nocompatible
filetype plugin on
syntax on

Without them, VimWiki will not work properly.

Installation using Vim packages (since Vim 7.4.1528)

git clone https://github.com/vimwiki/vimwiki.git ~/.vim/pack/plugins/start/vimwiki

# to generate documentation i.e. ':h vimwiki'
vim -c 'helptags ~/.vim/pack/plugins/start/vimwiki/doc' -c quit

Notes:

  • See :h helptags for issues with installing the documentation.
  • For general information on vim packages see :h packages.

Installation using Pathogen

cd ~/.vim
mkdir bundle
cd bundle
git clone https://github.com/vimwiki/vimwiki.git

Installation using Vim-Plug

Add the following to the plugin-configuration in your vimrc:

Plug 'vimwiki/vimwiki'

Then run :PlugInstall.

Installation using Vundle

Add Plugin 'vimwiki/vimwiki' to your vimrc file and run:

vim +PluginInstall +qall

Manual Install

Download the zip archive and extract it in ~/.vim/bundle/

Then launch Vim, run :Helptags and then :help vimwiki to verify it was installed.

Basic Markup

= Header1 =
== Header2 ==
=== Header3 ===


*bold* -- bold text
_italic_ -- italic text

[[wiki link]] -- wiki link
[[wiki link|description]] -- wiki link with description

Lists

* bullet list item 1
    - bullet list item 2
    - bullet list item 3
        * bullet list item 4
        * bullet list item 5
* bullet list item 6
* bullet list item 7
    - bullet list item 8
    - bullet list item 9

1. numbered list item 1
2. numbered list item 2
    a) numbered list item 3
    b) numbered list item 4

For other syntax elements, see :h vimwiki-syntax

Todo lists

  - [.] Partially completed item with sub-tasks
    - [X] Completed sub-task
    - [ ] Incomplete sub-task
    - [ ] Other incomplete sub-task
  - [ ] Incomplete item

Key bindings

Normal mode

Note: your terminal may prevent capturing some of the default bindings listed below. See :h vimwiki-local-mappings for suggestions for alternative bindings if you encounter a problem.

Basic key bindings

  • <Leader>ww -- Open default wiki index file.
  • <Leader>wt -- Open default wiki index file in a new tab.
  • <Leader>ws -- Select and open wiki index file.
  • <Leader>wd -- Delete wiki file you are in.
  • <Leader>wr -- Rename wiki file you are in.
  • <Enter> -- Follow/Create wiki link.
  • <Shift-Enter> -- Split and follow/create wiki link.
  • <Ctrl-Enter> -- Vertical split and follow/create wiki link.
  • <Backspace> -- Go back to parent(previous) wiki link.
  • <Tab> -- Find next wiki link.
  • <Shift-Tab> -- Find previous wiki link.

Advanced key bindings

Refer to the complete documentation at :h vimwiki-mappings to see many more bindings.

Commands

  • :Vimwiki2HTML -- Convert current wiki link to HTML.
  • :VimwikiAll2HTML -- Convert all your wiki links to HTML.
  • :help vimwiki-commands -- List all commands.
  • :help vimwiki -- General vimwiki help docs.

Changing Wiki Syntax

VimWiki currently ships with 3 syntaxes: VimWiki (default), Markdown (markdown), and MediaWiki (media). Of these, the native VimWiki syntax is best supported, followed by Markdown. No promises are made for MediaWiki.

NOTE: Only the default syntax ships with a built-in HTML converter. For Markdown or MediaWiki see :h vimwiki-option-custom_wiki2html. Some examples and 3rd party tools are available here.

If you would prefer to use either Markdown or MediaWiki syntaxes, set the following option in your .vimrc:

let g:vimwiki_list = [{'path': '~/vimwiki/',
                      \ 'syntax': 'markdown', 'ext': 'md'}]

This option will treat all markdown files in your system as part of vimwiki (check set filetype?). Add

let g:vimwiki_global_ext = 0

to your .vimrc to restrict Vimwiki's operation to only those paths listed in g:vimwiki_list. Other markdown files wouldn't be treated as wiki pages. See g:vimwiki_global_ext.

if you want to turn off support for other extension(for example, disabling accidently creating new wiki and link for normal markdown files), set the following option in your .vimrc before packadd vimwiki:

let g:vimwiki_ext2syntax = {}

See g:vimiki_ext2syntax

Getting help

GitHub issues are the primary method for raising bug reports or feature requests.

Additional resources:

Helping VimWiki

VimWiki has a lot of users but only very few recurring developers or people helping the community. Your help is therefore appreciated. Everyone can help! See #625 for information on how you can help.

Also, take a look at CONTRIBUTING.md and design_notes.md


License

MIT License

Copyright (c) 2008-2010 Maxim Kim 2013-2017 Daniel Schemala

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

vimwiki's People

Contributors

amitbeka avatar brennen avatar chipsenkbeil avatar danetrata avatar einfachtoll avatar eltrufas avatar farnerup avatar habamax avatar hq6 avatar hugonikanor avatar johnmarcampbell avatar lervag avatar levirs565 avatar liskin avatar lyokha avatar mmontu avatar nudin avatar patstockwell avatar pcho avatar ranebrown avatar rddunphy avatar reinerh avatar ronmckay avatar sdondley avatar sstallion avatar t7ko avatar tinmarino avatar updbqn avatar vinnyfuria avatar yuuywei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vimwiki's Issues

Support for remote vimwiki directories

If I do this:

let g:vimwiki_list = [{'path': 'scp://user@host/vimwiki/'}]

Then <leader>ww prompts me with this message:

Vimwiki: Make new directory: scp:/user@host/vimwiki
 [Y]es/[n]o?

If I say 'Y', it will quite happily create a local directory named "scp:/user@host/vimwiki", but it won't actually use NetRW to fetch wiki documents from the remote server as I'd intended.

Is there any chance of getting vimwiki to support this? I've poked around a bit inside the vimwiki scripts, and even if I disable the directory existence check, the filename seems to be being munged a bit somewhere earlier in the process, removing one of the slashes from "scp://" so that NetRW still doesn't recognise the path as a remote file which needs to be fetched to be edited.

i_<C-S> hangs vim completely

I try to change list marker with i_<C-S> but vim hangs. The only option is to kill vim then.

branch: new-lists

Ex-mode command ":VimwikiListChangeLevel" gobbles up characters

To make certain that my findings are reproducable, you may want to use these
settings
shiftwidth = 4
noautoindent
nosmartindent
nocindent

== Case I: The list is entered in a straight line ==

Item 1
Item 2
Item 2.1
Item 2.2
Item 3
Item 3.1
Item 3.2
Item 3.3
Item 4
Item 4.1
Item 4.1.1
Item 4.1.2
Item 4.1.3
Item 4.2
Item 4.3
Item 5

Findings: This is the only case when "glm" and "gll" work as expected.

== Case II: The list is entered and nested list-items indented as entered ==

- Item 1
- Item 2
    - Item 2.1
    - Item 2.2
- Item 3
    - Item 3.1
    - Item 3.2
    - Item 3.3
- Item 4
    - Item 4.1
        - Item 4.1.1
        - Item 4.1.2
        - Item 4.1.3
    - Item 4.2
    - Item 4.3
- Item 5

Findings: When called on an already indented list-item for the first time
glm/gll eat up 1 character(s) when used on a list-item in level 1,
eat up 5 character(s) when used on a list-item in level 2,
eat up 7 character(s) when used on a list-item in level 3.
On subsequent usage the indenting/deindenting works as advertised.

[[Page#Header]] links

In mediawiki one can link to a header within a page using [[Page#Header]]. In vimwiki this link leads to Page#Header.wiki. Is this a bug? Is there any way to link to a header in vimwiki?

Q: How can I define key-bundle for VimWiki specifically.

I want to have F10 add a new task item for me in VimWiki specifically. However, two of my trials both had failed:

  1. To add in _vimrc the following:
    autocmd Filetype wiki nmap I* [ ]
  2. To add in vimfiles/ftplugin/vimwiki.vim:
    nmap I* [ ]

Is there a way that I can define a special mapping for key-bundling in VimWiki?

All the best,

  • Linfeng

multiple diary with calendar

I am trying to setup multiple diary. One for meeting and one for dayli reflection. I have the default ~/vimwiki/diary and I created a ~/daily/diary. I use the vimwiki with the calendar plugin. If I vim ~/daily/diary.wiki and :calendar it lists link from the ~/vimwiki/diary as well as the ~/daily/diary/ . Is there a way to separate both?

Very slow on save - 20-30 seconds

For the past several weeks at least, I have found that saving vimwiki files can take up to 20-30 seconds (the UI is locked until the save completes).

I use a fair number of vimwiki plugins, so it's reasonably possible that vimwiki itself is not the source of the problem, but it seems to only happen when I save .wiki files.

Is this issue unique to me? Is it possible that the bug is with vimwiki?

How can I further diagnose the issue?

wikilink with line/topic reference

Hi,

1st,
as this project moved away from google, how am I supposed to contact the community around it? IRC? Maillist? Wiki?

2nd,
I would like to have a wikilink to not just a page, but to

  • a specific line
  • specific topic (marked by an heading) or
  • an arbitrary reference point within the page.

Is that somehow possible?

Thanks for any advises,

Proposal for Markdown as Default markup for Vimwiki files

Please don't get me wrong, I have learned the Vimwiki markup and it is burnt on my fingers so much that I find myself organizing my normal text files with it. However when I made a new wiki purposed to act as my blog I decided to go with the markdown syntax.

I resorted to markdown mainly because I wanted more features from the default converter to HTML in Vimwiki and have started learning it. Markdown has gathered much support as the writing system for the web. In addition parsers and converters to HTML for the markdown syntax are more mature and are being developed collaboratively by many.

If we stick with the custom markup originally developed for Vimwiki we will lose out on the collective intelligence of programmers working on markdown. By adopting a well-known and well-supported writing standard as default for Vimwiki I can see many benefits

  • no documentation or support required for our original markup
  • reduced barrier to entry for new users
  • better support for parsers and converters to HTML
  • one less feature to maintain and support

I hope you'd consider my proposal.

:VimwikiRenameLink doesn't update links correctly if a file name contains a dot

Using ":VimwikiRenameLink" inside vim, the actual file name is renamed correctly but the link is cut off after the dot.

I haven't installed any vimwiki plugins and I'm running the latest version from github.

This is not a new behavior, I it's been like this for some time. I just haven't done a bug report until now :)

Help not working

Hi

I just installed this plugin using bundle, and it works great, but I can't access to the docs from vi. When typing

:h vimwiki

I'm getting:

E149: Sorry, no help for vimwiki

Can you fix this?

Great work, btw.

Dani.

Where is the default template for HTML?

I want to change charset by default to be "gb2312" for sake of displaying Chinese characters. However, I am not familiar with HTML template. So, finding the default template would be very helpful.

All the best,

  • Linfeng

g:vimwiki_rxListBullet is not defined

On the new linux box I have the following error while \ww

Обнаружена ошибка при обработке function vimwiki#lst#get_list_item_rx:
строка    1:
E121: Неопределенная переменная: g:vimwiki_rxListBullet
E15: Недопустимое выражение: '^\s*\%(\('.g:vimwiki_rxListBullet.'\)\|\('.g:vimwiki_rxListNumber.'\)\)'
строка    5:
E121: Неопределенная переменная: rx_without_cb
E15: Недопустимое выражение: rx_without_cb . '\s'
строка    1:
E121: Неопределенная переменная: g:vimwiki_rxListBullet
E15: Недопустимое выражение: '^\s*\%(\('.g:vimwiki_rxListBullet.'\)\|\('.g:vimwiki_rxListNumber.'\)\)'
строка    3:
E121: Неопределенная переменная: rx_without_cb
E15: Недопустимое выражение: rx_without_cb . '\s\+\%(\[\(['.join(g:vimwiki_listsyms, '').']\)\]\s\)\?'

Well on another box it works without that error. I guess the problem is in order of ftplugin and syntax files being loaded.

branch: new-lists

link-type challenges; keeps appending ".html#"

Hi! I've recently set up a site using vimwiki (mostly) and vimwikiblog (a bit) and have been really delighted and the viki-level navigation and the resulting html. ..but I can't figure some things out! :)

One annoying problem is where I want to link to an html file that has no .html extension, and there seems to be a "#" appended to almost everything, is that .. normal?

so using this:
[[./projects/taskwarrior/boards/1%3fpage%3d1%26per_page%3d100|User Support and Tips]]

I get this:
http://www.taskextras.org/projects/taskwarrior/boards/1%3fpage%3d1%26per_page%3d100.html#
(404)

but I want this:
http://www.taskextras.org/projects/taskwarrior/boards/1%3fpage%3d1%26per_page%3d100

I've tried many combinations of link-types and schemes, gotta clue what I'm doing wrong?

Give names to individual wikis

Make a new per-wiki option that can contain a meaningful name for a wiki. It is shown on <Leader>ws and :VimwikiUISelect and maybe in the HTML title.

Markdown file type

I am trying to use vimwiki with the markdown syntax but I can't find a way to make this work.

I have set up my wiki like this :

let g:vimwiki_list=[{'path': '~/.wiki', 'syntax': 'markdown', 'ext': '.md'}]

And in .vim/ftdetect/markdown.vim :

autocmd BufNewFile,BufRead *.md,*.mkdn,*.markdown,*.wiki :set filetype=markdown

And nothing is working. I don't have a syntax highlighting for my wiki pages, and the markdown isn't recognized.

Feature: Open wiki navigation panel using vimpanel

I'm looking at vimpanel, (https://github.com/mihaifm/vimpanel) a project that provides NerdTree-like side-panels, and thinking "wouldn't it be handy to open a WikiTree side-panel that showed the bare outline of a wiki, for navigation?" so I thought I'd share the idea. Have a look at the screenshots.

Fot that matter, how about two side-bars? One on the left, for whole-wiki outline and one wikipanel on the right, essentially a %toc of the headings of the document in focus ?

VimwikiBacklinks seems doesn't work properly

:VimwikiBacklinks uses simple regex expression to lvimgrep all words matching current file's name with extension striped. Shouldn't it match just words in a link format rather than just plain word?

Further more, when directories taken into consideration, this kind of regex matching causes more trouble. Because [[ dir/ ]] doesn't point to same vimwiki file, for examle, in foo/index.md, it points to foo/dir/index.md, while in bar/index.md, it points to bar/dir/index.md. And in this scenario, :VimwikiBackLinks in foo/index.md also matches foo/dir/index.md and bar/index.md

We can completely resolve this problem by simply using the full path to the vimwiki file with a description when normalizing a link. Then the link will be much easier to be precisely matched with while not being presented as a eye-mess too

Do I missed something in the docs or is there already a work-around to get over this problem?

Vimwiki stealing the file type from latex-suite.

I tried to use following to reset the file-extension of Vimwiki files:
let wiki_1.ext = '.tex'

This gets the job done but it also "stole" this specific file type from being recognizable by Vim-Latex-suite, which works as a compiler for tex files.

I also tried to accompany the above line by
let g:vimwiki_ext2syntax = {}

However, there is no luck afterwards.

Is there a fix to this problem?

Please let me know if I have not describe my question clear enough.

All the best,

  • Linfeng

"breadcrumb" style links

I suppose it would be possible to manually produce a wiki-link (or set of links) that looked like;

~/ vimwiki/ assets/ ledgers/ this.ledger.txt

where all 5 elements are "clickable", the first 4 to directories and the last one to the file, but it would be swell if this were easy to make!

vimwiki header.vim

This issue is a feature request in reference to https://github.com/vim-scripts/header.vim .

In playing with developing a taskwiki (a taskwarrior-oriented instance of vimwiki) I've run into several instances where having anything.wiki would be enhanced by the use of detailed and descriptive headers. In some cases, wiki's can be created per-task with a UUID.wiki name, and the header would help to identify the function of the file, and in cases where a hierarchy of files is used, where updating the files or querying the set, could be greatly enhanced with headers.

So there's this headers.vim plug-in (linked above) which seems well-though-out and recently updated, and I'm considering integrating it's functionality into my smaller project, but it occurs to me that this (optional) functionality would benefit all vimwiki-users, and the vimwiki developers would best know how to integrate it.

How do you guys and gals feel about the idea? Worth adding to vimwiki-proper? or should I try to implement it just for my sub-plugin?
thanks!

Format large chunks of text as code

I use vimwiki to store a lot of code snippets. Ocassionally these snippets have things like underscores or stars which cause vimwiki to apply formatting when it shouldn't. I know I can surround code with back-ticks to make it ignore formatting. But that only works on a line-by-line basis. If I try to span multiple lines with backticks, vimwiki appears to ignore the back-ticks. Is there a way to add multi-line code formatting to vimwiki?

Remove hover link behaviour

I just started to use vimwiki and already fall in love with. There is just one thing I dont like about. When hover over a link with the cursor, the link expands to [[Link]] with the surrounding brackets. Just because I select a link, doesnt mean I want to edit. So I'm asking, if there is a way to get rid of this behaviour? It is disturbing when browsing trough a list of links.

Make g:vimwiki_list_markers a (per-wiki) option?

Although I'm a fan of reasonable default settings, should we make g:vimwiki_list_markers an option, so that the user can specify which kind of marker he uses most often and in which order the markers appear when pressing i_<c-l>k and i_<c-h>j?
Another solution could be dropping this list and map i_<c-l>*, i_<c-l>-, i_<c-l>A etc., analogously to gl*, gl-, glA etc.
At the moment it's a bit cumbersome to type a long list where the child items usually have a different marker than the parents, because on every <c-t> you have to change the marker manually again. I'm thinking of a method to determine the desired marker automatically from what the user has chosen the last time. But this is where things get complicated, I suspect. :)

Blockquote Issues

Issue 1: No blockquote without newline

Code

# Item 1
# Item 2
    Block Quote Text
# Item 3

Result

1. Item 1
2. Item 2 Block Quote
3. Item 3

The documentation for 2.1 claims: Text started with 4 or more spaces is a blockquote
This doesn't seem true in this case. Perhaps this is merely a documentation bug. However, the newline is awkward anyway, so it would be nice if this would work

Issue 2: BlockQuote restarts list numbering

Code

# Item 1
# Item 2

    Block Quote Text
# Item 3

Result

1. Item 1
2. Item 2 
    Block Quote
1. Item 3

Item 3 should be number 3, but it shows up as number 1

Issue 3: BlockQuote at multiple list levels

GitHub style markdown allows for the following:

1. Outer Item 1
    1. Inner Item 1
        > quote 1
    1. Inner Item 2
2. Outer Item 2
> quote 2

Quote 1 and quote 2 show up at different levels. I cannot seem to achieve the same with vimwiki markdown

Issue 4: No nested BlockQuotes

In GitHub style markdown this is achievable like this:

> This is the first level of quoting.
>
> > This is nested blockquote.
>
> Back to the first level.

It seems like this is a deficiency with not having a delimiting character dedicated to block quotes.

Issue 5: Newlines in blockquotes are not honored

    Block quote line 1 
    Block quote line 2

This all shows up on one line.

Note: The desired result is achievable with:

    Block quote line 1<br> 
    Block quote line 2

PS Thank you for vimwiki. It is a fantastic tool.

VimwikiRenameLink renames files but not links to it when using markdown reference-style links

I created a page "antani", I tried renaming it to "foobar" but when the page was references like this
[antani][]

or this:
[Something][antani]

links were left untouched.

I thinks the bug lies in the function update_wiki_links_dir in the file vimwiki/autoload/vimwiki/base.vim because the regex it generates only works for vimwiki_WikiLinkTemplate1 or vimwiki_WikiLinkTemplate2

CR doesn't make a link in visual mode

Vimwiki is working fine except that using CR on a visual selection doesn't make a link. Nothing happens except the selection goes away.

:map

shows

v  <CR>         @<Plug>VimwikiNormalizeLinkVisualCR
n  <CR>         @<Plug>VimwikiFollowLink

vimwikify startify

I was just introduced to Startify;

https://github.com/mhinz/vim-startify
"Startify is a plugin that shows recently used files, bookmarks and
sessions that were saved to a certain directory."

The description under-states how cool this plugin really is,
quite feature-rich and for vim users, it is total candy!

Startify allows user-defined header and footer, and as I played with them, I realized one thing I would really like to be able to do is to "wikify" the footer, to edit it in place, and to use all the markup and links that vimwiki has to offer.. but I have no idea how to set that up :)

Tables embedded in lists

I would like to embed tables into lists. I don't need them to be bulleted, but I do want the list to continue after the table.

A) Is there a way to accomplish this already in place?

OR

B) If not, it would be nice to place another type of list marker that would indicate that the text is a continuation of a list item. For example (imagine the double dashes are single dashes):

-- item 1
-- item 2
. | header|
. |----------|
. | value |
-- item 3

The periods would indicate that the table is an unbulleted part of the list, a continuation of item 2. I am not attached to the choice of marker.

The code is complex so I am hoping for an expert opinion on the feasibility of implementing this feature. And if it is feasible, then some pointers as to where to start.

Thanks,
Matt

executable links [[command: args|description]]

I'm not sure if such a thing exists already, and it leans towards document templating. My example use-case is all taskwarrior (www.taskwarrior.org) but I can see it working with lots of other executables, let me try and describe it.

I would like to be able to place links in an anything.wiki that

a) insert (replace themselves with) the result of a command as a block of text, into the buffer

[[task: ls project:foo limit:5]]

(this executes system command "task ls project:foo limit:5")

b) present a description, and on hitting enter, a block of text is inserted (like above)

[[task: ls project:foo limit:5|The top 5 Foo Project tasks]]

or c) un-like above, launching the vim-taskwarrior plugin command :TW, with the query
(https://github.com/farseer90718/vim-taskwarrior)
instead of inserting text.

[[:TW list project:foo limit:5|The top 5 Foo Project tasks]]

does anything like this exist? should it? got any suggestions?
(this is related to #16 and #18)

Please add external file support

In version 1.2, there is a configuration option

g:vimwiki_file_exts

in order to support external files, such as pdf and docx.

However, it becomes extremely difficult to make external files work in the new version. I end up scripting an ugly VimwikiWikiIncludeHandler

Basically, file extension specific behaviors should come back.

vimwiki <---> taskwarrior plugin

NOTE: This feature request is cross-posted to http://taskwarrior.org/issues/1416

This feature request is to suggest a set of connections between vimwiki ToDo lists and Taskwarrior task lists. As a long-time tw (http://taskwarrior.org) user, and recent vimwiki convert, I can see a fairly easy way to bridge the two WITHOUT any major refactoring, or messing with current behaviors.

By adding a few "vimwiki-task" commands, extending the ToDo syntax to allow "[ID] description proj:foo", vimwiki users would be able to enjoy all the badass tw reporting and syncing. This doesn't necessarily alter the current behavior of "todos", but allows the option to upgrade them to "tasks", that are paired with a tw tasks, by selecting a "* [ ] something" line and issuing ":vimwiki-task".

For taskwarrior users, by simply adding a +wiki tag, any task could be directly associated a twin-task in a ~/.task/project/foo.wiki, for example, and this would completely explode a major constraint; the lack of rich project description and arbitrary details, bullet-lists, tables, markdown and all the other goodies vimwiki has to offer.

So this feature would have to be an inter-project thing, but tw and vimwiki users are the same people, I don't think it would be that hard to do, and the I think integration will have plenty of benefits for all users.

Disable remap cntrl-up

Hello,

How I can disable remaping ?

I use this mapping for switch tabs, and always confused when have opened vimwike page.

Refactor tables

So before again somebody else makes unnecessary effort and makes things I already did I'll share some thoughts on the tables in Vimwiki. The problems there are so far:

  • when making big tables, Vim gets unusable slow (at least on my computer). The reason is the syntax definitions.
  • as far as I can see the only effect of the syntax is to prevent that chars get concealed inside the table
  • and that's because it is difficult to compute the width of a table cell if it contains concealed chars
  • and then I want to have ─ and │ for the lines of the table because it looks better

So what I did is:

  • when redrawing the table, replace - and | with ─ and │
  • use synconcealed() and stuff to get the correct width of the table cells even when there are concealed chars. Was a bit complicated but feasible.
  • throw away the syntax definitions

But there is a big drawback: visually selecting a column is nearly useless if there are concealed characters because what in fact gets visually selected is not what you expect. But that's Vim's fault, not mine.

The interested reader finds my current state here: https://github.com/EinfachToll/Vimwiki/tree/better-tables

<C-L><C-K> do not cycle list items

With the list:

a) item 1
b) item 2

while on b) item press <C-L><C-K> twice. I have A) followed b) again.
<C-L><C-J> works almost as intended except there is no b) item in the cycle.

"sourcing" or including external text or vimwiki markup

Feature suggestion:
When I write documentation, I often include code snippets that I have in other files. Pasting the code directly into my page makes it somewhat ugly. It would be great if I can do something like:
source myExternalFile.c or source myExternalPage.wiki

Add support for local files through "file://" links

Since I have a lot of local files that are quite interesting to the Wiki I'm building it would be really great to be able to link to them and have them opened by the default application for that file type when enter is pressed.

typo in /doc /vimwiki.txt

Hello.

The text segments of "vimwiki-global-options" are written in /doc/vimwiki.txt as "viwmiki-global-options"

This is a matter of the master branch and the dev branch is not affected.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.