Vimwiki

Vimwiki可使用dropbox在多台电脑间自动同步,如对自己域名的服务器有控制权,可使用rsync与服务器同步;如果是没有控制权的虚拟主机,可使用ftp同步工具,如windows下的second copy与服务器同步。

项目地址:http://code.google.com/p/vimwiki/

安装 Vimwiki

安装条件:确保 vimrc 文件中的如下设置

set nocompatible
filetype plugin on
syntax on

如果是 vba 包,解压缩后用 Vim 打开插件文件,运行安装命令 :source % (或者 :so %);

如果是 zip 包,解压缩后将相关文件复制到 Vim 运行目录,显然前者更方便。

使用笔记

键盘映射

" $VIM/vimfiles/plugin/vimwiki.vim
" MAPPINGS
if !hasmapto('<Plug>VimwikiIndex')
  nmap <silent><unique> <Leader>ww <Plug>VimwikiIndex
endif
nnoremap <unique><script> <Plug>VimwikiIndex :VimwikiIndex<CR>

if !hasmapto('<Plug>VimwikiTabIndex')
  nmap <silent><unique> <Leader>wt <Plug>VimwikiTabIndex
endif
nnoremap <unique><script> <Plug>VimwikiTabIndex :VimwikiTabIndex<CR>
...

解决行内被特殊字符包围的方法

此方法非正规方法,属于 Hack 方法

比如“ ^ ...string... [^\W_]”

使用生成 pre 标签的语法,然后增加 class="code",用 CSS 将这段 pre 包围的代码普通化。

配置文件

Vimwiki 2.x templates/default.tpl

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head profile="http://gmpg.org/xfn/11">
    <title>%title% | frePerl's Wiki Note</title>
    <meta http-equiv="Content-Type" content="text/html; charset=%encoding%" />
    <meta name="viewport" content="width=device-width,initial-scale=1" />
    <link type="text/css" rel="stylesheet" href="style/%css%" /> 
  </head>
  <body>
    <div id="content">
        %content%
    </div>
    <div id="footer">
        <a href="index.html" id="back_index">首页</a> 本站点使用创作共同 (<a href="http://creativecommons.org/licenses/by/2.5/cn/">Creative Commons</a>)  版权协议 
    </div>
</body>
</html>

Vimwiki 1.x header.tpl

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head profile="http://gmpg.org/xfn/11">
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link type="text/css" rel="stylesheet" href="./style/style.css" /> 

    // For SyntaxHighlighter
    <link type="text/css" rel="stylesheet" href="./styles/shCore.css" /> 
    <link type="text/css" rel="stylesheet" href="./styles/shThemeDefault.css" /> 
    <script type="text/javascript" src="./scripts/shCore.js"></script> 
    <script type="text/javascript" src="./scripts/shBrushSql.js"></script>
    <script type="text/javascript" src="./scripts/shBrushBash.js"></script>
    <script type="text/javascript" src="./scripts/shBrushPhp.js"></script>
    <script type="text/javascript">
       SyntaxHighlighter.config.clipboardSwf = './scripts/clipboard.swf';
      SyntaxHighlighter.all();
    </script> 

  </head>
  <body>
    <div id="content">

Vimwiki 1.x footer.tpl

    </div>
    <div id="footer">
         <a href="index.html" id="back_index">首页</a> 本站点使用创作共同 (<a href="http://creativecommons.org/licenses/by/2.5/cn/">Creative Commons</a>)  版权协议 
    </div>
</body>
</html>

可供参考

Vimwiki 中文文档

用 vimwiki 搭建你自己的维基世界