1 |
Developers, |
2 |
|
3 |
Well, it's been a little while in coming, but this is the official |
4 |
announcement for the app-vim category. There are many plugins available |
5 |
for vim, similar to all the modules available for emacs (see app-emacs) |
6 |
and xemacs (app-xemacs). Most of the best plugins find their way to |
7 |
vim.sf.net. |
8 |
|
9 |
I've created a couple eclasses to make it relatively easy to add vim |
10 |
plugins to portage. These are vim-plugin.eclass and vim-doc.eclass. |
11 |
The result is that a plugin's ebuild looks about like this: |
12 |
|
13 |
inherit vim-plugin |
14 |
|
15 |
DESCRIPTION="vim plugin: commands and maps to help produce aligned text" |
16 |
HOMEPAGE="http://www.vim.org/scripts/script.php?script_id=294" |
17 |
LICENSE="vim" |
18 |
KEYWORDS="~x86 ~alpha" |
19 |
|
20 |
You might ask some of the following questions, so I'll answer them now |
21 |
before you ask! |
22 |
|
23 |
-------- |
24 |
|
25 |
Q: If it's that easy, why aren't there more plugins in app-vim already? |
26 |
|
27 |
A: It isn't quite that easy. The plugins from vim.sf.net can't be |
28 |
downloaded easily by portage, so instead we repackage them. The |
29 |
additional bonus of repackaging is that we can store the layout of |
30 |
the plugin in the tarball. For example, align-21.tar.bz2 has the |
31 |
following contents: |
32 |
|
33 |
align-21/doc/Align.txt |
34 |
align-21/plugin/Align.vim |
35 |
align-21/plugin/AlignMaps.vim |
36 |
|
37 |
-------- |
38 |
|
39 |
Q: That doesn't sound too hard! |
40 |
|
41 |
A: That isn't much of a question, but I understand the implication. |
42 |
There is an additional problem beyond repackaging that takes a lot |
43 |
more time. Most of the plugins don't have license information |
44 |
included in them. In order to include them in portage, we need to |
45 |
ask the authors for licensing information. Most of the time I |
46 |
suggest the Vim license, and they go along with it. |
47 |
|
48 |
-------- |
49 |
|
50 |
Q: Since you're already repackaging the plugins, what's the point of |
51 |
vim-plugin.eclass? |
52 |
|
53 |
A: It handles installation in /usr/share/vim/vimfiles, plus the updating |
54 |
of help tags (by calling update_vim_helptags from vim-doc.eclass), |
55 |
and updating the "after" scripts (see :help after-directory) for |
56 |
syntax files. |
57 |
|
58 |
-------- |
59 |
|
60 |
Q: Why did you put update_vim_helptags in a separate eclass? |
61 |
|
62 |
A: Because emacs might want to use it. Just kidding! Because it is |
63 |
called by both vim-plugin.eclass and vim.eclass for updating the vim |
64 |
help tags (/usr/share/vim/vim62/doc/tags). |
65 |
|
66 |
-------- |
67 |
|
68 |
Q: How do I _use_ the plugins? |
69 |
|
70 |
A: First, emerge them. Then go read the documentation on the HOMEPAGE |
71 |
listed in the ebuilds. |
72 |
|
73 |
-------- |
74 |
|
75 |
Q: Neato. How do I suggest my favorite plugin for inclusion in portage? |
76 |
|
77 |
A: Provide an ebuild via bugs.gentoo.org. Attach a tarball formatted |
78 |
like the ones already available. If there's a license to be |
79 |
verified, I can handle that part, or you can write an email to the |
80 |
author asking for the information, and cc me. :-) |
81 |
|
82 |
Thanks & Enjoy, |
83 |
Aron |
84 |
|
85 |
-- |
86 |
gentoo-dev@g.o mailing list |