README.adoc 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. image:https://travis-ci.org/mhinz/vim-startify.svg?branch=travis["Build Status", link="https://travis-ci.org/mhinz/vim-startify"]
  2. image:https://raw.githubusercontent.com/mhinz/vim-startify/102aa438b2d2a88e2b4e331d8ff5320eed52f0c4/startify.png[Startify in action!]
  3. That's it. A fancy start screen for Vim. _(almost all visible features enabled - freely customizable)_
  4. ---
  5. * <<what-does-it-provide,What does it provide?>>
  6. . <<it-shows-things-on-start,List files and directories>>
  7. . <<powerful-menu-handling,Powerful menu entry handling>>
  8. . <<easy-session-handling,Easy session handling>>
  9. * <<installation-and-documentation,Installation & Documentation>>
  10. * <<author-and-feedback,Author and Feedback>>
  11. * <<license,License>>
  12. ---
  13. == What does it provide?
  14. It does 3 things that will be explained in detail further below:
  15. === It shows things on start!
  16. If you start Vim without giving any filenames or piping text to it, Startify
  17. will show a pretty start screen that shows a configurable list of files or
  18. directories:
  19. - *Custom header*: How about some ASCII art action?
  20. Perhaps even dynamically generated?
  21. * _Default:_ `<empty>`
  22. - *Recently used files from directory*: List recently modified files
  23. from the current directory recursively. The list can also be filtered.
  24. * _Default:_ `<enabled>`
  25. - *Recently used files*: List recently used files. The
  26. list can also be filtered.
  27. * _Default:_ `<enabled>`
  28. - *Sessions*: List all your sessions from a certain
  29. directory.
  30. * _Default:_ `~/.vim/session`
  31. - *Bookmarks*: Define bookmarks, thus entries for files that will always be
  32. listed.
  33. * _Default:_ `<empty>`
  34. - *Custom footer*: Same as the custom header.. but at the
  35. bottom.
  36. * _Default:_ `<empty>`
  37. TIP: See `:h startify-options` for more information.
  38. ==== Powerful menu handling
  39. You can either navigate the menu by using the usual suspects (`j`, `G`, `}`
  40. etc.) and hit `<cr>` or just key in whatever is written between the square
  41. brackets on that line. You can even double-click anywhere on the line.
  42. Moreover, you can open several files at one go! Navigate to an entry and hit
  43. either `b` (open in same window), `s` (open in split), `v` (open in vertical
  44. split) or `t` (open in tab) for marking it. You can mark several entries and
  45. also mix different markers. Afterwards execute all the markers in the order
  46. they were given via `<cr>`.
  47. In case you don't want to open a file, there is also `e` for creating an empty
  48. buffer, `i` for creating an empty buffer and jumping into insert mode and `q`
  49. for quitting.
  50. When one or more files were opened by Startify, it will close automatically.
  51. You can always reopen the screen via `:Startify`.
  52. ==== Easy session handling
  53. TIP: Please read and understand `:help 'sessionoptions'` if you work with
  54. sessions.
  55. Essentially there are two supported workflows for handling sessions that will
  56. be shown here:
  57. *The Startify way:*
  58. The handling of loading, saving and deleting sessions is eased by always
  59. working with one and the same directory. These commands are used for
  60. convenience:
  61. :SLoad load a session
  62. :SSave save a session
  63. :SDelete delete a session
  64. TIP: See `:h startify-commands` for more information.
  65. The advantage of always using the same directory is that Startify can
  66. conveniently show you a list of all your sessions.
  67. *The old way:*
  68. The old way means using `:mksession` to save a `Session.vim` file to the
  69. current directory. Imagine a project folder with a Session.vim at its root
  70. directory. This way makes it very portable.
  71. When Vim gets started and the file Session.vim is found in the current
  72. directory, it will be shown at the top of all lists as entry `[0]` as a
  73. shortcut.
  74. If you bookmark a directory (project folder, anyone?) that contains a
  75. Session.vim, and you access that directory via Startify, that session will be
  76. loaded automatically.
  77. *Optionally:*
  78. There is even support for *persistent sessions*. Thus you load a session via
  79. Startify, add some buffers, remove some buffers, change the window layout, ..
  80. and when you finish and exit Vim, the session will be saved automatically. This
  81. works for both ways of handling sessions.
  82. TIP: Read `:help startify-options` to learn more about how to configure session
  83. handling to your liking.
  84. My own configuration can be found
  85. https://github.com/mhinz/dotfiles/blob/7e1989e902e5d9d25af5e15c2064f47a33e9d86b/vim/vimrc#L612-L642[here].
  86. == Installation and Documentation
  87. Use your favorite plugin manager.
  88. Using https://github.com/junegunn/vim-plug[vim-plug]:
  89. Plug 'mhinz/vim-startify'
  90. It works without any configuration, but you might want to look into the
  91. documentation for further customization:
  92. :h startify
  93. :h startify-faq
  94. == Author and Feedback
  95. If you like my plugins, please star them on Github. It's a great way of getting
  96. feedback. Same goes for issues reports or feature requests.
  97. *Names:* Marco Hinz, mhinz, mhi^, mhi
  98. *Mail:* `<mh.codebro@gmail.com>`
  99. *Twitter:* https://twitter.com/\_mhinz_[@\_mhinz_]
  100. *Stackoverflow:* http://stackoverflow.com/users/1606959/mhinz[mhinz]
  101. _Thank you for flying mhi airlines. Get your Vim on!_
  102. == License
  103. MIT license. Copyright (c) 2015 Marco Hinz.