Vim으로 Trac의 Wiki를 쓸 때의 이야기.

5045 단어 TracVim

It's All Text


Trac의 Wiki와 Ticket으로 긴 문장을 쓰고 싶을 때 Firefox의 It's All TextVim으로 쓴다.
*.trac 확장자를 사용하여 파일을 만들 수 있도록 설정합니다.

구문 강조표시


Trac의 Wiki는 MoinMoin을 기반으로 하기 때문에 MoinMoin의 문법 하이라이트를 사용할 수 있습니다.
syntax 폴더에 moin.vim 를 놓으면 됩니다.
(참조)http://moinmo.in/VimHighlighting
확장자 moin,trac의 파일을 MoinMoin으로 처리하도록 설정합니다.
au BufNewFile,BufRead *.moin setf moin
au BufNewFile,BufRead *.trac setf moin

접다


모든 제목을 접기 위해vimrc에 다음 설정을 추가했습니다.

au FileType moin setl foldmethod=expr foldexpr=FoldMoinHeading(v:lnum)

function! FoldMoinHeading(lnum)
    let line = getline(a:lnum)
    let match = matchstr(line, '^\zs\(=\{1,5}\)\ze\s\+.*\s\+\1\s*\(#.\+\)\=$')
    if len(match) <= 1
        return '='
    else
        return '>' . (len(match) - 1)
    endif
endfunction
이런 느낌이 들 거예요.

참고로 Trac와는 무관하지만 아래 설정을 통해 Markdown 형식의 제목을 접을 수 있습니다.
au FileType markdown setl foldmethod=expr foldexpr=FoldMarkdownHeading(v:lnum)

function! FoldMarkdownHeading(lnum)
    let line = getline(a:lnum)
    let match = matchstr(line, '^\zs\(#\{1,6}\)\ze\s')
    if len(match) <= 1
        return '='
    else
        return '>' . (len(match) - 1)
    endif
endfunction

빨대


rst 블록, 특히list-table 명령을 자주 사용하기 때문에 neosnippet 다음 부분을 정의했습니다.
moin.snip
snippet rst
    {{{
    #!rst
    ${1}
    }}}

snippet ltbl
    {{{
    #!rst
    .. list-table::
       :width: 

       ${1}
    }}}

snippet img
    [[Image(${1})]]

snippet rimg
    :code-block:`Image:${1}`

좋은 웹페이지 즐겨찾기