|
|
goyo.txt goyo Last change: April 2 2017 |
|
|
GOYO - TABLE OF CONTENTS *goyo* *goyo-toc* |
|
|
============================================================================== |
|
|
|
|
|
goyo.vim (고요) |
|
|
Installation |
|
|
Usage |
|
|
Dimension expression |
|
|
Configuration |
|
|
Callbacks |
|
|
Inspiration |
|
|
Pros. |
|
|
License |
|
|
|
|
|
GOYO.VIM (고요) *goyo-vim* |
|
|
============================================================================== |
|
|
|
|
|
Distraction-free writing in Vim. |
|
|
|
|
|
https://raw.github.com/junegunn/i/master/goyo.png |
|
|
|
|
|
(Color scheme: {seoul256}{1}) |
|
|
|
|
|
Best served with {limelight.vim}{2}. |
|
|
|
|
|
{1} https://github.com/junegunn/seoul256.vim |
|
|
{2} https://github.com/junegunn/limelight.vim |
|
|
|
|
|
|
|
|
INSTALLATION *goyo-installation* |
|
|
============================================================================== |
|
|
|
|
|
Use your favorite plugin manager. |
|
|
|
|
|
*:PlugInstall* |
|
|
|
|
|
- {vim-plug}{3} |
|
|
1. Add `Plug 'junegunn/goyo.vim'` to .vimrc |
|
|
2. Run `:PlugInstall` |
|
|
|
|
|
{3} https://github.com/junegunn/vim-plug |
|
|
|
|
|
|
|
|
USAGE *goyo-usage* |
|
|
============================================================================== |
|
|
|
|
|
*:Goyo* |
|
|
|
|
|
- `:Goyo` |
|
|
- Toggle Goyo |
|
|
- `:Goyo [dimension]` |
|
|
- Turn on or resize Goyo |
|
|
- `:Goyo!` |
|
|
- Turn Goyo off |
|
|
|
|
|
The window can be resized with the usual count]<CTRL-W + `>`, `<`, `+`, `-` |
|
|
keys. |
|
|
|
|
|
|
|
|
< Dimension expression >______________________________________________________~ |
|
|
*goyo-dimension-expression* |
|
|
|
|
|
The expected format of a dimension expression is |
|
|
`[WIDTH][XOFFSET][x[HEIGHT][YOFFSET]]`. `XOFFSET` and `YOFFSET` should be |
|
|
prefixed by `+` or `-`. Each component can be given in percentage. |
|
|
> |
|
|
" Width |
|
|
Goyo 120 |
|
|
|
|
|
" Height |
|
|
Goyo x30 |
|
|
|
|
|
" Both |
|
|
Goyo 120x30 |
|
|
|
|
|
" In percentage |
|
|
Goyo 120x50% |
|
|
|
|
|
" With offsets |
|
|
Goyo 50%+25%x50%-25% |
|
|
< |
|
|
|
|
|
CONFIGURATION *goyo-configuration* |
|
|
============================================================================== |
|
|
|
|
|
*g:goyo_width* *g:goyo_height* *g:goyo_linenr* |
|
|
|
|
|
- `g:goyo_width` (default: 80) |
|
|
- `g:goyo_height` (default: 85%) |
|
|
- `g:goyo_linenr` (default: 0) |
|
|
|
|
|
|
|
|
< Callbacks >_________________________________________________________________~ |
|
|
*goyo-callbacks* |
|
|
|
|
|
By default, {vim-airline}{4}, {vim-powerline}{5}, {powerline}{6}, |
|
|
{lightline.vim}{7}, {vim-signify}{8}, and {vim-gitgutter}{9} are temporarily |
|
|
disabled while in Goyo mode. |
|
|
|
|
|
If you have other plugins that you want to disable/enable, or if you want to |
|
|
change the default settings of Goyo window, you can set up custom routines to |
|
|
be triggered on `GoyoEnter` and `GoyoLeave` events. |
|
|
> |
|
|
function! s:goyo_enter() |
|
|
silent !tmux set status off |
|
|
silent !tmux list-panes -F '\#F' | grep -q Z || tmux resize-pane -Z |
|
|
set noshowmode |
|
|
set noshowcmd |
|
|
set scrolloff=999 |
|
|
Limelight |
|
|
" ... |
|
|
endfunction |
|
|
|
|
|
function! s:goyo_leave() |
|
|
silent !tmux set status on |
|
|
silent !tmux list-panes -F '\#F' | grep -q Z && tmux resize-pane -Z |
|
|
set showmode |
|
|
set showcmd |
|
|
set scrolloff=5 |
|
|
Limelight! |
|
|
" ... |
|
|
endfunction |
|
|
|
|
|
autocmd! User GoyoEnter nested call <SID>goyo_enter() |
|
|
autocmd! User GoyoLeave nested call <SID>goyo_leave() |
|
|
< |
|
|
More examples can be found here: {Customization}{10} |
|
|
|
|
|
{4} https://github.com/bling/vim-airline |
|
|
{5} https://github.com/Lokaltog/vim-powerline |
|
|
{6} https://github.com/Lokaltog/powerline |
|
|
{7} https://github.com/itchyny/lightline.vim |
|
|
{8} https://github.com/mhinz/vim-signify |
|
|
{9} https://github.com/airblade/vim-gitgutter |
|
|
{10} https://github.com/junegunn/goyo.vim/wiki/Customization |
|
|
|
|
|
|
|
|
INSPIRATION *goyo-inspiration* |
|
|
============================================================================== |
|
|
|
|
|
- {LiteDFM}{11} |
|
|
- {VimRoom}{12} |
|
|
|
|
|
{11} https://github.com/bilalq/lite-dfm |
|
|
{12} http://projects.mikewest.org/vimroom/ |
|
|
|
|
|
|
|
|
PROS. *goyo-pros* |
|
|
============================================================================== |
|
|
|
|
|
1. Works well with splits. Doesn't mess up with the current window arrangement |
|
|
2. Works well with popular statusline plugins |
|
|
3. Prevents accessing the empty windows around the central buffer |
|
|
4. Can be closed with any of `:q[uit]`, `:clo[se]`, `:tabc[lose]`, or `:Goyo` |
|
|
5. Can dynamically change the width of the window |
|
|
6. Adjusts its colors when color scheme is changed |
|
|
7. Realigns the window when the terminal (or window) is resized or when the size |
|
|
of the font is changed |
|
|
8. Correctly hides colorcolumns and Emojis in statusline |
|
|
9. Highly customizable with callbacks |
|
|
|
|
|
|
|
|
LICENSE *goyo-license* |
|
|
============================================================================== |
|
|
|
|
|
MIT |
|
|
|
|
|
|
|
|
============================================================================== |
|
|
vim:tw=78:sw=2:ts=2:ft=help:norl:nowrap:
|
|
|
|