Skip to content

RishabhRD/nvim-cheat.sh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 

Repository files navigation

nvim-cheat.sh

cheat.sh integration for neovim.

nvim-cheat.sh provides elegant UI and remove complexity of url handling and special symbols for users.

Screenshots

Installation

Install with your favorite plugin manager. For example with vim-plug:

Plug 'RishabhRD/popfix'
Plug 'RishabhRD/nvim-cheat.sh'

Working

The plugin exports 4 commands:

  • Cheat
  • CheatWithoutComments
  • CheatList
  • CheatListWithoutComments

Each command accepts 0 or more arguments. Arguments decide the initial prompt text.

CheatWithoutComments search the query but don't display the (optional) comments.

Example:

:Cheat
:Cheat cpp reverse number
:CheatWithoutComments
:CheatWithoutComments cpp reverse number

First and third command opens the prompt to search with and without comments respectively.

Second and fourth command opens the prompt with initial prompt text cpp reverse number to search with and without comments respectively.

CheatList and CheatListWithoutComments provides fuzzy finding from all available symbols.

Changing result layout

By default result is displayed in a floating window. However, this may be disturbing for some users. Hence, nvim-cheat.sh provides a global variable g:cheat_default_window_layout with which users can set their default layout.

Example:

vim.g.cheat_default_window_layout = 'split'

Possible values are:

  • split
  • vertical_split
  • tab
  • float

Note: If provided any wrong value, float will be used.

How to query

Plugin behavior is similar to cheat.sh behavior.

The first word should be the language for query. (e.g. cpp)

Rest of words define the query. (e.g. sum of digits)

An example query:

cpp sum of digits

Try to put the language name matching vim filetype for the corresponding language. This would also enable syntax highlighting for result. Example: using javascript for javascript language would produce syntax highlighting. However, using js for javascript would not as vim recognise javascript as filetype not js.

For having different results for the same query append \1, \2, etc to query similar to classic cheat.sh.

Example: cpp read file\1

Keymaps

Keymaps for prompt are:

In insert mode:

  • <CR> : Open result in default layout.
  • <C-x> : Open result in horizontal split.
  • <C-t> : Open result in a new tab.
  • <C-v> : Open result in a vertical split.
  • <C-y> : Open result in floating window.
  • <C-f> : Open result in floating window.
  • <C-c> : Close window without any action.
  • <C-p> : Previous in history
  • <C-n> : Next in history

In normal mode:

  • <CR> : Open result in default layout.
  • <C-x> : Open result in horizontal split.
  • <C-t> : Open result in a new tab.
  • <C-v> : Open result in a vertical split.
  • <C-y> : Open result in floating window.
  • <C-f> : Open result in floating window.
  • <C-c> : Close window without any action.
  • <Esc> : Close window without any action.
  • q : Close window without any action.
  • k : Previous in history
  • j : Next in history

About

cheat.sh integration for neovim in elegant way

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published