All Projects → skywind3000 → Vim Quickui

skywind3000 / Vim Quickui

Licence: mit
The missing UI extensions for Vim 8.2 (and NeoVim 0.4) !! 😎

Projects that are alternatives of or similar to Vim Quickui

Clui
Command Line User Interface (Console UI inspired by TurboVision)
Stars: ✭ 561 (-21.43%)
Mutual labels:  terminal, tui, gui, widgets
Oni
Oni: Modern Modal Editing - powered by Neovim
Stars: ✭ 11,466 (+1505.88%)
Mutual labels:  neovim, text-editor, gui
Xi Term
A terminal frontend for Xi
Stars: ✭ 446 (-37.54%)
Mutual labels:  terminal, tui, text-editor
Gnvim
GUI for neovim, without any web bloat
Stars: ✭ 1,271 (+78.01%)
Mutual labels:  neovim, text-editor, gui
C Sharp Console Gui Framework
A GUI framework for C# console applications
Stars: ✭ 838 (+17.37%)
Mutual labels:  terminal, tui, gui
Dte
A small, configurable console text editor (moved to https://gitlab.com/craigbarnes/dte)
Stars: ✭ 98 (-86.27%)
Mutual labels:  terminal, tui, text-editor
Kubebox
⎈❏ Terminal and Web console for Kubernetes
Stars: ✭ 1,855 (+159.8%)
Mutual labels:  terminal, tui, gui
Termox
C++17 Terminal User Interface(TUI) Library.
Stars: ✭ 306 (-57.14%)
Mutual labels:  terminal, tui, widgets
Sauron Native
Truly cross platform, truly native. multiple backend GUI for rust
Stars: ✭ 587 (-17.79%)
Mutual labels:  terminal, tui, gui
Rtv
Browse Reddit from your terminal
Stars: ✭ 4,558 (+538.38%)
Mutual labels:  terminal, tui
Tui Rs
Build terminal user interfaces and dashboards using Rust
Stars: ✭ 6,081 (+751.68%)
Mutual labels:  terminal, tui
Gowid
Compositional widgets for terminal user interfaces, written in Go, inspired by urwid.
Stars: ✭ 533 (-25.35%)
Mutual labels:  tui, widgets
Python Progressbar
Progressbar 2 - A progress bar for Python 2 and Python 3 - "pip install progressbar2"
Stars: ✭ 682 (-4.48%)
Mutual labels:  terminal, gui
Fltrdr
A TUI text reader for the terminal.
Stars: ✭ 477 (-33.19%)
Mutual labels:  terminal, tui
Kibi
A text editor in ≤1024 lines of code, written in Rust
Stars: ✭ 522 (-26.89%)
Mutual labels:  terminal, text-editor
Bubbles
TUI components for Bubble Tea 🍡
Stars: ✭ 467 (-34.59%)
Mutual labels:  terminal, tui
Termenv
Advanced ANSI style & color support for your terminal applications
Stars: ✭ 555 (-22.27%)
Mutual labels:  terminal, tui
Pxltrm
🖌️ pxltrm - [WIP] A pixel art editor inside the terminal
Stars: ✭ 459 (-35.71%)
Mutual labels:  terminal, tui
Picotui
Lightweight, pure-Python Text User Interface (TUI) widget toolkit with minimal dependencies. Dedicated to the Pycopy project.
Stars: ✭ 547 (-23.39%)
Mutual labels:  terminal, tui
Gui.cs
Console-based user interface toolkit for .NET applications.
Stars: ✭ 5,879 (+723.39%)
Mutual labels:  terminal, gui

What Is It ?

There are many keymaps defined in my .vimrc. Getting tired from checking .vimrc time to time when I forget some, based on latest +popup feature (vim 8.2), I created this vim-quickui plugin to introduce some basic ui components to enrich vim's interactive experience:

  • Well designed and carefully colored Borland/Turbo C++ flavor ui system combined with vim's productivity.
  • Can be accessed by keyboard only while mouse is also supported.
  • Navigate with the usual Vim keys like h/j/k/l, confirm with ENTER/SPACE and cancel with ESC/Ctrl+[.
  • Tip for each entry can display in the cmdline when you are moving the cursor around.
  • Available widgets: menu, listbox, textbox.. (coming soon)
  • Fully customizable, including color scheme and borders.
  • Corresponding experience in both Vim and NeoVim.
  • Pure vim-script, +python is not required.
  • No longer have to be afraid to forget keymaps anymore.

Just see this GIF demonstration below:

Trying to share my configuration to my friends, I found that they did't have patience to remember all the keymaps in my vimrc, but text ui is quite acceptable for them.

Content

Requirements

  • Vim: 8.2 or later.
  • NeoVim: 0.4.0 or later.

Installation

Plug 'skywind3000/vim-quickui'

For more information, please see the User Manual.

Gallery Screenshot

Menu

Display a dropdown menubar at top of the screen, use hjkl or mouse to navigate:

Border style 1:

Border style 2:

Menu color schemes:

Listbox

When you have hundres of items to deal with, menu is not enough to hold them. Then you will need a listbox.

It has scroll bar, content can be scrolled by keyboard or mouse wheel. You can search items with / or ? command.

It can be used to select buffers or functions in current file:

The cursor will stay in the current function initially. Navigate and press enter to jump to the selected function.

Context menu

Context menu imitates Windows context menu (triggered by your mouse right button), which will display around the cursor:

It is usually used to present some commands that will do something with source code in the current line.

The border can be changed too:

Because some terminals or fonts cannot display unicode borders correctly, so QuickUI choose ascii border characters by default. But you can change it as you like.

Textbox

Textbox is used to display arbitrary text in a popup window.

Display vim help with syntax highlighting in the textbox:

With textbox, you can read the help text at anytime in a popup, without creating a new split window.

Display vim messages:

Navigating the messages with HJKL or PageUp/PageDown is much more convenient than using :messages.

Preview window

Preview window is used to replace traditional pedit command and can be used to display certain file in a small popup window around your cursor:

Sometimes I just want a glimpse to the definition of the current word under cursor without actually open that file, the preview window is much helpful for this.

Use it to preview quickfix result:

If you have many items in the quickfix window, instead of open them one by one, you are able to press p in the quickfix window and preview them in the popup.

Terminal

The terminal widget can allow you open a terminal in the popup window:

This feature require vim 8.2.200 (nvim 0.4.0) or later, it enables you to run various tui programs in a dialog window.

User Manual

To get started, please visit:

For more examples, see my config.

Who Am I ?

My name is Lin Wei, an open source believer and vim enthusiast. I started learning programming in early 1990s. Borland's Turbo Pascal/C++ was the most popular IDE at that time and I really enjoyed the old days, back home from school, powered on my computer, started Turbo c++ 3.1 and studied how to make a game in MS-DOS.

I even imitated Turbo C++ and made my own editor when I moved to Watcom C++:

Because I didn't own a proper editor/IDE for Watcom C++ at that time.

After coming to windows, I tried a lot of GUI-editors, from UltraEdit, editplus to NotePad++, from gedit to geany, none of them could fully satisfy me. Every day I was busy, tired to learn new IDEs/editors or new frameworks, I even forgot the true joy of programming. Eventually I met vim, and soon fell in love with it.

As Vim is evolving nowadays, due to the effort of Bram, 8.2 released. Finally I realise, maybe, it is possible to bring some cool things from 25 years ago to vim now. Maybe I can have a Borland/Turbo C++ flavor vim in my everyday work just like I was learning making PC games in the golden 1990s as a middle school student.

It is time for me to bring these ideas to reality, just start from this plugin.

Credit

like vim-quickui? Follow the repository on GitHub and vote for it on vim.org. And if you're feeling especially charitable, follow skywind3000 on Twitter and GitHub.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].