startify.txt 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. *startify.txt* Showing recently used files like a boss.
  2. *startify*
  3. __ __ ___
  4. /\ \__ /\ \__ __ /'___\
  5. ____\ \ ,_\ __ _ __\ \ ,_\/\_\/\ \__/ __ __
  6. /',__\\ \ \/ /'__`\ /\`'__\ \ \/\/\ \ \ ,__\/\ \/\ \
  7. /\__, `\\ \ \_/\ \L\.\_\ \ \/ \ \ \_\ \ \ \ \_/\ \ \_\ \
  8. \/\____/ \ \__\ \__/.\_\\ \_\ \ \__\\ \_\ \_\ \/`____ \
  9. \/___/ \/__/\/__/\/_/ \/_/ \/__/ \/_/\/_/ `/___/> \
  10. /\___/
  11. \/__/
  12. ==============================================================================
  13. CONTENTS *startify-contents*
  14. 1.Intro..........................................|startify-intro|
  15. 2.Usage..........................................|startify-usage|
  16. 3.Options........................................|startify-options|
  17. 4.Commands.......................................|startify-commands|
  18. 5.Colors.........................................|startify-colors|
  19. 6.FAQ............................................|startify-faq|
  20. 7.Author.........................................|startify-author|
  21. 8.License........................................|startify-license|
  22. ==============================================================================
  23. 1. Intro *startify-intro*
  24. Startify is a plugin that shows recently used files, bookmarks and
  25. sessions that were saved to a certain directory.
  26. ==============================================================================
  27. 2. Usage *startify-usage*
  28. Startify basically provides two things:
  29. 1) If you start Vim without giving any filenames to it (or pipe stuff to it so
  30. it reads from STDIN), startify will show a small but pretty start screen
  31. which shows recently used files (using viminfo) and sessions by default.
  32. Additionally, you can define bookmarks, thus entries for files that always
  33. should be available in the start screen.
  34. You can either navigate to a certain menu entry and hit enter or you just
  35. key in whatever is written between the square brackets on that line. You
  36. can even double-click anywhere on the line now.
  37. In addtion, 'e' creates an empty buffer, 'i' creates an empty buffers and
  38. jumps into insert mode, 'q' quits.
  39. Moreover, you can open several files at one go. Navigate to an entry and
  40. hit either 'b' (open in same window), 's' (open in split) or 'v' (open in
  41. vertical split). You can do that for multiple entries. You can also mix
  42. them. The order of the selections will be remembered. Afterwards execute
  43. these actions via <cr>.
  44. When the selection is finished, Startify will close automatically. You can
  45. reopen the screen via :Startify.
  46. And you can define your own custom ascii art header now!
  47. 2) It eases handling of loading and saving sessions by only working with a
  48. certain directory. These commands are used for convenience:
  49. :SLoad load a session
  50. :SSave save a session
  51. :SDelete delete a session
  52. The default settings are pretty sane, so it should work without any
  53. configuration.
  54. ==============================================================================
  55. 3. Options *startify-options*
  56. Put these variables into your vimrc. The shown assignments are also the
  57. default values.
  58. ============-
  59. let g:startify_empty_buffer_key = ''
  60. This creates an additional, hidden mapping for the empty buffer.
  61. Example: let g:startify_empty_buffer_key = 'o'
  62. ============-
  63. let g:startify_session_dir = '~/.vim/session'
  64. The directory to save/load sessions to/from.
  65. The default for Windows systems is '$HOME\vimfiles\session'.
  66. ============-
  67. let g:startify_show_sessions = 1
  68. List saved sessions in g:startify_session_dir.
  69. ============-
  70. let g:startify_show_files = 1
  71. List recently used files using viminfo.
  72. ============-
  73. let g:startify_show_files_number = 10
  74. The amount of files to list.
  75. ============-
  76. let g:startify_bookmarks = []
  77. A list of files to bookmark. Those files will always be shown at the bottom of
  78. the start screen.
  79. Example: let g:startify_bookmarks = [ '~/.vimrc' ]
  80. ============-
  81. let g:startify_skiplist = []
  82. A list of Vim regular expressions to filter recently used files.
  83. Example: let g:startify_skiplist = [
  84. \ 'COMMIT_EDITMSG',
  85. \ $VIMRUNTIME .'/doc',
  86. \ 'bundle/.*/doc'
  87. \ ]
  88. ============-
  89. let g:startify_skiplist_server = []
  90. Do not create the startify buffer, if this is a Vim server instance with a
  91. name contained in this list.
  92. Example: let g:startify_skiplist_server = [ 'GVIM' ]
  93. ============-
  94. let g:startify_custom_indices = []
  95. Use any list of strings as indices instead of increasing numbers. If there are
  96. more startify entries than actual items in the custom list, the remaining
  97. entries will be filled using the default numbering scheme starting from 0.
  98. Thus you can create your own indexing scheme that fits your keyboard layout.
  99. You don't want to leave the home row, do you?!
  100. Example: let g:startify_custom_indices = ['a','s','d','f']
  101. This would result in:
  102. [a] /last/recently/used/file1
  103. [s] /last/recently/used/file2
  104. [d] /last/recently/used/file3
  105. [f] /last/recently/used/file4
  106. [0] /last/recently/used/file5
  107. [1] /last/recently/used/file6
  108. etc.
  109. NOTE: There is no sanitizing going on, so you should know what you're doing!
  110. Best practices:
  111. - do not use 'e', 'i' or 'q' (they will be overwritten anyway)
  112. - do not use duplicates (previous mappings will be overwritten)
  113. - do not uses empty strings (creates unreachable entries)
  114. - (you might want to keep 'j' and 'k' for navigation)
  115. ============-
  116. let g:startify_enable_special = 1
  117. Don't show <empty buffer> and <quit>.
  118. ============-
  119. let g:startify_custom_header = ''
  120. This is a list of single-quoted strings to be shown before everything else.
  121. Every string will be written on its own line.
  122. NOTE: If a string contains ', you have to quote it with another '.
  123. Example:
  124. let g:startify_custom_header = [
  125. \ ' __ ___ ______ ____ ',
  126. \ ' \ \ / (_) |____ |___ \ ',
  127. \ ' \ \ / / _ _ __ ___ / / __) |',
  128. \ ' \ \/ / | | ''_ ` _ \ / / |__ <',
  129. \ ' \ / | | | | | | | / / ___) |',
  130. \ ' \/ |_|_| |_| |_| /_(_) |____/ ',
  131. \ '',
  132. \ '',
  133. \ ]
  134. ==============================================================================
  135. 4. Commands *startify-commands*
  136. :SLoad load a session
  137. :SSave save a session
  138. :SDelete delete a session
  139. These take either 0 or 1 argument. If you don't specify the session name as an
  140. argument, they will just ask for it.
  141. Providing only a part of the session name works too, if you complete the
  142. argument with either <c-d> or <tab> afterwards.
  143. :Startify
  144. Open the startify buffer.
  145. ==============================================================================
  146. 5. Colors *startify-colors*
  147. You can overwrite the highlight groups used by startify. The plugin defines
  148. these groups:
  149. StartifyBracket [,]
  150. StartifyFile the actual file
  151. StartifyHeader the custom header
  152. StartifyNumber the numbers between []
  153. StartifyPath the path to a file
  154. StartifySlash slashes in paths
  155. StartifySpecial <empty buffer>,<quit>
  156. Example: (my terminal emulator supports 256 colors)
  157. hi StartifyBracket ctermfg=240
  158. hi StartifyHeader ctermfg=203
  159. hi StartifyNumber ctermfg=215
  160. hi StartifyPath ctermfg=245
  161. hi StartifySlash ctermfg=240
  162. ==============================================================================
  163. 6. FAQ (Or: Typical rants) *startify-faq*
  164. "I don't want the start screen to use cursorline!"
  165. --------------------------------------------------
  166. Startify sets its own filetype "startify". Thus one could set buffer-local
  167. options like this:
  168. autocmd FileType startify setlocal nocursorline
  169. "Last recently used files don't seem to get updated at :Startify!"
  170. -----------------------------------------------------------
  171. It's because Vim loads the list from viminfo only once, at startup.
  172. "I use iTerm2 and have broken colors when using sessions!"
  173. ----------------------------------------------------------
  174. Nothing this plugin could do about. Try playing around with 'sessionoptions'.
  175. Some people swear it works for them with these settings:
  176. set sessionoptions=blank,curdir,folds,help,tabpages,winpos
  177. ==============================================================================
  178. 7. About the author *startify-author*
  179. My nick on Freenode IRC is mhi^.
  180. For latest developments: https://github.com/mhinz
  181. If you use any of my plugins, star it on github. This is a great way of
  182. getting feedback! Same for issues or feature requests.
  183. Thank you for flying mhi airlines. Get the Vim on!
  184. ==============================================================================
  185. 8. License *startify-license*
  186. Copyright © Marco Hinz. Distributed under the same terms as Vim itself.
  187. See |license|.
  188. vim: tw=78