first commit
This commit is contained in:
		
							
								
								
									
										1328
									
								
								doc/NERDTree.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1328
									
								
								doc/NERDTree.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1238
									
								
								doc/NERD_tree.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1238
									
								
								doc/NERD_tree.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										431
									
								
								doc/asyncrun.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										431
									
								
								doc/asyncrun.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,431 @@ | ||||
| *asyncrun.txt*  asyncrun.vim: Run Async Shell Commands in Vim 8.0 and Output to Quickfix Window | ||||
|  | ||||
| =============================================================================== | ||||
| Contents ~ | ||||
|  | ||||
|  1. Introduction                                        |asyncrun-introduction| | ||||
|  2. Preface                                               |asyncrun-43-preface| | ||||
|  3. News                                                     |asyncrun-44-news| | ||||
|  4. Install                                               |asyncrun-45-install| | ||||
|  5. Example                                               |asyncrun-46-example| | ||||
|  6. Tutorials                                           |asyncrun-48-tutorials| | ||||
|    1. Async run gcc to compile current file |asyncrun-49-async-run-gcc-to-compile-current-file| | ||||
|    2. Async run make                               |asyncrun-50-async-run-make| | ||||
|    3. Grep key word                                 |asyncrun-51-grep-key-word| | ||||
|    4. Compile go project                       |asyncrun-52-compile-go-project| | ||||
|    5. Lookup man page                             |asyncrun-53-lookup-man-page| | ||||
|    6. Git push                                           |asyncrun-54-git-push| | ||||
|    7. Setup '<F7>' to compile file                                         |F7| | ||||
|  7. Manual                                                 |asyncrun-56-manual| | ||||
|    1. AsyncRun - Run shell command              |57-asyncrun-run-shell-command| | ||||
|    2. AsyncStop - Stop the running job |asyncrun-58-asyncstop-stop-running-job| | ||||
|    3. Settings:                                          |asyncrun-59-settings| | ||||
|    4. Variables:                                        |asyncrun-61-variables| | ||||
|    5. Requirements:                                  |asyncrun-62-requirements| | ||||
|    6. Cooperate with vim-fugitive:    |asyncrun-63-cooperate-with-vim-fugitive| | ||||
|  8. More                                                     |asyncrun-66-more| | ||||
|  9. Further                                               |asyncrun-75-further| | ||||
|  10. History                                              |asyncrun-77-history| | ||||
|  11. Credits                                              |asyncrun-78-credits| | ||||
|  12. References                                           |asyncrun-references| | ||||
|  | ||||
| =============================================================================== | ||||
|                                                         *asyncrun-introduction* | ||||
| Introduction ~ | ||||
|  | ||||
|  | ||||
| Run Async Shell Commands in Vim 8.0 and Output to Quickfix Window | ||||
|  | ||||
| =============================================================================== | ||||
|                                                           *asyncrun-43-preface* | ||||
| Preface ~ | ||||
|  | ||||
| This plugin takes the advantage of new apis in Vim 8 (and NeoVim) to enable you | ||||
| to run shell commands in background and read output in the quickfix window in | ||||
| realtime: | ||||
|  | ||||
| - Easy to use, just start your background command by ':AsyncRun' (just like | ||||
|   old "!" cmd). | ||||
|  | ||||
| - Command is done in the background, no need to wait for the entire process | ||||
|   to finish. | ||||
|  | ||||
| - Output are displayed in the quickfix window, errors are matched with | ||||
|   'errorformat'. | ||||
|  | ||||
| - You can explore the error output immediately or keep working in vim while | ||||
|   executing. | ||||
|  | ||||
| - Ring the bell or play a sound to notify you job finished while you're | ||||
|   focusing on editing. | ||||
|  | ||||
| - Fast and lightweight, just a single self-contained 'asyncrun.vim' source | ||||
|   file. | ||||
|  | ||||
| - Provide corresponding user experience vim, neovim, gvim and macvim. | ||||
|  | ||||
| If that doesn't excite you, then perhaps this GIF screen capture below will | ||||
| change your mind. | ||||
|  | ||||
| =============================================================================== | ||||
|                                                              *asyncrun-44-news* | ||||
| News ~ | ||||
|  | ||||
| - 2016/10/17 Glad to announce that 'asyncrun.vim' supports NeoVim now. | ||||
| - 2016/10/15 'asyncrun.vim' can cooperate with 'vim-fugitive', see the bottom | ||||
|   of the README. | ||||
|  | ||||
| =============================================================================== | ||||
|                                                           *asyncrun-45-install* | ||||
| Install ~ | ||||
|  | ||||
| Copy 'asyncrun.vim' to your '~/.vim/plugin' or use Vundle to install it from | ||||
| 'skywind3000/asyncrun.vim' . | ||||
|  | ||||
| =============================================================================== | ||||
|                                                           *asyncrun-46-example* | ||||
| Example ~ | ||||
|  | ||||
|   Image: [47] | ||||
|  | ||||
| =============================================================================== | ||||
|                                                         *asyncrun-48-tutorials* | ||||
| Tutorials ~ | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
|                             *asyncrun-49-async-run-gcc-to-compile-current-file* | ||||
| Async run gcc to compile current file ~ | ||||
| > | ||||
|   :AsyncRun gcc % -o %< | ||||
|   :AsyncRun g++ -O3 "%" -o "%<" -lpthread  | ||||
| < | ||||
| This command will run gcc in the background and output to the quickfix window | ||||
| in realtime. Macro ''%'' stands for filename and ''%>'' represents filename | ||||
| without extension. | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
|                                                    *asyncrun-50-async-run-make* | ||||
| Async run make ~ | ||||
| > | ||||
|   :AsyncRun make | ||||
|   :AsyncRun make -f makefile | ||||
| < | ||||
| ------------------------------------------------------------------------------- | ||||
|                                                     *asyncrun-51-grep-key-word* | ||||
| Grep key word ~ | ||||
| > | ||||
|   :AsyncRun! grep -R word .  | ||||
|   :AsyncRun! grep -R <cword> .  | ||||
| < | ||||
| when '!' is included, auto-scroll in quickfix will be disabled. '<cword>' | ||||
| represents current word under cursor. | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
|                                                *asyncrun-52-compile-go-project* | ||||
| Compile go project ~ | ||||
| > | ||||
|   :AsyncRun go build "%:p:h" | ||||
| < | ||||
| Macro ''%:p:h'' stands for current file dir. | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
|                                                   *asyncrun-53-lookup-man-page* | ||||
| Lookup man page ~ | ||||
| > | ||||
|   :AsyncRun! man -S 3:2:1 <cword> | ||||
| < | ||||
| ------------------------------------------------------------------------------- | ||||
|                                                          *asyncrun-54-git-push* | ||||
| Git push ~ | ||||
| > | ||||
|   :AsyncRun git push origin master | ||||
| < | ||||
| ------------------------------------------------------------------------------- | ||||
| Setup '<*F7*>' to compile file | ||||
| > | ||||
|   :noremap <F7> :AsyncRun gcc "%" -o "%<" <cr>  | ||||
| < | ||||
| File name may contain spaces, therefore, it's safe to quote them. | ||||
|  | ||||
| =============================================================================== | ||||
|                                                            *asyncrun-56-manual* | ||||
| Manual ~ | ||||
|  | ||||
| There are two vim commands: ':AsyncRun' and ':AsyncStop' to control async jobs. | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
|                                                 *57-asyncrun-run-shell-command* | ||||
| AsyncRun - Run shell command ~ | ||||
| > | ||||
|   :AsyncRun[!] [options] {cmd} ... | ||||
| < | ||||
| run shell command in background and output to quickfix. when '!' is included, | ||||
| auto-scroll in quickfix will be disabled. Parameters are splited by space, if a | ||||
| parameter contains space, it should be **quoted** or escaped as backslash + | ||||
| space (unix only). | ||||
|  | ||||
| Parameters accept macros start with ''%'', ''#'' or ''<'' : | ||||
| > | ||||
|   %:p     - File name of current buffer with full path | ||||
|   %:t     - File name of current buffer without path | ||||
|   %:p:h   - File path of current buffer without file name | ||||
|   %:e     - File extension of current buffer | ||||
|   %:t:r   - File name of current buffer without path and extension | ||||
|   %       - File name relativize to current directory | ||||
|   %:h:.   - File path relativize to current directory | ||||
|   <cwd>   - Current directory | ||||
|   <cword> - Current word under cursor | ||||
|   <cfile> - Current file name under cursor | ||||
| < | ||||
| Environment variables are set before executing: | ||||
| > | ||||
|   $VIM_FILEPATH  - File name of current buffer with full path | ||||
|   $VIM_FILENAME  - File name of current buffer without path | ||||
|   $VIM_FILEDIR   - Full path of current buffer without the file name | ||||
|   $VIM_FILEEXT   - File extension of current buffer | ||||
|   $VIM_FILENOEXT - File name of current buffer without path and extension | ||||
|   $VIM_CWD       - Current directory | ||||
|   $VIM_RELDIR    - File path relativize to current directory | ||||
|   $VIM_RELNAME   - File name relativize to current directory  | ||||
|   $VIM_CWORD     - Current word under cursor | ||||
|   $VIM_CFILE     - Current filename under cursor | ||||
|   $VIM_GUI       - Is running under gui ? | ||||
|   $VIM_VERSION   - Value of v:version | ||||
|   $VIM_COLUMNS   - How many columns in vim's screen | ||||
|   $VIM_LINES     - How many lines in vim's screen | ||||
|   $VIM_SVRNAME   - Value of v:servername for +clientserver usage  | ||||
| < | ||||
| These environment variables wrapped by '$(...)' (eg. '$(VIM_FILENAME)') will | ||||
| also be expanded in the parameters. | ||||
|  | ||||
| There can be some options before your '[cmd]': | ||||
| > | ||||
|   -mode=0/1/2 - start mode: 0(async, default), 1(:make), 2(:!) | ||||
|   -cwd=?      - initial directory, (use current directory if unset) | ||||
|   -save=0/1   - non-zero to save unsaved files before executing | ||||
|   -program=?  - set to `make` to use `&makeprg`, `grep` to use `&grepprg`  | ||||
|   -post=?     - vimscript to exec after this job finished, spaces **must** be escaped to '\ ' | ||||
| < | ||||
| All options must start with a minus and position **before** '[cmd]'. Since no | ||||
| shell command string starts with a minus. So they can be distinguished from | ||||
| shell command easily without any ambiguity. | ||||
|  | ||||
| Don't worry if you do have a shell command starting with '-', Just put a | ||||
| placeholder '@' before your command to tell asyncrun explicitly: "stop parsing | ||||
| options now, the following string is all my command". | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
|                                        *asyncrun-58-asyncstop-stop-running-job* | ||||
| AsyncStop - Stop the running job ~ | ||||
| > | ||||
|   :AsyncStop[!] | ||||
| < | ||||
| stop the running job, when "!" is included, job will be stopped by signal KILL | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
|                                                          *asyncrun-59-settings* | ||||
| Settings: ~ | ||||
|  | ||||
| - g:asyncrun_exit - script will be executed after finished | ||||
| - g:asyncrun_bell - non-zero to ring a bell after finished | ||||
| - g:asyncrun_mode - 0:async(require vim 7.4.1829) 1:sync 2:shell | ||||
| - g:asyncrun_encs - set shell encoding if it's different from '&encoding', | ||||
|   see here [60] | ||||
| - g:asyncrun_trim - non-zero to trim the empty lines in the quickfix window. | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
|                                                         *asyncrun-61-variables* | ||||
| Variables: ~ | ||||
|  | ||||
| - g:asyncrun_code - exit code | ||||
| - g:asyncrun_status - 'running', 'success' or 'failure' | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
|                                                      *asyncrun-62-requirements* | ||||
| Requirements: ~ | ||||
|  | ||||
| Vim 7.4.1829 is minimal version to support async mode. If you are use older | ||||
| versions, 'g:asyncrun_mode' will fall back from '0/async' to '1/sync'. NeoVim | ||||
| 0.1.4 or later is also supported. | ||||
|  | ||||
| Recommend to use Vim 8.0 or later. | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
|                                       *asyncrun-63-cooperate-with-vim-fugitive* | ||||
| Cooperate with vim-fugitive: ~ | ||||
|  | ||||
| asyncrun.vim can cooperate with 'vim-fugitive', see here [64]. | ||||
|  | ||||
|   Image: [65] | ||||
|  | ||||
| =============================================================================== | ||||
|                                                              *asyncrun-66-more* | ||||
| More ~ | ||||
|  | ||||
| - Additional examples (background ctags updating, pdf conversion, ...) [67] | ||||
| - Notify user job finished by playing a sound [68] | ||||
| - View progress in status line or vim airline [69] | ||||
| - Best practice with quickfix windows [70] | ||||
| - Scroll the quickfix window only if the cursor is on the last line [71] | ||||
| - Cooperate with vim-fugitive [64] | ||||
| - Replace old ':make' command with asyncrun [72] | ||||
| - Quickfix encoding problem when using Chinese or Japanese [60] | ||||
| - Example for updating and adding cscope files [73] | ||||
|  | ||||
| Don't forget to read the Frequently Asked Questions [74]. | ||||
|  | ||||
| =============================================================================== | ||||
|                                                           *asyncrun-75-further* | ||||
| Further ~ | ||||
|  | ||||
| - Experiment: get netrw using asyncrun to save remote files [76] | ||||
|  | ||||
| =============================================================================== | ||||
|                                                           *asyncrun-77-history* | ||||
| History ~ | ||||
|  | ||||
| - 1.3.3 (2016-10-28): prevent job who reads stdin getting hanging, fixed an | ||||
|   issue in fast exiting jobs. | ||||
|  | ||||
| - 1.3.2 (2016-10-19): new "-post" option to run a vimscript after the job | ||||
|   finished | ||||
|  | ||||
| - 1.3.1 (2016-10-18): fixed few issues of arguments passing in different | ||||
|   modes | ||||
|  | ||||
| - 1.3.0 (2016-10-17): add support to neovim, better CJK characters handling. | ||||
|  | ||||
| - 1.2.0 (2016-10-16): refactor, correct arguments parsing, cmd options and | ||||
|   &makeprg supports | ||||
|  | ||||
| - 1.1.1 (2016-10-13): use the vim native &shell and &shellcmdflag config to | ||||
|   execute commands. | ||||
|  | ||||
| - 1.1.0 (2016-10-12): quickfix window scroll only if cursor is on the last | ||||
|   line | ||||
|  | ||||
| - 1.0.3 (2016-10-10): reduce quickfix output latency. | ||||
|  | ||||
| - 1.0.2 (2016-10-09): fixed an issue in replacing macros in parameters. | ||||
|  | ||||
| - 1.0.1 (2016-10-07): Add a convenient way to toggle quickfix window | ||||
|   (asyncrun#quickfix_toggle) | ||||
|  | ||||
| - 1.0.0 (2016-09-21): can fall back to sync mode to compatible older vim | ||||
|   versions. | ||||
|  | ||||
| - 0.0.3 (2016-09-15): new arguments now accept environment variables wrapped | ||||
|   by $(...) | ||||
|  | ||||
| - 0.0.2 (2016-09-12): some improvements and more documents for a tiny | ||||
|   tutorial. | ||||
|  | ||||
| - 0.0.1 (2016-09-08): improve arguments parsing | ||||
|  | ||||
| - 0.0.0 (2016-08-24): initial version | ||||
|  | ||||
| =============================================================================== | ||||
|                                                           *asyncrun-78-credits* | ||||
| Credits ~ | ||||
|  | ||||
| Trying best to provide the most simply and convenience experience in the | ||||
| asynchronous-jobs. | ||||
|  | ||||
| Author: skywind3000 Please vote it if you like it: | ||||
| http://www.vim.org/scripts/script.php?script_id=5431 | ||||
|  | ||||
|  | ||||
| =============================================================================== | ||||
|                                                           *asyncrun-references* | ||||
| References ~ | ||||
|  | ||||
| [1] https://github.com/skywind3000/asyncrun.vim#start-of-content | ||||
| [2] https://github.com/ | ||||
| [3] https://github.com/personal | ||||
| [4] https://github.com/open-source | ||||
| [5] https://github.com/business | ||||
| [6] https://github.com/explore | ||||
| [7] https://github.com/join?source=header-repo | ||||
| [8] https://github.com/login?return_to=%2Fskywind3000%2Fasyncrun.vim | ||||
| [9] https://github.com/pricing | ||||
| [10] https://github.com/blog | ||||
| [11] https://help.github.com | ||||
| [12] https://github.com/search | ||||
| [13] https://github.com/skywind3000/asyncrun.vim/watchers | ||||
| [14] https://github.com/skywind3000/asyncrun.vim/stargazers | ||||
| [15] https://github.com/skywind3000/asyncrun.vim/network | ||||
| [16] https://github.com/skywind3000/asyncrun.vim | ||||
| [17] https://github.com/skywind3000/asyncrun.vim/issues | ||||
| [18] https://github.com/skywind3000/asyncrun.vim/pulls | ||||
| [19] https://github.com/skywind3000/asyncrun.vim/projects | ||||
| [20] https://github.com/skywind3000/asyncrun.vim/wiki | ||||
| [21] https://github.com/skywind3000/asyncrun.vim/pulse | ||||
| [22] https://github.com/skywind3000/asyncrun.vim/graphs | ||||
| [23] https://github.com/skywind3000/asyncrun.vim/commits/master | ||||
| [24] https://github.com/skywind3000/asyncrun.vim/branches | ||||
| [25] https://github.com/skywind3000/asyncrun.vim/releases | ||||
| [26] https://github.com/skywind3000/asyncrun.vim/graphs/contributors | ||||
| [27] https://github.com/skywind3000/asyncrun.vim/blob/master/LICENSE | ||||
| [28] https://github.com/skywind3000/asyncrun.vim/search?l=vim | ||||
| [29] https://help.github.com/articles/which-remote-url-should-i-use | ||||
| [30] https://github.com/skywind3000/asyncrun.vim/archive/master.zip | ||||
| [31] https://github.com/skywind3000/asyncrun.vim/find/master | ||||
| [32] https://github.com/skywind3000/asyncrun.vim/tree/master | ||||
| [33] https://github.com/skywind3000/asyncrun.vim/commit/1edc42699bcb8a1b17398c2590a27636e327531d | ||||
| [34] https://camo.githubusercontent.com/a08cc422099cb8fd2a030bc7e6da7732e483e336/68747470733a2f2f322e67726176617461722e636f6d2f6176617461722f33313761636661306235663764643563623831363331303365326266623366363f643d68747470732533412532462532466173736574732d63646e2e6769746875622e636f6d253246696d6167657325324667726176617461727325324667726176617461722d757365722d3432302e706e6726723d7826733d313430 | ||||
| [35] https://github.com/skywind3000/asyncrun.vim/tree/1edc42699bcb8a1b17398c2590a27636e327531d | ||||
| [36] https://assets-cdn.github.com/images/spinners/octocat-spinner-32.gif | ||||
| [37] https://github.com/skywind3000/asyncrun.vim/tree/master/doc | ||||
| [38] https://github.com/skywind3000/asyncrun.vim/commit/7b906e89f42b811176007a52a8affdfd11c76a93 | ||||
| [39] https://github.com/skywind3000/asyncrun.vim/tree/master/plugin | ||||
| [40] https://github.com/skywind3000/asyncrun.vim/commit/c9bb3b9a1909a7e3bcc53817cefa94460cd4a85e | ||||
| [41] https://github.com/skywind3000/asyncrun.vim/commit/e4f207983822abb58df9f3577cf0b3fbacdf0231 | ||||
| [42] https://github.com/skywind3000/asyncrun.vim/blob/master/README.md | ||||
| [43] https://github.com/skywind3000/asyncrun.vim#preface | ||||
| [44] https://github.com/skywind3000/asyncrun.vim#news | ||||
| [45] https://github.com/skywind3000/asyncrun.vim#install | ||||
| [46] https://github.com/skywind3000/asyncrun.vim#example | ||||
| [47] https://raw.githubusercontent.com/skywind3000/asyncrun.vim/master/doc/screenshot.gif | ||||
| [48] https://github.com/skywind3000/asyncrun.vim#tutorials | ||||
| [49] https://github.com/skywind3000/asyncrun.vim#async-run-gcc-to-compile-current-file | ||||
| [50] https://github.com/skywind3000/asyncrun.vim#async-run-make | ||||
| [51] https://github.com/skywind3000/asyncrun.vim#grep-key-word | ||||
| [52] https://github.com/skywind3000/asyncrun.vim#compile-go-project | ||||
| [53] https://github.com/skywind3000/asyncrun.vim#lookup-man-page | ||||
| [54] https://github.com/skywind3000/asyncrun.vim#git-push | ||||
| [55] https://github.com/skywind3000/asyncrun.vim#setup-f7-to-compile-file | ||||
| [56] https://github.com/skywind3000/asyncrun.vim#manual | ||||
| [57] https://github.com/skywind3000/asyncrun.vim#asyncrun---run-shell-command | ||||
| [58] https://github.com/skywind3000/asyncrun.vim#asyncstop---stop-the-running-job | ||||
| [59] https://github.com/skywind3000/asyncrun.vim#settings | ||||
| [60] https://github.com/skywind3000/asyncrun.vim/wiki/Quickfix-encoding-problem-when-using-Chinese-or-Japanese | ||||
| [61] https://github.com/skywind3000/asyncrun.vim#variables | ||||
| [62] https://github.com/skywind3000/asyncrun.vim#requirements | ||||
| [63] https://github.com/skywind3000/asyncrun.vim#cooperate-with-vim-fugitive | ||||
| [64] https://github.com/skywind3000/asyncrun.vim/wiki/Cooperate-with-vim-fugitive | ||||
| [65] https://raw.githubusercontent.com/skywind3000/asyncrun.vim/master/doc/cooperate_with_fugitive.gif | ||||
| [66] https://github.com/skywind3000/asyncrun.vim#more | ||||
| [67] https://github.com/skywind3000/asyncrun.vim/wiki/Additional-Examples | ||||
| [68] https://github.com/skywind3000/asyncrun.vim/wiki/Playing-Sound | ||||
| [69] https://github.com/skywind3000/asyncrun.vim/wiki/Display-Progress-in-Status-Line-or-Airline | ||||
| [70] https://github.com/skywind3000/asyncrun.vim/wiki/Quickfix-Best-Practice | ||||
| [71] https://github.com/skywind3000/asyncrun.vim/wiki/Scroll-the-quickfix-window-only-if-cursor-is-on-the-last-line | ||||
| [72] https://github.com/skywind3000/asyncrun.vim/wiki/Replace-old-make-command-with-AsyncRun | ||||
| [73] https://github.com/skywind3000/asyncrun.vim/wiki/Example-for-updating-and-adding-cscope | ||||
| [74] https://github.com/skywind3000/asyncrun.vim/wiki/FAQ | ||||
| [75] https://github.com/skywind3000/asyncrun.vim#further | ||||
| [76] https://github.com/skywind3000/asyncrun.vim/wiki/Get-netrw-using-asyncrun-to-save-remote-files | ||||
| [77] https://github.com/skywind3000/asyncrun.vim#history | ||||
| [78] https://github.com/skywind3000/asyncrun.vim#credits | ||||
| [79] https://github.com/contact | ||||
| [80] https://developer.github.com | ||||
| [81] https://training.github.com | ||||
| [82] https://shop.github.com | ||||
| [83] https://github.com/about | ||||
| [84] https://github.com | ||||
| [85] https://github.com/site/terms | ||||
| [86] https://github.com/site/privacy | ||||
| [87] https://github.com/security | ||||
| [88] https://status.github.com/ | ||||
|  | ||||
| vim: ft=help | ||||
							
								
								
									
										335
									
								
								doc/buffergator.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										335
									
								
								doc/buffergator.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,335 @@ | ||||
| *buffergator.txt*	Buffer indexing and navigation plugin. | ||||
|  | ||||
| =============================================================================== | ||||
|                                              *buffergator* *buffergator-contents* | ||||
| CONTENTS~ | ||||
|  | ||||
|     1. Introduction ........................... |buffergator-introduction| | ||||
|     2. Commands ............................... |buffergator-commands| | ||||
|     3. Key Mappings (Global) .................. |buffergator-global-keys| | ||||
|     4. Key Mappings (Buffer Catalog) .......... |buffergator-buffer-keys| | ||||
|     5. Key Mappings (Tab Page Catalog) ........ |buffergator-tabpage-keys| | ||||
|     6. Options and Settings ................... |buffergator-options| | ||||
|  | ||||
| =============================================================================== | ||||
|                                                       *buffergator-introduction* | ||||
| INTRODUCTION~ | ||||
|  | ||||
| Buffergator is a plugin for listing, navigating between, and selecting buffers | ||||
| to edit. Upon invocation (using the command, ":BuffergatorOpen" or | ||||
| "BuffergatorToggle", or the provided key mapping, "<Leader>b"), a "catalog" of | ||||
| listed buffers are displayed in a separate new window split (vertical or | ||||
| horizontal, based on user options; default = vertical).  From this "buffer | ||||
| catalog", a buffer can be selected and opened in an existing window, a new | ||||
| window split (vertical or horizontal), or a new tab page. | ||||
|  | ||||
| Selected buffers can be "previewed", i.e. opened in a window or tab page, but | ||||
| with focus remaining in the buffer catalog. Even better, you can "walk" up and | ||||
| down the list of buffers shown in the catalog by using <C-N> (or <SPACE>) / | ||||
| <C-P> (or <C-SPACE>). These keys select the next/previous buffer in succession, | ||||
| respectively, opening it for preview without leaving the buffer catalog | ||||
| viewer. | ||||
|  | ||||
| Buffergator also provides a way to list tab pages and buffers associated with | ||||
| windows in tab pages (the "tab page catalog", which can be invoked using the | ||||
| command ":BuffergatorTabsOpen" or the provided key mapping, "<Leader>to"). | ||||
|  | ||||
| By default, Buffergator provides global key maps that invoke its main | ||||
| commands: "<Leader>b" to open and "<Leader>B" to close the buffer catalog, and | ||||
| "<Leader>to" to open and "<Leader>tc" to close the tab page catalog. If you | ||||
| prefer to map other keys, or do not want any keys mapped at all, set | ||||
| "g:buffergator_suppress_keymaps" to 1 in your $VIMRUNTIME. | ||||
|  | ||||
| =============================================================================== | ||||
|                                                           *buffergator-commands* | ||||
| COMMANDS~ | ||||
|  | ||||
| These following commands are provided globally by Buffergator: | ||||
|  | ||||
| :BuffergatorOpen | ||||
|                     Open the buffer catalog, or go to it if it is already open. | ||||
|  | ||||
| :BuffergatorClose | ||||
|                     Close the buffer catalog if it is already open. | ||||
|  | ||||
| :BuffergatorToggle | ||||
|                     Open the buffer catalog if it is closed, or close it if | ||||
|                     it is already open. | ||||
|  | ||||
| :BuffergatorTabsOpen | ||||
|                     Open the tab page catalog, or go to it if it is already open. | ||||
|  | ||||
| :BuffergatorTabsClose | ||||
|                     Close the tab page catalog if it is already open. | ||||
|  | ||||
| :BuffergatorTabsToggle | ||||
|                     Open the tab page catalog if it is closed, or close it if | ||||
|                     it is already open. | ||||
|  | ||||
| =============================================================================== | ||||
|                                                       *buffergator-global-keys* | ||||
| KEY MAPPINGS (GLOBAL)~ | ||||
|  | ||||
| Unless "g:buffergator_suppress_keymaps" is set to 1, then the following | ||||
| key mappings are defined: | ||||
|  | ||||
| <Leader>b           Invokes ":BuffergatorOpen": open the buffer catalog, or go | ||||
|                     to it if it is already open. | ||||
|  | ||||
| <Leader>B           Invokes ":BuffergatorClose": close the buffer catalog. | ||||
|  | ||||
| <Leader>to          Invokes ":BuffergatorTabsOpen": open the tab page catalog, | ||||
|                     or go to it if it is already open. | ||||
|  | ||||
| <Leader>tc          Invokes ":BuffergatorTabsClose": close the tab page | ||||
|                     catalog. | ||||
|  | ||||
| [b, <M-B>           Invokes ":BuffergatorMruCyclePrev": cycle to an older | ||||
|                     buffer in the most-recently used (MRU) buffer list. | ||||
|                     most-recently used buffer. If | ||||
|                     "g:buffergator_mru_cycle_loop" is set to 1 (default), then | ||||
|                     this will loop, i.e. returning to the initial buffer after | ||||
|                     reaching the oldest buffer. | ||||
|  | ||||
| ]b, <M-S-B>         Invokes ":BuffergatorMruCycleNext": cycle to a newer | ||||
|                     buffer in the most-recently used (MRU) buffer list. | ||||
|                     most-recently used buffer. If | ||||
|                     "g:buffergator_mru_cycle_loop" is set to 1 (default), then | ||||
|                     this will loop, i.e. returning to the oldest buffer after | ||||
|                     reaching the newest buffer. | ||||
|  | ||||
| =============================================================================== | ||||
|                                                       *buffergator-buffer-keys* | ||||
| KEY MAPPINGS (BUFFER CATALOG)~ | ||||
|  | ||||
| Invoking Buffergator results in the listed buffers being displayed in a | ||||
| special Buffergator window, which is referred to as a "buffer catalog viewer". | ||||
| The following key mappings are available when in the viewer. | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Catalog Management~ | ||||
|  | ||||
| cs                  Cycle through sort regimes. | ||||
| cd                  Cycle through display regimes. | ||||
| cp                  Toggle showing full paths (only "basename" display regime) | ||||
| cw                  Cycle through window (viewport) split modes. | ||||
| cq                  Cycle through quit (autodismiss-on-select) policies. | ||||
| r                   Update (rebuild/refresh) index. | ||||
| d                   Delete the selected buffer. | ||||
| D                   Unconditionally delete the selected buffer. | ||||
| x                   Wipe the selected buffer. | ||||
| X                   Unconditionally wipe the selected buffer. | ||||
| q                   Quit the index/catalog window. | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Open Selected Buffer~ | ||||
|  | ||||
| The following keys all open the currently-selected buffer and switch focus to | ||||
| it. If the key presses are preceded by a number, then the buffer with that | ||||
| number will be selected and opened instead of the current buffer. The catalog | ||||
| buffer will be closed if 'g:buffergator_autodismiss_on_select' evaluates to | ||||
| true; otherwise it will be kept open. | ||||
|  | ||||
| <CR>, o             Open the currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), in previous window. | ||||
| s                   Open the currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), in a new vertical | ||||
|                     split. | ||||
| <C-V>               As above (compatibility with Ctrl-P/Command-T) | ||||
| i                   Open the currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), in a new split. | ||||
| <C-S>               As above (compatibility with Ctrl-P/Command-T) | ||||
| t                   Open the currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), in a new tab page. | ||||
| <C-T>               As above (compatibility with Ctrl-P/Command-T) | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Preview Selected Buffer~ | ||||
|  | ||||
| The following keys all open the currently-selected buffer, but retain focus on | ||||
| the catalog viewer. If the key presses are preceded by a number, than the | ||||
| buffer with that number will be opened. | ||||
|  | ||||
| O, go               Preview the currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), in the previous | ||||
|                     window. | ||||
| S, gs               Preview the currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), is a new vertical | ||||
|                     split. | ||||
| I, gi               Preview the currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), in a new split | ||||
| T                   Preview the currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), in a new tab | ||||
|                     page. | ||||
| <SPACE>, <C-N>      Go to the next buffer entry (or, if [count] is | ||||
|                     given, buffer with number [count]), and preview it in the | ||||
|                     previous window. | ||||
| <C-SPACE>, <C-P>    Go to the previous buffer entry (or, if [count] is | ||||
|                     given, buffer with number [count]), and preview it in the | ||||
|                     previous window. | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Open and Switch Focus to Selected Buffer~ | ||||
|  | ||||
| The following keys all open the currently-selected buffer and switch focus to | ||||
| it, keeping the catalog viewe open, regardless of the | ||||
| 'g:buffergator_autodismiss_on_select' setting. If the key presses are preceded | ||||
| by a number, than the buffer with that number will be opened. | ||||
|  | ||||
| po                  Open the currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), in the previous | ||||
|                     window, and switch focus to it, keeping the catalog | ||||
|                     viewer open. | ||||
| ps                  Open the currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), is a new vertical | ||||
|                     split, and switch focus to it, keeping the catalog | ||||
|                     viewer open. | ||||
| pi                  Open the currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), in a new split, | ||||
|                     and switch focus to it, keeping the catalog | ||||
|                     viewer open. | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Go to Existing Viewport Showing Buffer~ | ||||
|  | ||||
| The following keys will try to find the selected buffer in an existing | ||||
| viewport (whether on the current tab page or another). If the key presses are | ||||
| preceded by a number, then the buffer with that number will be the target | ||||
| buffer. | ||||
|  | ||||
| eo                  If currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), is showing in an existing | ||||
|                     viewport on this or any other tab page, go to it; | ||||
|                     otherwise show it in the previous window. | ||||
| es                  If currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), is showing in an existing | ||||
|                     viewport on this or any other tab page, go to it; | ||||
|                     otherwise show it in a new vertical split. | ||||
| ei                  If currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), is showing in an existing | ||||
|                     viewport on this or any other tab page, go to it; | ||||
|                     otherwise show it in a new horizontal split. | ||||
| et                  If currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), is showing in an existing | ||||
|                     viewport on this or any other tab page, go to it; | ||||
|                     otherwise show it in a new tab page. | ||||
| E                   If currently-selected buffer (or, if [count] is | ||||
|                     given, buffer with number [count]), is showing in an existing | ||||
|                     viewport on this or any other tab page, go to it; | ||||
|                     otherwise do nothing. | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Window Control~ | ||||
|  | ||||
| A                   Zoom/unzoom window, expanding to full height (if | ||||
|                     horizontally split) or full width (if vertically split) | ||||
|  | ||||
| =============================================================================== | ||||
|                                                      *buffergator-tabpage-keys* | ||||
| KEY MAPPINGS (TAB PAGE CATALOG)~ | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Catalog Management~ | ||||
|  | ||||
| cd                  Cycle through display regimes. | ||||
| r                   Update (rebuild/refresh) index. | ||||
| q                   Quit the index/catalog window. | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Open Selected Tab Page or Tab Page Window~ | ||||
|  | ||||
| The following keys all open the currently-selected tab page or window. | ||||
|  | ||||
| <CR>, o             Open the currently-selected tab page or window. | ||||
| <SPACE>             Select the next tab page entry. | ||||
| <C-SPACE>           Select the previous tab page entry. | ||||
| <C-N>               Select the next tab page window entry. | ||||
| <C-P>               Select the previous tab page window entry. | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| Window Control~ | ||||
|  | ||||
| A                   Zoom/unzoom window, expanding to full height (if | ||||
|                     horizontally split) or full width (if vertically split) | ||||
|  | ||||
|  | ||||
| =============================================================================== | ||||
|                                                           *buffergator-options* | ||||
| OPTIONS AND SETTINGS~ | ||||
|  | ||||
| The following options can be used to customize the behavior of this plugin: | ||||
|  | ||||
| g:buffergator_viewport_split_policy~ | ||||
|     Default: "L" | ||||
|     Determines how a new Buffergator window will be opened. Can be one of the | ||||
|     following values: | ||||
|         "L"   : vertical left (full screen height) | ||||
|         "R"   : vertical right (full screen height) | ||||
|         "T"   : horizontal top (full screen width) | ||||
|         "B"   : horizontal bottom (full screen width) | ||||
|  | ||||
| g:buffergator_autodismiss_on_select~ | ||||
|     Default: 1 | ||||
|     If true, then selection an entry with <CR> will close the catalog. Otherwise, | ||||
|     catalog stays open. Default is 1. | ||||
|  | ||||
| g:buffergator_autoexpand_on_split~ | ||||
|     Default: 1 | ||||
|     If true and running in GUI mode, then the application screen will be expanded | ||||
|     to accommodate the Buffergator window. | ||||
|  | ||||
| g:buffergator_autoupdate~ | ||||
|     Default: 0 | ||||
|     If true, then the Buffergator window will be updated when the buffer list | ||||
|     changes. | ||||
|  | ||||
| g:buffergator_split_size~ | ||||
|     Default: 40 | ||||
|     If greater than 0, this will be the width of the Buffergator window in any | ||||
|     vertical splitting mode, or its height in any horizontal splitting mode. | ||||
|  | ||||
| g:buffergator_vsplit_size~ | ||||
|     Default: 40 | ||||
|     If greater than 0, this will be the width of the Buffergator window in | ||||
|     any vertical splitting mode. | ||||
|  | ||||
| g:buffergator_hsplit_size~ | ||||
|     Default: 20 | ||||
|     If greater than 0, this will be the height of the Buffergator window in | ||||
|     any horizontal splitting mode. | ||||
|  | ||||
| g:buffergator_sort_regime~ | ||||
|     Default: "bufnum" | ||||
|     Sets the default sort regime for buffer listing: | ||||
|         "bufnum" : sort by buffer number [default] | ||||
|         "basename": sort by buffer file basename (followed by directory) | ||||
|         "filepath": sort by full buffer filepath | ||||
|         "extension": sort by buffer filename extension (followed by full | ||||
|                     filepath) | ||||
|         "mru": sort by most recently used | ||||
|  | ||||
| g:buffergator_display_regime~ | ||||
|     Default: "basename" | ||||
|     Sets the default display regime for buffer listing: | ||||
|         "basename": display buffer basename first, | ||||
|                     followed by directory [default] | ||||
|         "filepath": display full buffer filepath | ||||
|         "bufname": display buffer name | ||||
|  | ||||
| g:buffergator_show_full_directory_path~ | ||||
|     Default: 1 | ||||
|     If true, then show the full path of each buffer. Otherwise, show the | ||||
|     relative path. | ||||
|     Only relevant when the display regime is "basename". | ||||
|  | ||||
| g:buffergator_suppress_keymaps~ | ||||
|     Default: 0 | ||||
|     If true, then Buffergator will not automatically map "<Leader>b" to | ||||
|     open the Buffergator catalog and "<Leader>B" to close it. | ||||
|  | ||||
| g:buffergator_mru_cycle_local_to_window~ | ||||
|     Default: 1 | ||||
|     If true, then the most recently used list will include only buffers | ||||
|     within the window.  Otherwise, it will incude all buffers. | ||||
|  | ||||
|  vim:tw=78:ts=8:ft=help:norl: | ||||
		Reference in New Issue
	
	Block a user