fast-syntax-highlighting


Ⅰ. 插件描述

(Short name F-Sy-H or FSH). Syntax-highlighting for Zshell – fine granularity, number of features, 40 work hours themes

Ⅱ. 基本信息

创建日期:  2017-03-26
使用用户:  2
Github星:  729
插件作者:  Zdharma Initiative

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'zdharma/fast-syntax-highlighting'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'zdharma/fast-syntax-highlighting'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'zdharma/fast-syntax-highlighting'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/zdharma/fast-syntax-highlighting

Ⅳ. 文档说明

paypal
paypal
patreon
<br/>New: You can request a feature when donating, even fancy or advanced ones get implemented this way. [There are
reports](DONATIONS.md) about what is being done with the money received.

Fast Syntax Highlighting (F-Sy-H)

Feature rich syntax highlighting for Zsh.

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/highlight-much.png"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

Table of Contents

Other Contents

News

  • 15-06-2019

    • A new architecture for defining the highlighting for specific commands: it now
      uses abstract definitions instead of top-down, regular code. The first effect

    is the highlighting for the git command it is now maximally faithful, it
    follows the git command almost completely.
    Screencast

Installation

Manual

Clone the Repository.

git clone https://github.com/zdharma/fast-syntax-highlighting ~/path/to/fsh

And add the following to your zshrc file.

source ~/path/to/fsh/fast-syntax-highlighting.plugin.zsh

Zinit

Add the following to your zshrc file.

zinit light zdharma/fast-syntax-highlighting

Here's an example of how to load the plugin together with a few other popular
ones with the use of
Turbo,
i.e.: speeding up the Zsh startup by loading the plugin right after the first
prompt, in background:

zinit wait lucid for \
 atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \
    zdharma/fast-syntax-highlighting \
 blockf \
    zsh-users/zsh-completions \
 atload"!_zsh_autosuggest_start" \
    zsh-users/zsh-autosuggestions

Antigen

Add the following to your zshrc file.

antigen bundle zdharma/fast-syntax-highlighting

Zgen

Add the following to your .zshrc file in the same place you're doing
your other zgen load calls in.

zgen load zdharma/fast-syntax-highlighting

Oh-My-Zsh

Clone the Repository.

git clone https://github.com/zdharma/fast-syntax-highlighting.git \
  ~ZSH_CUSTOM/plugins/fast-syntax-highlighting

And add fast-syntax-highlighting to your plugin list.

Features

Themes

Switch themes via fast-theme {theme-name}.

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/theme.png"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

Run fast-theme -t {theme-name} option to obtain the snippet above.

Run fast-theme -l to list available themes.

Variables

Comparing to the project zsh-users/zsh-syntax-highlighting (the upper line):

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/parameter.png"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/in_string.png"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

Brackets

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/brackets.gif"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

Conditions

Comparing to the project zsh-users/zsh-syntax-highlighting (the upper line):

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/cplx_cond.png"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

Strings

Exact highlighting that recognizes quotings.

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/ideal-string.png"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

here-strings

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/herestring.png"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

exec descriptor-variables

Comparing to the project zsh-users/zsh-syntax-highlighting (the upper line):

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/execfd_cmp.png"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

for-loops and alternate syntax (brace {/} blocks)

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/for-loop-cmp.png"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

Function definitions

Comparing to the project zsh-users/zsh-syntax-highlighting (the upper 2 lines):

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/function.png"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

Recursive eval and $( ) highlighting

Comparing to the project zsh-users/zsh-syntax-highlighting (the upper line):

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/eval_cmp.png"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

Chroma functions

Highlighting that is specific for a given command.

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/git_chroma.png"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

The chromas
that are enabled by default can be found
here.

Math-mode highlighting

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/math.gif"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

Zcalc highlighting

<div style="width:100%;background-color:black;border:3px solid black;border-radius:6px;margin:5px 0;padding:2px 5px">
<img

src="https://raw.githubusercontent.com/zdharma/fast-syntax-highlighting/master/images/zcalc.png"
alt="image could not be loaded"
style="color:red;background-color:black;font-weight:bold"

/>
</div>

Performance

Performance differences can be observed in this Asciinema recording, where a 10 kB function is being edited.

<div style="width:100%;background-color:#121314;border:3px solid #121314;border-radius:6px;margin:5px 0;padding:2px 5px">

<img src="https://asciinema.org/a/112367.png" alt="asciicast">


</div>

IRC Channel

Channel #zinit@freenode is a support place for all author's projects. Connect to:
chat.freenode.net:6697 (SSL) or chat.freenode.net:6667
and join #zinit.

Following is a quick access via Webchat IRC

添加新评论