1 Star 0 Fork 1

quick-source / vim-airline

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

vim-airline

Say Thanks! reviewdog CI

Lean & mean status/tabline for vim that's light as air.

img

When the plugin is correctly loaded, there will be a nice statusline at the bottom of each vim window.

That line consists of several sections, each one displaying some piece of information. By default (without configuration) this line will look like this:

+-----------------------------------------------------------------------------+
|~                                                                            |
|~                                                                            |
|~                     VIM - Vi IMproved                                      |
|~                                                                            |
|~                       version 8.2                                          |
|~                    by Bram Moolenaar et al.                                |
|~           Vim is open source and freely distributable                      |
|~                                                                            |
|~           type :h :q<Enter>          to exit                               |
|~           type :help<Enter> or <F1>  for on-line help                      |
|~           type :help version8<Enter> for version info                      |
|~                                                                            |
|~                                                                            |
+-----------------------------------------------------------------------------+
| A | B |                     C                            X | Y | Z |  [...] |
+-----------------------------------------------------------------------------+

The statusline is the colored line at the bottom, which contains the sections (possibly in different colors):

section meaning (example)
A displays the mode + additional flags like crypt/spell/paste (INSERT)
B Environment status (VCS information - branch, hunk summary (master), battery level)
C filename + read-only flag (~/.vim/vimrc RO)
X filetype (vim)
Y file encoding[fileformat] (utf-8[unix])
Z current position in the file
[...] additional sections (warning/errors/statistics) from external plugins (e.g. YCM, syntastic, ...)

The information in Section Z looks like this:

10% ☰ 10/100 ln : 20

This means:

10%     - 10 percent down the top of the file
☰ 10    - current line 10
/100 ln - of 100 lines
: 20    - current column 20

For a better look, those sections can be colored differently, depending on various conditions (e.g. the mode or whether the current file is 'modified')

Features

Straightforward customization

If you don't like the defaults, you can replace all sections with standard statusline syntax. Give your statusline that you've built over the years a face lift.

image

Themes

Themes have moved to another repository as of this commit.

Install the themes as you would this plugin (Vundle example):

Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'

See vim-airline-themes for more.

Automatic truncation

Sections and parts within sections can be configured to automatically hide when the window size shrinks.

image

Smarter tab line

Automatically displays all buffers when there's only one tab open.

tabline

This is disabled by default; add the following to your vimrc to enable the extension:

let g:airline#extensions#tabline#enabled = 1

Separators can be configured independently for the tabline, so here is how you can define "straight" tabs:

let g:airline#extensions#tabline#left_sep = ' '
let g:airline#extensions#tabline#left_alt_sep = '|'

In addition, you can also choose which path formatter airline uses. This affects how file paths are displayed in each individual tab as well as the current buffer indicator in the upper right. To do so, set the formatter field with:

let g:airline#extensions#tabline#formatter = 'default'

Here is a complete list of formatters with screenshots:

default

image

jsformatter

image

unique_tail

image

unique_tail_improved

image

Seamless integration

vim-airline integrates with a variety of plugins out of the box. These extensions will be lazily loaded if and only if you have the other plugins installed (and of course you can turn them off).

ctrlp.vim

image

unite.vim

image

denite.nvim

image

tagbar

image

csv.vim

image

syntastic

image

hunks (vim-gitgutter & vim-signify & coc-git)

image

vimagit

vim-airline-vimagit-demo

flog

vim-flog-airline-demo

virtualenv

image

tmuxline

image

promptline

airline-promptline-sc

ctrlspace

papercolor_with_ctrlspace

xkb-switch/xkb-layout

image

vimtex

image

localsearch

image

LanguageClient

image

Vim-CMake

image

vim.battery

image

Extras

vim-airline also supplies some supplementary stand-alone extensions. In addition to the tabline extension mentioned earlier, there is also:

whitespace

image

statusline on top

The statusline can alternatively be drawn on top, making room for other plugins to use the statusline: The example shows a custom statusline setting, that imitates Vims default statusline, while allowing to call custom functions. Use :let g:airline_statusline_ontop=1 to enable it.

image

Configurable and extensible

Fine-tuned configuration

Every section is composed of parts, and you can reorder and reconfigure them at will.

image

Sections can contain accents, which allows for very granular control of visuals (see configuration here).

image

Extensible pipeline

Completely transform the statusline to your liking. Build out the statusline as you see fit by extracting colors from the current colorscheme's highlight groups.

allyourbase

Rationale

There's already powerline, why yet another statusline?

  • 100% vimscript; no python needed.

What about vim-powerline?

  • vim-powerline has been deprecated in favor of the newer, unifying powerline, which is under active development; the new version is written in python at the core and exposes various bindings such that it can style statuslines not only in vim, but also tmux, bash, zsh, and others.

Where did the name come from?

I wrote the initial version on an airplane, and since it's light as air it turned out to be a good name. Thanks for flying vim!

Installation

This plugin follows the standard runtime path structure, and as such it can be installed with a variety of plugin managers:

Plugin Manager Install with...
Pathogen git clone https://github.com/vim-airline/vim-airline ~/.vim/bundle/vim-airline
Remember to run :Helptags to generate help tags
NeoBundle NeoBundle 'vim-airline/vim-airline'
Vundle Plugin 'vim-airline/vim-airline'
Plug Plug 'vim-airline/vim-airline'
VAM call vam#ActivateAddons([ 'vim-airline' ])
Dein call dein#add('vim-airline/vim-airline')
minpac call minpac#add('vim-airline/vim-airline')
pack feature (native Vim 8 package feature) git clone https://github.com/vim-airline/vim-airline ~/.vim/pack/dist/start/vim-airline
Remember to run :helptags ~/.vim/pack/dist/start/vim-airline/doc to generate help tags
manual copy all of the files into your ~/.vim directory

Documentation

:help airline

Integrating with powerline fonts

For the nice looking powerline symbols to appear, you will need to install a patched font. Instructions can be found in the official powerline documentation. Prepatched fonts can be found in the powerline-fonts repository.

Finally, you can add the convenience variable let g:airline_powerline_fonts = 1 to your vimrc which will automatically populate the g:airline_symbols dictionary with the powerline symbols.

FAQ

Solutions to common problems can be found in the Wiki.

Performance

Whoa! Everything got slow all of a sudden...

vim-airline strives to make it easy to use out of the box, which means that by default it will look for all compatible plugins that you have installed and enable the relevant extension.

Many optimizations have been made such that the majority of users will not see any performance degradation, but it can still happen. For example, users who routinely open very large files may want to disable the tagbar extension, as it can be very expensive to scan for the name of the current function.

The minivimrc project has some helper mappings to troubleshoot performance related issues.

If you don't want all the bells and whistles enabled by default, you can define a value for g:airline_extensions. When this variable is defined, only the extensions listed will be loaded; an empty array would effectively disable all extensions (e.g. :let g:airline_extensions = []).

Also, you can enable caching of the various syntax highlighting groups. This will try to prevent some of the more expensive :hi calls in Vim, which seem to be expensive in the Vim core at the expense of possibly not being one hundred percent correct all the time (especially if you often change highlighting groups yourself using :hi commands). To set this up do :let g:airline_highlighting_cache = 1. A :AirlineRefresh will however clear the cache.

In addition you might want to check out the dark_minimal theme, which does not change highlighting groups once they are defined. Also please check the FAQ for more information on how to diagnose and fix the problem.

Screenshots

A full list of screenshots for various themes can be found in the Wiki.

Maintainers

The project is currently being maintained by Christian Brabandt and Bailey Ling.

If you are interested in becoming a maintainer (we always welcome more maintainers), please go here.

License

MIT License. Copyright (c) 2013-2021 Bailey Ling & Contributors.

The MIT License (MIT) Copyright (C) 2013-2021 Bailey Ling, Christian Brabandt, et al. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

暂无描述 展开 收起
Vim script 等 2 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/quick-source/vim-airline.git
git@gitee.com:quick-source/vim-airline.git
quick-source
vim-airline
vim-airline
master

搜索帮助

14c37bed 8189591 565d56ea 8189591