sponsor Vim development Vim logo Vim Book Ad

aa : A plugin for managing time and note taking

 script karma  Rating 0/0, Downloaded by 555  Comments, bugs, improvements  Vim wiki

created by
Renato Fabbri
 
script type
utility
 
description
(the formatting is broken because this is a Vim help file.
Might be ok if you use a mono font.
Install this plugin to have a nicely formated documentation)

*aa.txt*        A plugin for managing time and note taking        version 0.01b
                     __                    __    
                    /\  \                   /\  \    
                   /::\  \                 /::\  \  
                  /:/\:\  \               /:/\:\  \  
                 /::\~\:\  \            /::\~\:\  \
                /:/\:\ \:\__\         /:/\:\ \:\__\
                \/__\:\/:/  /         \/_\:\/:/  /
                     \::/  /                 \::/  /
                     /:/  /                  /:/  /  
                    /:/  /                  /:/  /  
                    \/_/ lgorithmic  \/_/ utoregulation

==============================================================================
CONTENTS                                                            *aa-index*
                           *aa*

    1. Intro                                    |aa-intro|
        1.1. AA (Algorithmic Autoregulation)    |AA|
             |aa-shout|  |aa-literature|  |aa-shout-usage|
             |aa-session|  |aa-slot|  |aa-repr|  |aa-plugin|

        1.2. Related plugins                    |aa-related-plugins|
        1.3. Usage examples                     |aa-usage-examples|
        1.4. |aa| help                            |aa-helphelp|
             |aa-help-cheatsheet|, |aa-cheatsheet|

    2. Install                                  |aa-install|
             |aa-install-recommended|  |aa-install-Vimball|
             |aa-install-root|  |aa-prv|

    3. Options, variables and general settings  |aa-settings|
                                                |aa-options|
             |aa_g:aa|  |aa-leaders|  |aa_leader|  |aa_localleader|
             |aa-session-cues|  |aa-color-columns|  |aa-speech|
             |aa-hack-settings|

    4. Mappings                                 |aa-mappings|
             |aa-shout-mappings|  |aa-session-mappings|
             |aa-hack-mappings|  |aa-general-mappings|

    5. Commands                                 |aa-commands|
             |aa-main-commands|  |aa-util-commands|

    6. Functions                                |aa-functions|
             |aa-implementation|

    7. Files                                    |aa-files|
             |aashouts.txt|  |aasessions.txt|  |aa.vim|
             |aashouts.vim|  |aa-syntax|  |aaftdetect.vim|
             |aastartup.vim| |aa-aa.txt|

    8. Final words                              |aa-final-words|
        8.1. Advantages and drawbacks of |aa|     |aa-compare|
        8.2. Further work / Todo                |aa-todo|
        8.3. |AA| Tradition                       |aa-tradition|
             |aa-activism|

        8.4. Disclaimer                         |aa-disclaimer|
        8.5. License                            |aa-license|
        8.6. Acknowledgements                   |aa-ack|
        8.7. Contact                            |aa-contact|


==============================================================================
1. Intro                                                            *aa-intro*

This plugin enables the |AA| personal time-tracking and note-taking mechanism
inside Vim.

|AA| as been useful for personal and collective work-forces, in both
professional and voluntary dedication, employing either formal and informal
logging of shouts, for scientific research and for software development (see
|aa-literature|).  This plugin holds considerable advantages over the
preceding implementations, although the sharing interface is not still
implemented and it is in a very early stage of development.  See |AA| and
|aa-compare|

Its use is very context dependent, and in many cases maximal exploitation is
achieved by also using other advanced self-management facilities, such as
Vimwiki.  See |aa-related-plugins|

------------------------------------------------------------------------------
1.1. AA (Algorithmic Autoregulation)                                      *AA*
                                                                    *aa-shout*

The main idea of AA is sending messages, which are notes about ongoing work
(but not strictly) for managing personal or group dedication, sharing ongoing
processes, automated documentation of efforts, self-transparency, and other
resounding goals.  Such messages are herein called _shouts_.  This method (or
strategy) has proved itself valuable though time, specially in fine-tuning
efforts and tackling complex tasks. [1][2][3][4]  One might also want to look
at the Pomodoro Technique for time management.

                                                               *aa-literature*
[1]: Fabbri, R. (2017). The Algorithmic-Autoregulation (AA) Methodology and
Software: a collective focus on self-transparency.
arXiv preprint https://arxiv.org/abs/1711.04612
[2]: Fabbri, R., Fabbri, R., Vieira, V., Negrao, A., Zambianchi, L.,
Mendonça, M., ... & Shiga, D. (2013). AA: The Algorithmic Autoregulation
(Distributed Software Development) Methodology.
arXiv preprint https://arxiv.org/abs/1604.08255
[3]: https://github.com/ttm/aa01
[4]: http://wiki.nosdigitais.teia.org.br/Lab_Macambira

The use of shouts is by no means strict.  As |AA| is straight-forward meant
for the user to harness its mechanisms, one should continually adapt its use
to fit personal needs and desires.  Propaganda shouts are considered useless,
a deviation from the purposes of AA, and are most often found in shouts from
new users.  Notes about ongoing tasks are preferred against those exhibiting
finished products, although a note on finishing something is often the most
appropriate shout.  See |aa-usage-examples|

                                                                  *aa-session*
These shouts might or not be grouped into sessions, which are sets of
consecutive (and usually also somewhat periodic) shouts.  Sessions are often
dedicated to some ongoing project or task, might be the recipient of other
media, such as a video screenscast or a final message, and metadata, such as
rating by other |AA| users.

                                                                     *aa-slot*
Most traditionally, a session is comprised of 8 slots of 15 minutes.  One
should send a shout at the beginning of the session and after each slot is
finished.  Sometimes a tolerance of +- 5 minutes is used as a reference, but
it is all up to the user, of course.  Slot duration ranges from about a minute
to hours.

                                                                     *aa-repr*
|AA| shouts and sessions have traditionally been represented as texts, with
e.g.  videos and blogs being uploaded in any third-party online platform, and
then the URLs used as convenient.

                                                                   *aa-plugin*
|aa| is a plugin for using |AA| inside Vim.  With |aa| you can:
    - Write a shout at any time, with convenient mappings and commands.
      See |aa-shout-mappings| and |aa-commands|
    - Keep track of your shouts, edit and input them though automated routines
      or editing |aashouts.txt| directly as a normal file in Vim.
    - Make AA sessions, with visual and audio cues for: slots finished, shouts
      expected, time inside a session of a slot or a session, etc.
      See |aa-mappings|
    - Have a clear understanding of AA state (shouts, sessions, paths,
      initialization, variables) with convenient mappings.  See |aa-leader-i|
    - Hack a very tweak-friendly interface of functions, commands and
      mappings.  See |aa.vim|
    - Share your shouts and sessions with other AA users through linked data
      protocols (RDF, SparQL, OWL, etc).  Not Implemented, see |aa-todo|

------------------------------------------------------------------------------
1.2. Related plugins                                      *aa-related-plugins*

|aa| is being developed as part of the PRV (Python, RDF and VIM) framework.
One might benefit from the other PRV plugins:
    - |prv| is a set of utilities that I used in a disordered manner beforehand:
      save and load sessions, mappings, functions, syntax highlighting, etc.
    - |realcolors| is a set of utilities for tweaking and creating 24 bit 'true
      color' color schemes for Vim.  The color schemes, default color sets,
      ways to navigate the color space, and more are obtained through
      techniques derived from psychophysics, data visualization, and simple
      mathematics.
    - |tokipona| is a set of utilities for the Toki Pona minimalist conlang:
      syntax highlighting, vocabulary mining, text synthesis, and preliminary
      Toki Pona wordnets.

Other plugins are envisioned in PRV, partly mentioned in the documentation:
    https://github.com/ttm/prv

Vimwiki has been very symbiotic with my |aa| usage.
See the |aa-bare-vim-wiki| intended.

Please suggest me other plugins.

------------------------------------------------------------------------------
1.3. Usage examples                                        *aa-usage-examples*

As |AA| is a very open methodology, there are countless ways to use AA.  The
core ideas are given in |aa-intro|. This section presents some procedures
which might be followed while using |aa|.

In writing some documents (say scripts and latex files), one has many ideas
about possible enhancements and recognizes potential bugs.  These notes might
be taken without leaving the window by using |aa-leader-a|.  More elaborate
notes might be taken using |aa-leader-A| at any time, editing directly the
shouts.txt (see |aashouts.txt|).  To access the notes, one might use
|aa-leader-v|, |aa-leader-t| and |aa-leader-e|, as explained in |aa-mappings|

A researcher and developer with many tasks relating to diverse subjects is
trying to better keep track of the ideas and issues that spark all the time,
while having focus on the intended tasks for relevant periods of time.  He
adopts the standard |AA| session of 2h: 8 slots of 15 minutes each.  Such
sessions (and variations) are conveniently started wih |aa-leader-s|,
|aa-leader-S|, and |aa-leader-localleader-S|, while |aa-leader-l|,
|aa-leader-L|, and |aa-leader-O| assists sessions by providing the selected
info of: time left in slot, time since slot started, session on.  Full context
is exposed with |aa-leader-i|

A newbie starts using |aa|.  First she starts to test the mappings and write
shouts with notes about how to use |aa|.  Next, she writes new mappings, some
based on those notes, and starts hacking |aa| functions in order to achieve
desired functionalities.  Eager to use shouts with appropriate tagging
mechanisms, she uses `:lv` to browse though tags created on the fly.  Finally,
the enhancements are sent for evaluation to the main |aa| repository as a pull
request or a Git patch.

------------------------------------------------------------------------------
1.4. |aa| help                                                   *aa-helphelp*

Reload this help file (:e<CR> or :e %) to edit it, as specified in the final
line of this aa.txt file (see :h modeline).
Render the |aa| help tags e.g. with

    `:helptags %`
    (Press TAB and then remove the aa.txt at the end)

Please enhance this documentation within this or another file e.g. by copying
./aa.txt to ./anything.txt as a template.

                                                          *aa-help-cheatsheet*
Standard Highlighting and functions:
    *Tag*
    |hyperlink|
    'option'
    `:command` >
    function SomeFunc()
        echo "Yes, I am verbatim"
    endf
<    |AFunction()|
    {braces} CTRL-X <Left>
    Column heading~
    Note Notes

More details in $VIMRUNTIME/syntax/help.vim, and in browsing other help files.

These require tabs (use `:se list!` to see them):
*Todo something to do
*Error something wrong
        *Todo   make a syntax rule to always color the line when starting with
                                    ^\s{x,y}\*\U.
                If possible, color the line according to a calculation leading
                the *<token> to RGB space.
    
Mannerisms and default usability:
    `:se ft=`      to see the chars being used in formatting the help file
    `:se ft=help`  set syntax again (reload with `:e<CR> `usually works as well)
    Copy aa.txt or any other help file as a template
    You might follow any tag with <C-]>.
    You see every incidence of a tag in current file with
                `:lv /|tag< remove me>|/ %`
                (% might be replaced to any path according to {file})
                Similarly:
                `:lh |tag< remove me>|`
                and then `:lop` to navigate the lines where they occur
                (also, :vim and :helpg with :copen)
    Type `:h aa-` and press <C-D> to see all the matches.
    You reach a list of all |aa| tags with `:ts` /aa or with `:h aa-index`
    If you load aa.txt not using a help-related command, the tags available
    will only be related to aa.vim, and browsing documentation with external
    tags becomes broken.

The documentation does not leave much more information about conventions
on help files.  Check $VIMRUNTIME/syntax/help.vim for more details.


                                                               *aa-cheatsheet*
Just look into |aa-mappings| and |aa-options|.


==============================================================================
2. Install                                                        *aa-install*

There are various ways to install Vim plugins.  If you have not picked your
preferred way, this section summarizes what I understand about the issue.

In Vim manual (e.g. see |usr_toc|), a Vim plugin is described as a single file,
which is sourced at startup right after vimrc according to `:h` 'rtp'

                                                       *aa-install-recomended*
The way I find most clean and simple is to copy the whole |aa| file tree to
any pack/*/opt/ directory in your 'runtimepath', such as .vim/pack/prv/opt/.
This might be done for any plugin, with care for eventual after/ directories,
as described in |prv-after|

Then put:
    `packadd aa`
in your vimrc.

The correspondent pack/*/*/opt/aa directory is added to the base directories
(stored in 'runtimepath') where Vim looks for standard directories and files.
If you have problems, close and open Vim again.

                                                                      *aa-prv*
This plugin is being developed as part of the PRV framework.  |aa|, at the
moment, uses only the `:PRVBuf`  and `:PRVLeader` commands, which are copied
into aux/prvdependence.vim and sourced when prv is not found loaded.

If you want to integrate |prv| and |aa|, the best and easiest way is just to
clone |prv| into pack/ttm/prv/ and add `:packadd prv` to vimrc before
`:packadd aa` NOTE: you do not need to initialize |prv| (with `:PRVInit`),
which will add all |prv| mappings to your session.  NOTE: you may change ttm/
to any directory.  This layers is only for organization of the packages.

                                                          *aa-install-vimball*
Also, this same installation is performed with Vimball: >

        vim aa.vmb
        :so %
        :q

<Download the Vimball e.g. from vim.org.
It will place the files in the pack/ttm/opt/aa/ dir as explained above, so you
need to put the `packadd aa` line in yout vimrc.

                                                             *aa-install-root*
You might also just clone all PRV repository:
    $ git clone https://github.com/ttm/prv ~/.vim/

and use |aa| with all PRV facilities, including |prv|, as described in
|aa-related-plugins|.  You might want to substitute vimrc, filetype.vim,
script.vim, and other template files with your own.


==============================================================================
3. Options, variables and general settings                        *aa-options*
                                                                 *aa-settings*

Most importantly in ordinary |aa| usage, when starting a session, you set the
duration of the slot and the number of slots.  See |aa-session-mappings|

                                                                     *aa_g:aa*
The variables related to |aa| are all kept in the |g:aa| global variable.  The
only exception is the leader and localleader specified through |prv| as
follows.

                                                                  *aa-leaders*
                                                                   *aa_leader*
                                                              *aa_localleader*
The leader and localleader might be set to any key sequence, it might be the
same as your default leader and localleader, but need not to be.  This is
achieved using |prv| (see |prv-leaders| or |aa-prvdependence.vim| to know how
this is achieved), with a mechanism also used in other plugins.  To set your
leader and localleader to X and Y, only for |aa|, put this line in your vimrc:

            `let g:prvset = {'leaders' : {'aa': [X, Y]}}`

                                                           *aa-session-cues*
                                                           *aa-color-columns*
                                                           *aa-speech*
As a way to better support |AA| sessions, |aa| uses both visual cues (color
columns, info panel) and sonic cues (some info is embeded in the synthesized
speech).  Speech might be turned off by setting g:aa.say=0 and g:aa.saytime=0.

All these settings are in the AAInitVars function in |aa.vim|, with other
directives that might be used to set |aa| according to the next paragraph.

                                                           *aa-hack-settings*
|aa| is settable in many ways because it deals with writting notes in a few
files:
- One might set different files from |aashouts.txt| and |aasessions.txt|
- Or a different directory that aux/ inside |aa| tree.
- Set and tweak mappings for shouts, sessions, hacks, general use.
- Tweak the commands and functions or write new ones.
- Change the spoken sentences or the color column as the visual cue.
- Add features that fit the use intended.
See |aa-files|

These might all be set in |aa.vim|


==============================================================================
4. Mappings                                                      *aa-mappings*

                                                           *aa-shout-mappings*
*aa-leader-a* : write a one-line shout
*aa-leader-A* : write an arbitrary shout directly in |aashouts.txt|
*aa-leader-e* : edit |aashouts.txt|
*aa-leader-v* : vertical split for |aashouts.txt|
*aa-leader-t* : tab for |aashouts.txt|
*aa-leader-localleader-t* : echoes the time since last shout

                                                         *aa-session-mappings*
*aa-leader-s* :  start new session (command line set it and start)
*aa-leader-S* : start a lightning |AA| session (3 slots of 5 min each)
*aa-leader-localleader-S* : start default |AA| session
(8 slots of 15 min each) with a dummy message
*aa-leader-V* : vertical split for |aasessions.txt|
*aa-leader-l* : echoes the time left in slot. See |aa-slot|
*aa-leader-L* : echoes the time spent in slot
*aa-leader-o* : echoes if an |aa-session| is on
*aa-leader-localleader-r* : registers that a shouts has been given
*aa-leader-localleader-R* : registers that a shout is requested.
(both -r and -R mappings updates the visual cue because they are followed
the routine used by this command:)
*aa-leader-u* : updated color columns (if for any reasons the number of
requested shouts do not match the visual cue.

                                                            *aa-hack-mappings*
*aa-leader-h* : open the |aa-aux| directory
*aa-leader-H* : open |aa.txt| in the context of a help file
(i.e. within the proper |tags| settings)
*aa-leader-localleader-h* : vertical split for |aa.vim|.
*aa-leader-localleader-H* : vertical split for the last sourced file of the
|aa| plugin: |aastart.vim|

                                                         *aa-general-mappings*
*aa-leader-c* : clear namespace used by |aa| (ask to confirm)
*aa-leader-C* : clear namespace used by |aa| (no confirm)
*aa-leader-i* : echoes info about the the state of |aa| (times, shouts,
session, slots, etc)
*aa-leader* : same as |aa-leader-i|
*aa-leader-localleader-I* : initialize |aa| (start internal state variables)
*aa-leader-T* : echoes current time and date
*aa-leader-r* : open a vertical split with all the contents of the |g:aa|
variable.
*aa-leader-m* : show all the |aa| mappings in alphabetical order.


==============================================================================
5. Commands                                                      *aa-commands*

The functionality of the |aa| plugin is centered around these two commands:

    *:A* {shout}
            Registers the message {shout} in |aashouts.txt|
    
    *:S* {dur} {nslots}
            Start a session.
            {dur} is the duration of a slot in minutes.
            {nslots} is the number of slots in the session.
            See |aa-session|

The idea is to send (at least) one shout each slot, as a way to keep a record
of the dedication.  More shouts are often useful as notes and enhanced
records.

                                                            *aa-main-commands*
As explicit in |aa.vim|, the main commands are `:A`, `:S`, `:Ac`, `:Ai`,
`:AI`, for sending a shout, starting a session, clearing |aa|, info on |aa|
and initialization, respectively.


                                                            *aa-util-commands*
The utils commands are `:AR`, `:At`, `:AT`, `:As`, `:Ao`, `:Au`, for registering
a shout given, a shout wanted/requested, echoing the time left or spent in
a slot, the time since last shout, if there is an ongoing |aa-session|, and for updating the color columns (related to the finished slots which did not receive a shout), respectively.


==============================================================================
6. Functions                                                    *aa-functions*

                                                           *aa-implementation*
For now, all functions are used directly only by the commands, and the
mappings use only Vim default commands or |aa-commands|.  Thus, |aa| is all
built on functions, with the exception of a few mappings which implement some
functionalities directly.  The commands are used to organize the
functionalities yield by the functions, and are then used by the mappings.
Functions are organized in main (receive shout, start session, init and info),
utils (check if |aa| is initialized, if session is on, register that a shout
has beed given, time left and spent in a slot, time since last shout, clear),
aux (routines used by main and utils).
See |aa.vim| to access all the functions.


==============================================================================
7. Files                                                            *aa-files*

aux/*aashouts.txt*
In this file, the shouts are stored in plain text.  Each shout ends with two
special lines: the date and 5 minus signs ('-----').  Sessions are marked with
five dolar signs ('$$$$$') and two empty lines before (when session starts) or
after (when session ends).  A very simple syntax highlighting is implemented
for this file.  See |aa-syntax|

aux/*aasessions.txt*
This file holds information on the sessions started.  Each session start
triggers the storage of the time and date of the starting session, the
duration of the slots and the number of slots.  If the session ended, a line
with the time and date is added to the file.

plugin/*aa.vim*
The main source file of the |aa| plugin.

ftplugin/*aashouts.vim*                       *aa-syntax*
Not to be confused with |aashouts.txt|, this file holds the (very simple)
syntax highlighting used for |aashouts.txt|.

ftdetect/*aaftdetect.vim*
A simple routine to set the filetype of the files in |aa|.  Currently only
sets ft=aashouts for |aashouts.txt|, which enables the syntax highlighting.

after/plugin/*aastartup.vim*
A minimalistic set of final startup commands for |aa| given that the main
source (|aa.vim|) is loaded.  Being discarded because the after/plugin/
directory in pack/*/*/(opt or after) are not sourced by default (|prv| might
have facilities for this soon).  We have been discussing on the vim_use
mailing list about this issue, and it might not be a good strategy to have and
after/ directory for a plugin.  The issue is still being understood (at least
by me).

after/plugin/*prvdependence.vim*
Holds the very few routines from |prv| which are crucial to |aa|, as explained
in |aa-prv|.

*aa-aa.txt* (doc/|aa.txt|)
This very help file.
See |aa.txt|


==============================================================================
8. Final words                                                *aa-final-words*

While this is a "yet another |AA| implementation", this is the first implemented
carefully for Vim.
Next few paragraphs cover some considerations about this context.

------------------------------------------------------------------------------
8.1. Advantages and drawbacks of |aa|                             *aa-compare*

A detailed consideration of |aa| against other |AA| implementations might be
achieved by carefully reading this file and the documents in |aa-literature|.
Most evidently:
- |aa| is very hack-friendly by being embedded in Vim and written in VimL,
  which entails that one may write routines in a very slick scripting language
  (VimL) with all the resources at hand of a very well developed platform
  (Vim).
- |aa| has not yet received routines to push the shouts (and sessions) to the
  cloud, which have been a core feature of all other |AA| implementations.
- Shouts in |aa| might be corrected, noted, enhanced in any way the user
  wishes.  This is an advance, for all other implementations send the shouts
  to the cloud as soon as the user typed a shout command.
- The info mapping |aa-leader-i| (and command `:Ai`) is a considerable
  enhancement over last state probing commands in any |AA| implementation.
- The use of the |AA| methodology inside Vim, enabled by |aa|, with timers and
  jobs, makes for a very seamless experience.

------------------------------------------------------------------------------
8.2. Further work / Todo                                             *aa-todo*

As |AA| is very loose and intended to fit a large spectrum of contexts, and
|aa| is very hackable (see |aa-compare| and |aa| in general), the
possibilities and notes for enhancements are numerous.  Even so, any comments
by users are very deeply considered, for |AA| in known to have important and
non-trivial aspects.

The following list is what remains after this initial |aa| implemtation:
* See if and how doxigen or Sphinx deals with VimL
* implement optional margin around slot endings to receive a shout.
* enable the use of parallel sessions (e.g. for different duration slots)
* Routines to send shouts to cloud (SQl, MondDB or RDF preferably).
  I.e., implement publishing routines for the shouts (and sessions):
    - data should be sent to Data.Wold, DataHub, os similar and made available
      in RDF/linked data
    - internally, the date line yields a reasonable ID for a shout or session
      (maybe remove spaces).
      For sharing, the id shoud be: user-datestring
    - let a user share any number of info in a dedicated file, parsing it to
      rdf
* make a cool window for |aa| info with syntax highlighting
* make declare shout sent/request with or without influecing in the
  slots-shout count
* use :later and :earlier to compare a current file with that of the beginning
  of a session or last x sessions or at last x shouts.
  Maybe keep records of localtime() internally or an auxiliary file.
  Find a reasonable way to have undo-s specific to a line (and range if
  possible)

                                                            *aa-bare-vim-wiki*
I have been thinking about maintaining a wiki on bare Vim because it should
yield a very simple and functional system:
    - use <CR> to create a path with the filename under the cursor,
      as does Vimwiki
    - maybe use <Space><Cr> to decorate (link, tag-link, tag-reference,
      (option,command,function)-(link or reference)
    - exploit deeply the concept of a "react-wiki": hypertexts with executable
      code.
    - use a directory as wiki root,
    - use a new or standard suffix (e.g. *.mwiki)?
    - use gf to follow pages
    - write token or word with starting / or . if internal link intended
    - reuse Vim's capabilities with help files and (parallel help files?) with
      tags and searching (and what more?).
    - integrate with |aa| and the rest of PRV.  See |aa-related-plugins|
    - manage to link paths of wiki pages and of repository trees.
      E.g. .py files use a specific &path, .vim files, other &path etc...
    - it might be condensed in just a couple of settings with optional
      advanced functions
    - it should be very friendly to making collage of files to render, e.g. a
      latex or HTML file.

------------------------------------------------------------------------------
8.3. |AA| Tradition                                             *aa-tradition*
                                            
                                                                 *aa-activism*
|AA| has often been envisioned and used for social transformation.
Examples:
* |AA| is recurrently understood as a way to testify for dedication,
  thus opening a possibility for one to claim the bounty that fits the time
  spent on a collective welfare (goals, ethic principles, knowledge, etc).
  This has happened both in relation to the government (one might ask for
  resources in a public institution), and in relation to the academy (one
  might ask for |AA| shouts to be taken into account when productivity is
  evaluated.
* Users often think about |AA| as a self-transparency mechanism, in which
  he/she makes public some internals about current dedications. There are
  cases that range from extreme (almost all activity is logged into |AA|) to
  very modest (some shouts are shared occasionally).
* Groups of developers use |AA| as a way to share ongoing work and make
  software with a diminished need for meetings, emails, etc.

------------------------------------------------------------------------------
8.4. Disclaimer                                                *aa-disclaimer*

                |AA| is the Ambiguous Acronym.

                  Public domain technology
          (conceptualization, code, documents, etc)

    Run this command-line command in your command-line prompt:

  :cal timer_start(300, 'CrazyFu', {'repeat': 10}) |
  \ :exe "fu! CrazyFu(timer) \n exec 'hi Normal guibg=#'.(
  \ system(\"echo $RANDOM$RANDOM\")[:5]) \n endf"

(select the line with <C-V>, then move until all lines are selected, then
press :@*<CR>)

                 See |aa-related-plugins|

         ) ( /\/\/\/\/\ _o_o_ oOo _o_o_ /\/\/\/\/\ ) (

------------------------------------------------------------------------------
8.5. License                                                      *aa-license*

Copyright: Public Domain.

------------------------------------------------------------------------------
8.6. Acknowledgements                                                 *aa-ack*

- Vim users and developers
- vim_use email list (discussion forum)
- Cristina Ferreira de Oliveira (PhD, VICG/ICMC/USP),
- FAPESP (project 2017/05838-3, lead by Cristina)
- Ricardo Fabbri (PhD, IPRJ/UERJ)

------------------------------------------------------------------------------
8.7. Contact                                                      *aa-contact*

You may write me directly at renato [?dot] fabbri [a?t] gmail [dot?] com

Other possibilities are:
- write to other |AA| users at listamacambira@googlegroups.com
- write to the vim_use email list
- ask around: your friends/colleges which use Vim, any forum, etc.


vim:ma:noro:tw=78:ts=8:ft=help:sua+=.txt:norl:sts=4:sw=4:et:
 
install details
=== INSTALL ===


There are various ways to install Vim plugins.  If you have not picked your
preferred way, this section summarizes what I understand about the issue.

In Vim manual (e.g. see |usr_toc|), a Vim plugin is described as a single file,
which is sourced at startup right after vimrc according to `:h` 'rtp'

                                                       *aa-install-recomended*
The way I find most clean and simple is to copy the whole |aa| file tree to
any pack/*/opt/ directory in your 'runtimepath', such as .vim/pack/prv/opt/.
This might be done for any plugin, with care for eventual after/ directories,
as described in |prv-after|

Then put:
    `packadd aa`
in your vimrc.

The correspondent pack/*/*/opt/aa directory is added to the base directories
(stored in 'runtimepath') where Vim looks for standard directories and files.
If you have problems, close and open Vim again.

                                                                      *aa-prv*
This plugin is being developed as part of the PRV framework.  |aa|, at the
moment, uses only the `:PRVBuf`  and `:PRVLeader` commands, which are copied
into aux/prvdependence.vim and sourced when prv is not found loaded.

If you want to integrate |prv| and |aa|, the best and easiest way is just to
clone |prv| into pack/ttm/prv/ and add `:packadd prv` to vimrc before
`:packadd aa` NOTE: you do not need to initialize |prv| (with `:PRVInit`),
which will add all |prv| mappings to your session.  NOTE: you may change ttm/
to any directory.  This layers is only for organization of the packages.

                                                          *aa-install-vimball*
Also, this same installation is performed with Vimball: >

        vim aa.vmb
        :so %
        :q

<Download the Vimball e.g. from vim.org.
It will place the files in the pack/ttm/opt/aa/ dir as explained above, so you
need to put the `packadd aa` line in yout vimrc.

                                                             *aa-install-root*
You might also just clone all PRV repository:
    $ git clone https://github.com/ttm/prv ~/.vim/

and use |aa| with all PRV facilities, including |prv|, as described in
|aa-related-plugins|.  You might want to substitute vimrc, filetype.vim,
script.vim, and other template files with your own.
 

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
aa.vmb 0.01b 2018-03-01 8.0 Renato Fabbri Initial upload
ip used for rating: 3.138.141.202

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
   
Vim at Github