18 Commits
v1.4 ... master

Author SHA1 Message Date
Alex Vear
9eff5aadf5 Remove .gitattributes file 2025-08-18 04:03:27 +01:00
Alex Vear
b99b967b8f Update screenshots 2025-07-05 03:40:43 +01:00
Alex Vear
3b2c1e3f21 Move samples from samples branch to master branch
Originally-authored-on: 2020-10-26
2025-07-05 03:32:58 +01:00
Alex Vear
1122c1ea37 Remove unused config from .gitattributes 2025-07-05 03:32:19 +01:00
Alex Vear
cc998511b6 Fix referenced file path 2024-06-24 16:30:17 +01:00
Harvey R
79dd8529ea Fix typos (#9) 2022-10-16 21:01:48 +01:00
Tomáš Janoušek
1156d9f34c Add /doc/tags to .gitignore (#8)
This hides it from git status when org.vim is installed directly under `~/.vim` using git clone.
2022-04-30 19:28:56 +01:00
jgart
adf01bb7c9 Fix typo in README.org (#7) 2021-08-21 08:39:55 +01:00
Alex Vear
19babbda11 Update email address and last changed dates 2021-06-15 19:53:34 +01:00
Alex Vear
5e1d9fb5fb Update docs for v1.5 2021-03-11 19:46:15 +00:00
Alex Vear
bab85fda8a Update doc file to mention alphabetical ordered list bullets
Related: #4
2021-03-11 19:39:47 +00:00
Alex Vear
82f7f89e4d Make alphabetical bullets optional (and restrict to single character)
Related: #4
2021-03-11 19:25:57 +00:00
István Donkó
5af62cc9b9 Alphabetical ordered list bullets (#4) 2021-03-11 19:25:40 +00:00
Alex Vear
e146fd2ee3 Mention syntax and filetype options to enable all features 2021-01-19 20:01:11 +00:00
Alex Vear
61f5467543 Add a .gitignore file to ignore samples directory 2020-10-26 20:20:03 +00:00
Alex Vear
0af5ca0324 Add option to disable (La)TeX syntax highlighting 2020-09-08 19:47:57 +01:00
Alex Vear
f50c700b87 Minor wording tweak and TODO file update 2020-09-08 19:47:26 +01:00
Alex Vear
42315ab08c Remove pointless (and inaccurate) paragraph on folding in help doc 2020-08-25 22:45:43 +01:00
17 changed files with 368 additions and 50 deletions

5
.gitattributes vendored
View File

@@ -1,5 +0,0 @@
# See: https://axvr.io/projects/ascribe/
* text=auto eol=lf final-newline trim-trailing-whitespace
*.vim line-length=78 expand-tab tab-stop=4
doc/*.txt line-length=78 expand-tab tab-stop=4
*.org line-length=80 expand-tab tab-stop=4

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
samples/
/doc/tags

View File

@@ -1,6 +1,6 @@
#+TITLE: Org mode and Outline mode syntax highlighting for Vim
Org.vim is a very minimal [[https://orgmode.org][Org mode]] and
Org.vim is a minimal [[https://orgmode.org][Org mode]] and
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Mode.html][Outline mode]]
plugin for [[https://www.vim.org][Vim]] providing only syntax highlighting and
folding.
@@ -9,7 +9,7 @@ This plugin aims to replicate Vim's [[https://github.com/tpope/vim-markdown/][ex
editing experience on Org mode (and Outline mode) files, rather than trying to
be a full featured Org mode plugin—that is what Emacs is for. Originally
created so I could use [[https://github.com/orgzly/orgzly-android/][Orgzly]]
without worrying Emacs lock-in.
without worrying about Emacs lock-in.
*Note*: this project is considered /feature complete/ by the author, so the
addition of new features will be unlikely.
@@ -28,6 +28,14 @@ git clone https://github.com/axvr/org.vim ~/.vim/pack/plugins/start/org
vim +'helptags ~/.vim/pack/plugins/start/org/doc/' +q
#+END_SRC
Make sure the following options are set in your vimrc to enable all
functionality:
#+BEGIN_SRC vim
syntax enable
filetype plugin indent on
#+END_SRC
Once installed check out the Org.vim manual (run ~:help org.txt~ to open it) for
usage information and configuration options.
@@ -36,14 +44,14 @@ usage information and configuration options.
Different Vim colour schemes will result in different appearances.
| [[https://github.com/romainl/Apprentice][Apprentice]] | [[https://github.com/axvr/photon.vim][Photon]] |
| [[https://github.com/axvr/raider.vim][Raider]] | Unokai (built-in) |
|--------+------------|
| [[https://raw.githubusercontent.com/axvr/org.vim/images/apprentice.png]] | [[https://raw.githubusercontent.com/axvr/org.vim/images/photon.png]] |
| [[https://raw.githubusercontent.com/axvr/org.vim/images/raider.png]] | [[https://raw.githubusercontent.com/axvr/org.vim/images/unokai.png]] |
** Licence
Copyright © 20182020, Alex Vear.
Copyright © 20182021, Alex Vear.
Org.vim is distributed under the same terms as Vim itself.

12
TODO
View File

@@ -1,12 +1,12 @@
MAYBE:
- Highlight groups:
* Future
- Syntax highlight checkboxes and checkbox cookies
- Separate syntax group for heading delimiters
- Syntax highlight and indent "properties"
- Inline blocks
* Maybe
- Implement Emacs's abbreviations (e.g. '\<s<TAB>')
* Impossible?
- Try to get text attributes to stack (e.g. underlined text in bold text)
- Close inline block using same number of starting delimiters.
- Set a max number of lines to search for end delimiter for bold/italic/etc. to 3 (might not be possible)
UNLIKELY:
- Implement Emacs's abbreviations (e.g. '\<s<TAB>')

View File

@@ -1,6 +1,6 @@
" Helper functions for org.vim
"
" Maintainer: Alex Vear <av@axvr.io>
" Maintainer: Alex Vear <alex@vear.uk>
" License: Vim (see `:help license`)
" Location: autoload/org.vim
" Website: https://github.com/axvr/org.vim

View File

@@ -16,7 +16,7 @@ Welcome to the org.vim user manual. *org* *org.vim* *vim-org* *out
==============================================================================
1. INTRODUCTION *org-intro*
Org.vim is a very minimal Org mode [2] and Outline mode [1] plugin for Vim
Org.vim is a minimal Org mode [2] and Outline mode [1] plugin for Vim
providing only syntax highlighting and folding.
This plugin aims to replicate Vim's existing Markdown editing experience on
@@ -37,6 +37,12 @@ enable it manually.
>
:set filetype=outline
<
Just make sure the following options are set in your vimrc to enable all
functionality offered by this plugin:
>
syntax enable
filetype plugin indent on
<
==============================================================================
3. CONFIGURATION *org-configuration*
@@ -45,15 +51,10 @@ enable it manually.
To control how Org.vim handles folding, just use the standard Vim |folding|
options and commands.
For example if you want to enable or disable folding, use 'foldenable'.
For example, if you want to enable or disable folding, just set 'foldenable'.
>
autocmd FileType org,outline setlocal nofoldenable
<
Or if you want folding enabled and all folds opened by default, use
'foldlevelstart'.
>
autocmd FileType org,outline setlocal foldenable foldlevelstart=99
<
For more information on folding in Vim, refer to |fold.txt|.
------------------------------------------------------------------------------
@@ -104,7 +105,7 @@ This option can be enabled for all buffers like so:
>
let g:org_clean_folds = 1
<
Alternatively it can be enabled for specific buffers:
Alternatively, it can be enabled for specific buffers:
>
let b:org_clean_folds = 1
<
@@ -119,7 +120,7 @@ the italic variant of your font.
As some terminals, terminal multiplexers and monospaced fonts don't support
the use of italics, org.vim provides a mechanism to disable italic text.
To disable for all Org mode files place the following line in your vimrc:
To disable for all Org mode files, place the following line in your vimrc:
>
let g:org_use_italics = 0
<
@@ -127,9 +128,48 @@ To disable italics only in a single buffer, use this instead:
>
let b:org_use_italics = 0
<
------------------------------------------------------------------------------
*'b:org_highlight_tex'* *'g:org_highlight_tex'*
Value: numeric~
Default: 1~
Enable/disable syntax highlighting of inline (La)TeX blocks[4]. This option
exists as some Org mode users don't use TeX and may find the highlighting
annoying.
To disable for all Org mode files, place the following line in your vimrc:
>
let g:org_highlight_tex = 0
<
To disable only in a single buffer, use this instead:
>
let b:org_highlight_tex = 0
<
------------------------------------------------------------------------------
*'b:org_list_alphabetical_bullets'* *'g:org_list_alphabetical_bullets'*
Value: numeric~
Default: 0~
Enable/disable alphabetical bullets on ordered lists. This is disabled by
default like in Emacs.
To enable for all Org mode files, place the following line in your vimrc:
>
let g:org_list_alphabetical_bullets = 1
<
To enable only in a single buffer, use this instead:
>
let b:org_list_alphabetical_bullets = 1
<
==============================================================================
4. CHANGE LOG *org-changelog*
v1.5 [2021-03-11]~
* Added support for alphabetical ordered list bullets. (Thanks Isti115!)
* Option to disable (La)TeX highlighting. (See: |g:org_highlight_tex|)
* Doc update.
v1.4 [2020-08-24]~
* Render "strikethrough" text as "struck through".
@@ -174,14 +214,14 @@ v1.0 [2019-09-28]~
Org.vim is distributed under the same terms as Vim itself.
Copyright (c) 20182020, Alex Vear.
Copyright (c) 20182021, Alex Vear.
A copy of the full licence text should have been provided with this extension
in the `LICENCE` file. The license can also be viewed on the web [3] or by
viewing the |license| section of the |uganda.txt| help doc from within Vim.
Org.vim is based on the work of many other people (far too many to list here),
without them org.vim would not have been possible. The most notable of thse
without them org.vim would not have been possible. The most notable of these
works are:
* GNU Emacs' Outline mode [1].
@@ -193,6 +233,7 @@ works are:
[1]: <https://www.gnu.org/software/emacs/manual/html_node/emacs/Outline-Mode.html>
[2]: <https://orgmode.org/>
[3]: <http://vimdoc.sourceforge.net/htmldoc/uganda.html#license>
[4]: <https://orgmode.org/manual/LaTeX-fragments.html>
------------------------------------------------------------------------------
vim:et:ts=4:sts=4:sw=4:tw=78:ft=help:norl:

View File

@@ -1,8 +1,8 @@
" Vim filetype detect plugin for GNU Emacs' Org mode
"
" Maintainer: Alex Vear <av@axvr.io>
" Maintainer: Alex Vear <alex@vear.uk>
" License: Vim (see `:help license`)
" Location: ftplugin/org.vim
" Location: ftdetect/org.vim
" Website: https://github.com/axvr/org.vim
" Last Change: 2019-09-22
"

View File

@@ -1,10 +1,10 @@
" Vim filetype plugin for GNU Emacs' Org mode
"
" Maintainer: Alex Vear <av@axvr.io>
" Maintainer: Alex Vear <alex@vear.uk>
" License: Vim (see `:help license`)
" Location: ftplugin/org.vim
" Website: https://github.com/axvr/org.vim
" Last Change: 2020-01-04
" Last Change: 2020-02-15
"
" Reference Specification: Org mode manual
" GNU Info: `$ info Org`

View File

@@ -1,6 +1,6 @@
" Vim filetype plugin for GNU Emacs' Outline mode
"
" Maintainer: Alex Vear <av@axvr.io>
" Maintainer: Alex Vear <alex@vear.uk>
" License: Vim (see `:help license`)
" Location: ftplugin/outline.vim
" Website: https://github.com/axvr/org.vim

5
samples/links.org Normal file
View File

@@ -0,0 +1,5 @@
[[https://google.com]]
[[https://google.com][Google]]
Hello [[world]] foo.

52
samples/sample1.org Normal file
View File

@@ -0,0 +1,52 @@
#+TITLE: Org-mode sample 1
This is some sample text showing off the org-mode syntax for *bold*, /italic/,
_underlined_ and +strike-through+ text.
Org-mode also has support for single line and block comments.
# This is a single-line comment; denoted by the # at the beginning of the line.
#+BEGIN_COMMENT
This is a block comment, which is denoted through th use of the delimiters
found above and below.
#+END_COMMENT
_this is underline text
this is more_
~verbatim~
: verbatim
asasdf ** __
_hello world_ something __ _hello_
_hello world_ _ _ __
=monospace=
#+BEGIN_SRC file-type
this is a code block
#+END_SRC
#+BEGIN_EXAMPLE
some example text
#+END_EXAMPLE
#+SOME_OPTION: This is an org-mode option
Active date:
<2019-03-02 23:44>
Inactive date:
[2019-03-02 23:44]
[[https://google.com]]
[[https://google.com][Google]]
* Heading 1
** Heading 2
*** Heading 3 :tag:
**** TODO DONE NEXT DOING Heading 4
# vim: set spell :

83
samples/sample2.org Normal file
View File

@@ -0,0 +1,83 @@
#+TITLE: Hello world
[[hello world][something]] <-- this is a link
*bold*
/italic/
+strikethrough+
_underline_
/aasdf *sdfasdf* sadfasdf/
#+BEGIN_COMMENT
hello world this is a comment block
#+END_COMMENT
# comment
1. Foo bar bz baz this is a /not so/ very long line of text in this vim 8.2
buffer.
2. Hello world.
1. Foo
2. Bar
- foo
- bar
- This is *foo*
- A nested listsdf
+ Using different asdfasd
+ delimiters /fee/
+ Foo bar bz baz this is a /not so/ very long line of text in this vim 8.2 buffer.
+ [ ] This is a checkbox.
+ [ ] Nested checkbox.
+ [X] This is a checked checkbox with really long text to test how wrapping
works.
+ [ ] Something asdf asdf asdf adfs dsf asdf sadf sadf sadf saf sdf asdf sdf
asdf sadf
# * foo not a list item
# * Is a list item
| Table | Column 1 |
|-------+----------|
| item | _foo_ bar |
<2003-09-16 Tue 12:00>--<2003-09-16 Tue 12:00>
<2003-09-16 Tue>--<2003-09-16 Tue>
[2003-09-16 Tue]
[2003-09-16 Tue 12:00]--[2003-09-16 Tue 12:00]
<2003-09-16 Tue>
<2003-09-16 Sáb>
<2003-09-16 Tue 12:00-12:30>
#+asdasdsdfasdf: asdfasd
~verbatim~
: verbatim
=monospace=
#+BEGIN_SRC
asdfasdfasdf
#+END_SRC
* Hello world
** Foo bar
*** Something :something_else:
******** asdfasdf
hello world
**** Hello world
something

45
samples/sample3.org Normal file
View File

@@ -0,0 +1,45 @@
#+TITLE: This is a title
#+Author: Foo bar
* Heading 1
This is *bold* text.
This is /italic/ text.
This is _underlined_ text.
This is +strikethrough+ text.
This is ~monospace~ text.
This is =verbatim= text.
Link to [[https://www.orgmode.org][Org mode]] website.
Get Org.vim from here: [[https://github.com/axvr/org.vim]]
# Comment
: Verbatim
#+BEGIN_SRC lisp
(if (> 1 2)
(print "True")
(print "False"))
#+END_SRC
#+BEGIN_COMMENT
This is a comment block.
#+END_COMMENT
- Foo.
- Bar.
+ Biz.
1. Hello.
2. World.
+ Baz.
1) Org,
2) Mode.
Time stamps: [2020-03-01] <2020-02-29>
** TODO Heading 2
*** Heading 3 :heading:tags:
**** Heading 4
and so on...

36
samples/tex.org Normal file
View File

@@ -0,0 +1,36 @@
#+TITLE: Experiment with TeX in Org mode
#+OPTIONS: tex:t
Hello $\alpha$.
$$\alpha$$
* Foo $\alpha$
*foo $\alpha$ bar*
\neg
a \begin{equation} % arbitrary environments,
x=\sqrt{b} % even tables, figures
\end{equation} % etc
\begin{equation} % arbitrary environments,
x=\sqrt{b} % even tables, figures
\end{equation} % etc
\begin{equation} % arbitrary environments,
x=\sqrt{b} % even tables, figures
\end{equation} % etc
\begin[asdf]{equation2} % arbitrary environments,
x=\sqrt{b} % even tables, figures
\end{equation2} % etc
If $a^2=b$ and \( b=2 \), then the solution must be
either $$ a=+\sqrt{2} $$ or \[ a=-\sqrt{2} \].
$$
a+=\alpha
$$

46
samples/unusual.org Normal file
View File

@@ -0,0 +1,46 @@
Hello /world/ foo/bar/asdf biz/baz//buz/
~foo~
*hello*
/_asdf/
a/foo/
-/foo/
#/foo/
@/foo/
:/foo/
_/foo/_
+/foo/+
3/foo/
£/foo/
;/foo/
,/foo/
./foo/
*hello*
/asdföasdf/
/öasdf/
hello /foo
bar/
*Foo. Bar.*
Biz
Org mode will match unconditionally from first =*= (must be preceded by [- '"(] ) to first one with [ \n\r-'")[}] on the right side.
*Hello
asdf world*
Hello 123468-qwertyuiop[]\aasdfgghjjk;/.,mzxcg!@#$%^&*(*Foo=\\\\]][][[[*asdf]* [asdf*
Bar
*Helloa sdf world
asdf ** dasf
Hello 123468-qwertyuiop[]\aasdfgghjjk;'"/.,mzxcg!@#$%^&*(*Foo=\\\\]][ _asd_ [[*asdf]"**[a*sdf*/
Bar

View File

@@ -1,10 +1,10 @@
" Vim syntax file for GNU Emacs' Org mode
"
" Maintainer: Alex Vear <av@axvr.io>
" Maintainer: Alex Vear <alex@vear.uk>
" License: Vim (see `:help license`)
" Location: syntax/org.vim
" Website: https://github.com/axvr/org.vim
" Last Change: 2020-01-05
" Last Change: 2021-03-11
"
" Reference Specification: Org mode manual
" GNU Info: `$ info Org`
@@ -92,6 +92,9 @@ highlight def link orgTag Type
" Lists
syntax match orgUnorderedListMarker "^\s*[-+]\s\+" keepend contains=@Spell
syntax match orgOrderedListMarker "^\s*\d\+[.)]\s\+" keepend contains=@Spell
if org#option('org_list_alphabetical_bullets', 0)
syntax match orgOrderedListMarker "^\s*\a[.)]\s\+" keepend contains=@Spell
endif
highlight def link orgUnorderedListMarker Statement
highlight def link orgOrderedListMarker orgUnorderedListMarker
@@ -122,6 +125,7 @@ highlight def link orgHyperRight Comment
" TeX
" Ref: https://orgmode.org/manual/LaTeX-fragments.html
if org#option('org_highlight_tex', 1)
syntax include @LATEX syntax/tex.vim
syntax region orgMath start="\\begin\[.*\]{.*}" end="\\end{.*}" keepend contains=@LATEX
syntax region orgMath start="\\begin{.*}" end="\\end{.*}" keepend contains=@LATEX
@@ -131,6 +135,7 @@ syntax region orgMath start="\S\@<=\$\|\$\S\@=" end="\S\@<=\$\|\$\S\@=" keepend
syntax region orgMath start=/\$\$/ end=/\$\$/ keepend contains=@LATEX
syntax match orgMath /\\\$/ conceal cchar=$
highlight def link orgMath String
endif
let b:current_syntax = 'org'

View File

@@ -1,10 +1,10 @@
" Vim syntax file for GNU Emacs' Outline mode
"
" Maintainer: Alex Vear <av@axvr.io>
" Maintainer: Alex Vear <alex@vear.uk>
" License: Vim (see `:help license`)
" Location: syntax/outline.vim
" Website: https://github.com/axvr/org.vim
" Last Change: 2019-09-28
" Last Change: 2020-08-24
"
" Reference Specification: GNU Emacs Manual, section 'Outline Mode'
" GNU Info: `$ info Emacs Outline Mode`