PageRenderTime 57ms CodeModel.GetById 27ms RepoModel.GetById 1ms app.codeStats 0ms

/README.rst

https://github.com/landonb/dubsacks
ReStructuredText | 223 lines | 158 code | 65 blank | 0 comment | 0 complexity | 25f05869c4510a0c3713a48215c1c2c4 MD5 | raw file
Possible License(s): GPL-3.0
  1. ########
  2. Dubs Vim
  3. ########
  4. Dubs Vim is just one developer's Vim IDE (or very close to it).
  5. Project Overview
  6. ================
  7. This project is essentially just the lightweight
  8. top-level ``~/.vim`` directory that I use.
  9. Almost all functionality is provided by installing other projects using
  10. the (newish) ``package`` mechanism, i.e., cloning repositories under
  11. ``~/.vim/pack/<author>/start/<project>``.
  12. Rather than hook projects as git submodules, each user is expected to
  13. manage their own repositories.
  14. - This author recommends the excellent
  15. `myrepos <https://myrepos.branchable.com/>`__
  16. multiple repository manager, which pairs well
  17. with this author's myrepos extensions and actions,
  18. https://github.com/landonb/ohmyrepos
  19. Project Highlights
  20. ==================
  21. If nothing else, hopefully you'll find the list of suggested third-party
  22. plugins to be useful. While not completely representative of all the best
  23. plugins -- it's by no means an inclusive Awesome List -- it represents
  24. some of the best plugins I've found, and that I still find to be useful.
  25. I've also written dozen of plugins over the years, to fill in the gaps as
  26. necessary. Hopefully you'll find these plugins of interest, as well.
  27. - For convenience, this project installs a help file compiled from all my
  28. personally authored help docs, to provide a single point of reference
  29. (as there are many, many commands and mappings defined).
  30. Feature Overview
  31. ================
  32. See `Dubs Vim Reference <doc/README-USING.rst>`__
  33. for a complete list of features of my plugins,
  34. or browse the more terse online help, ``:help dubs-vim``.
  35. Install as Normal Package
  36. =========================
  37. If you plan to install the Dubs Vim plugins and want the single-page
  38. help, install this project, too.
  39. Using the built-in packages feature, you can simply clone this project
  40. to a ``start`` directory under ``~/.vim/pack``, e.g.,
  41. .. code-block:: bash
  42. mkdir -p ~/.vim/pack/landonb/start
  43. git clone git://github.com/landonb/dubs-vim.git ~/.vim/pack/landonb/start
  44. If you want access to the best features, install additional packages.
  45. - On Ubuntu, one might run, e.g.,
  46. .. code-block:: bash
  47. sudo apt install -y \
  48. vim-gtk \
  49. silversearcher-ag \
  50. exuberant-ctags \
  51. par \
  52. ruby-dev
  53. - Dubs Vim also works well with
  54. `ripgrep <https://github.com/BurntSushi/ripgrep>`__
  55. (which you can install yourself).
  56. Once cloned and addition packages are installed,
  57. restart Vim and rebuild the inline help docs.
  58. From within Vim, run.
  59. .. code-block:: vim
  60. :Helptags
  61. Install as Top-level Vim Directory
  62. ==================================
  63. If your user does not already have a ``~/.vim`` directory, you
  64. can clone the repository to your user's home directory, and then
  65. create a symlink at ``~/.vimrc``. E.g.,
  66. .. code-block:: bash
  67. cd
  68. git clone git://github.com/landonb/dubs-vim.git .vim
  69. /bin/ln -s .vim/.vimrc .vimrc
  70. Next Steps
  71. ----------
  72. Install Dubs Vim packages
  73. ^^^^^^^^^^^^^^^^^^^^^^^^^
  74. .. FIXME/2020-02-26: Document.
  75. Install third-party packages
  76. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  77. .. FIXME/2020-02-26: Document.
  78. Read the documentation
  79. ^^^^^^^^^^^^^^^^^^^^^^
  80. See `Dubs Vim Reference <doc/README-USING.rst>`__
  81. for a list of commands and keyboard shortcuts.
  82. The online help, ``:h dubs``, is an abbreviated
  83. list of the same.
  84. Configure, personalize, dismantle, etc.
  85. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  86. There are a few features you'll need to prime before
  87. they'll be of any utility.
  88. 1. Make project symlinks for Command-T wrapper.
  89. The ``<Ctrl-D>`` command pops up Command-T and points
  90. it at the first directory named ``cmdt_paths`` that
  91. it finds within the ``~/.vim`` folder.
  92. When you run Dubs Vim for the first time, it'll copy the file,
  93. ``pack/landonb/start/dubs_file_finder/cmdt_paths.template``,
  94. to ``cmdt_paths`` in the same directory.
  95. (You can move this directory somewhere private, to
  96. put it under your own revision control system; then
  97. symlink your path from ``dubs_file_finder/cmdt_paths``.)
  98. Look inside the copied directory and you'll find
  99. a ``generate_links.sh`` script that you can edit
  100. and run to populate the folder.
  101. Currently, it just adds links to your Vim files.
  102. You can also do this manually, e.g.,
  103. .. code-block:: bash
  104. /bin/ln -s /path/to/projectA /path/to/cmdt_paths
  105. /bin/ln -s /path/to/projectB /path/to/cmdt_paths
  106. ...
  107. 2. Make list of folders to be easily greppable.
  108. Open the file ``pack/landonb/start/dubs_grep_steady/dubs_projects.vim``
  109. and add your project paths to the list of projects. This list is displayed
  110. when your search with either ``\g`` or the ``F4`` mappings.
  111. (You can also move this file somewhere private, to
  112. put it under your own revision control system; then
  113. symlink that file from ``dubs_grep_steady/dubs_projects.vim``.)
  114. 3. Hack away.
  115. Like most things Vim, after reading the docs and
  116. testing a new plugin, you'll want to get your hands
  117. dirty. Happy hacking!
  118. Third-Party Distro Package Descriptions
  119. ---------------------------------------
  120. Following is an explanation of the optional
  121. ``aptitude`` packages that can be installed
  122. to enable more features:
  123. - `The Silver Searcher <http://geoff.greer.fm/ag/>`__
  124. is a nice alternative to the built-in `grep` family
  125. of commands, especially since it honors `.gitignore` files.
  126. - `ripgrep <https://github.com/BurntSushi/ripgrep>`__
  127. is an even faster alternative to ``ag`` (and is may have
  128. to be manually installed).
  129. - `Exuberant Ctags <http://ctags.sourceforge.net/>`__
  130. lets you jump to function definitions using ``Ctrl-]``.
  131. (You'll have to run ``ctags`` on your source
  132. to generate one or more ``tags`` files first;
  133. it's best if you can wire this into your local CI.)
  134. - `Par <http://www.nicemice.net/par/>`__
  135. lets you reformat text to a preset width (e.g., press ``Shift-F2``
  136. to intelligently resize a selected text block of code to 80
  137. characters wide, preserving indents, prefixes and postfixes).
  138. - We include the `ruby-dev` library so we can build
  139. the Command-T binary.
  140. Third-party Vim Plugins
  141. -----------------------
  142. Dubs Vim includes and incorporates
  143. a number of third-party Vim plugins.
  144. You can generally access each plugin's feature using the
  145. normal commands defined by the plugin, but Dubs Vim also
  146. remaps and wraps calls to third-party plugins to make them
  147. more seamless and easy to access.
  148. See the `Dubs Vim Reference <doc/README-USING.rst>`__
  149. for a list of all Dubs Vim commands, including
  150. those provided by other people's plugins.
  151. Disclaimer
  152. ----------
  153. Dubs Vim mostly adds new key bindings not already mapped by
  154. standard Vim or changed by MS-Windows mode (``behave mswin``).
  155. However, a few standard key bindings have been remapped.
  156. You probably won't notice the changes, but you might.
  157. See `Differences from Vim <doc/README-USING.rst#Differences_from_Vim>`__
  158. for the list of binding differences.