<commit_before>[![Crates.io](https://img.shields.io/crates/v/skim.svg)](https://crates.io/crates/skim)
[![Build Status](https://travis-ci.org/lotabout/skim.svg?branch=master)](https://travis-ci.org/lotabout/skim)

> Life is short, skim!

Half of our life is spent on navigation: files, lines, commands… You need skim!
It is a general fuzzy finder that saves you time.

It is blazingly fast as it reads the data source asynchronously.

![skim demo](https://cloud.githubusercontent.com/assets/1527040/21603846/09138f6e-d1db-11e6-9466-711cc5b1ead8.gif)

skim provides a single executable: `sk`, basically anywhere you would want to use
`grep` try `sk` instead.

# Table of contents

- [Installation](#installation)
- [Usage](#usage)
    - [As Filter](#as-filter)
    - [As Interactive Interface](#as-interactive-interface)
    - [Key Bindings](#key-bindings)
    - [Search Syntax](#search-syntax)
    - [Exit code](#exit-code)
- [Customization](#customization)
    - [Keymap to redefine](#keymap)
    - [Sort Criteria](#sort-criteria)
    - [Color Scheme](#color-scheme)
    - [Misc](#misc)
- [Advance Topics](#advance-topics)
    - [Interactive Mode](#interactive-mode)
    - [Executing external programs](#executing-external-programs)
    - [Preview Window](#preview-window)
    - [Fields Support](#fields-support)
    - [Use as a Library](#use-as-a-library)
- [FAQ](#faq)
    - [How to ignore files?](#how-to-ignore-files)
    - [Some files are not shown in vim plugin](#some-files-are-not-shown-in-vim-plugin)
- [Difference to fzf](#difference-to-fzf)
- [How to contribute](#how-to-contribute)

# Installation

skim project contains several components:

1. `sk` executable -- the core.
2. `sk-tmux` -- script for launching `sk` in a tmux pane.
3. Vim/Nvim plugin -- to call `sk` inside Vim/Nvim. check [skim.vim](https://github.com/lotabout/skim.vim) for more Vim support.

## Linux

Clone this repository and run the install script:

```sh
git clone --depth 1 <EMAIL>:lotabout/skim.git ~/.skim
~/.skim/install
```

Next: add `~/.skim/bin` to your PATH by putting the following line into your `~/.bashrc`

```
export PATH="$PATH:$HOME/.skim/bin"
```

As an alternative, you can directly [download the sk
executable](https://github.com/lotabout/skim/releases), but extra utilities are recommended.

## OSX

Using Homebrew:<commit_msg>Add installation instructions for Fedora<commit_after>[![Crates.io](https://img.shields.io/crates/v/skim.svg)](https://crates.io/crates/skim)
[![Build Status](https://travis-ci.org/lotabout/skim.svg?branch=master)](https://travis-ci.org/lotabout/skim)

> Life is short, skim!

Half of our life is spent on navigation: files, lines, commands… You need skim!
It is a general fuzzy finder that saves you time.

It is blazingly fast as it reads the data source asynchronously.

![skim demo](https://cloud.githubusercontent.com/assets/1527040/21603846/09138f6e-d1db-11e6-9466-711cc5b1ead8.gif)

skim provides a single executable: `sk`, basically anywhere you would want to use
`grep` try `sk` instead.

# Table of contents

- [Installation](#installation)
- [Usage](#usage)
    - [As Filter](#as-filter)
    - [As Interactive Interface](#as-interactive-interface)
    - [Key Bindings](#key-bindings)
    - [Search Syntax](#search-syntax)
    - [Exit code](#exit-code)
- [Customization](#customization)
    - [Keymap to redefine](#keymap)
    - [Sort Criteria](#sort-criteria)
    - [Color Scheme](#color-scheme)
    - [Misc](#misc)
- [Advance Topics](#advance-topics)
    - [Interactive Mode](#interactive-mode)
    - [Executing external programs](#executing-external-programs)
    - [Preview Window](#preview-window)
    - [Fields Support](#fields-support)
    - [Use as a Library](#use-as-a-library)
- [FAQ](#faq)
    - [How to ignore files?](#how-to-ignore-files)
    - [Some files are not shown in vim plugin](#some-files-are-not-shown-in-vim-plugin)
- [Difference to fzf](#difference-to-fzf)
- [How to contribute](#how-to-contribute)

# Installation

skim project contains several components:

1. `sk` executable -- the core.
2. `sk-tmux` -- script for launching `sk` in a tmux pane.
3. Vim/Nvim plugin -- to call `sk` inside Vim/Nvim. check [skim.vim](https://github.com/lotabout/skim.vim) for more Vim support.

## Linux

### On Fedora

```sh
dnf install skim
```

### From sources

Clone this repository and run the install script:

```sh
git clone --depth 1 git@github.com:lotabout/skim.git ~/.skim
~/.skim/install
```

Next: add `~/.skim/bin` to your PATH by putting the following line into your `~/.bashrc`

```
export PATH="$PATH:$HOME/.skim/bin"
```

### From binary

As an alternative, you can directly [download the sk
executable](https://github.com/lotabout/skim/releases), but extra utilities are recommended.

## OSX

Using Homebrew:
{'fraction_non_alphanumeric': 0.15711297071129707, 'fraction_numerical': 0.016317991631799162, 'mean_word_length': 4.011530398322851, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 6, 'https://': 14, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2665556', 'n_tokens_mistral': 1738, 'n_tokens_neox': 1614, 'n_words': 425}