Wim
This is a Vim configuration that gets you a similar experience as a full-featured IDE. This is accomplished using native vim features with the help of some plugins.
Install / Use
/learn @wolandark/WimREADME
Wim News
Version 3.3 has been released with great improvements
Feature List
<details> <summary> Expand Feature List</summary> <br>- Clean installation. Everything will go where they belong, under
$HOME/.vim/ - Automatic Plugin Installation
- Plugins for LSP, completion, snippets, colors, web development, Git, usability, enhancements, jumping around, utility, integration, etc.
- Vimwiki configuration
- Wim ships with a default vimwiki wiki file that you can read anytime inside Wim.
- Execute python, bash, js, go files without leaving Vim.
- Set the encoding to UTF-8.
- Auto save toggle
- Theme setup
- Catppuccin Mocha theme with true color support and GUI font configuration.
- Cursor shape configuration for different modes.
- Startify configuration
- Customized Startify start screen with a custom header, footer, and bookmarks.
- Clipboard configuration
- Uses the system clipboard for copy-paste.
- Remember cursor position
- Remembers the cursor position in files.
- Persistent undo history
- Sets up persistent undo history with a custom directory.
- Various sane vim settings
- Vim settings like autoindent, ignorecase, number, relativenumber, etc.
- Netrw configuration
- Configures netrw with hidden dotfiles and other settings.
- Lightline statusbar
- Lightline status bar with a custom theme and components.
- Spell checking
- spell checking with custom mappings and highlights.
- Bilingual configuration with easy layout changing inside Vim.
- hidden ZWNJ characters by default for languages like Persian.
- Custom mappings
- custom key mappings for various actions.
- Split navigation
- key mappings for split window navigation and resizing.
- Floaterm configuration
- floaterm plugin with custom key mappings and settings for executing various languages inside Vim.
- Gitgutter configuration
- GitGutter signs for added, modified, and removed lines.
- Tagbar configuration
- Tagbar with a custom ctags binary path.
- Terminal mappings
- Sets up key mappings for terminal usage within Vim.
- Runtime macros
- Load custom runtime macros for various functionalities such as justification, emojis and matchit.
- Ultisnips configuration
- UltiSnips with custom key bindings for snippet expansion and navigation.
- Clever-f configuration
- Clever-F plugin with custom settings for enhanced f/F/t/T motions.
- Disable unnecessary internal plugins
- Disabled several built-in Vim plugins to optimize startup time.
- coc.nvim configuration
- coc.nvim for autocompletion, diagnostics, and other LSP s.
- coc global extensions
- Installs and configures various coc.nvim extensions for different languages and functionalities.
- coc-explorer configuration
- coc Explorer as the file explorer with icons and customizations.
- coc-marketplace for coc extensions installation with fuzzy matching.
- Navigation mappings
- key mappings for navigating definitions, type definitions, implementations, references, and diagnostics using coc.nvim.
Version 3.1 has been released
- Improved style and workflow
- Cleaned up the config
- Corrections on Coc.nvim's behavior
- and many more ...
Version 3.2 has been released
- Replaced vim-css plugin with vim-hexokinase due to vim-css's inability to highlight colors in C files properly (you need go for this new plugin which the installation script will take care of)
- Improved easy motion bindings
- Added Catpuccino theme
- Updated and improved the installation script
Intro
The purpose of this project is to not only provide an IDE-like vimrc, but also to teach you how it is constructed. This project tries to maintain a fairly small vimrc and provide a great out of the box experience as well serving as a ground for further customization.
Dependencies
- Vim 9.0 or later with huge features.
- Note: This config will definitely work with Vim 8.0 and later, but don't miss out on the great features of Vim 9.1! Grab the latest Vim!
- Nodejs
- npm
Example: <br>
Debian:<br>
sudo apt install nodejs npm <br>
Arch:<br>
sudo pacman -S nodejs npm
Installation
Method I (Recommended)
After installing the dependencies, clone the repo and run the symlink.sh script. Then simply wait for the setup to complete.
Tl;Dr:
- Install Dependencies
- Clone This Repo
git clone https://github.com/wolandark/wim.git - cd Into The Cloned Repo
cd wim - Run the
symlink.shscript./symlink.sh
This method enables you to update Wim without having to clone the repo again or
run the install script. Simply git pull every once in a while and as long as
you don't mess up the symlinks, you won't have to do anything else. If you
happen to mess up the symlinks, just run the update.sh script that will be
generated after the first time of running the symlink.sh script.
Watch it work
https://github.com/wolandark/wim/assets/107309764/bfcc50df-684f-40ee-8bdc-a27b1bb65cf8
<!-- -->This is recorded on Devuan (in case that matters).
<!--  -->Method II
After installing the dependencies, run the install.sh script. The script is safe and works sudo-less.
bash <(curl -s https://raw.githubusercontent.com/wolandark/wim/master/install.sh)
Tl;Dr:
- Install Dependencies
- Run the
install.shUsing Curl
Watch it work
https://github.com/wolandark/wim/assets/107309764/40c70e11-6a5a-4fcc-a0b2-4340316d8463
<!-- -->This is recorded on Devuan (in case that matters).
<!--  --> <br>Some of the features
See the exhaustive feature list above
- Out of the box plugin installation <br>
- Out of the box LSP setup for HTML, CSS, JS, TS, Bash and MORE if you want it!
- Tab Completion and snippets for fast coding <br>
- Thoroughly documented in build-it wiki (<leader>vw to access it anytime!)
- Easy tab and split navigation <br>
- Start Screen with bookmarks and file history <br>
- Beautiful catpuccino and base16 colorschemes
- Customized Lighline statusline <br>
- Customizability! It is lightweight and extensible and FAST!
Notes
- Make sure to setup your $TERM variable properly. On Unix and Unix-like systems the $TERM must report
xterm-256color. See this wiki note. - Some terminals hold unto your Ctrl or Alt or shift key for their own functions. It's up to you to use a sane terminal emulator!
- This config has been tested on various GNU+Linux distros as well as MacOS, FreeBSD and Windows, but official support will only be provided for GNU+Linux distros.
Make sure you have nodejs and npm in your PATH and that you have curl installed. <br>
You have to manually install fzf from the official repo and remove the Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } line from wim-vim. (Yes because you're on windows you must suffer!) <br>
Clone the repo and move the wim-vim file under C:\Users\username\vimfiles\vimrc. Make sure to rename it to vimrc. Copy over the coc-settings.json, cheat40.txt and the whole vimwiki directory also under the aforementioned path.
Then simply start Vim and wait for the installation to finish.
</details> <details> <summary>Notes for Mac users</summary>If you plan to use Vim from the terminal, FOR THE LOVE OF CHRIST USE ITERM!
</details>Screenshots
Related Skills
node-connect
344.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
96.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
