Code Monkey home page Code Monkey logo

wim's Introduction

Wim News

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

Use this simple installation script for Arch and Arch-based distros.

bash <(curl -s https://raw.githubusercontent.com/wolandark/wim/main/Wim_Arch_Install.sh)

Use this simple installation script for Debian 12 and Testing.

bash <(curl -s https://raw.githubusercontent.com/wolandark/wim/main/Wim_Debian_Install.sh)

Otherwise satisfy the dependencies and grab the wim-3.1.vimrc and rename it to .vimrc and start vim. Plugins will install automatically

Watch the script work here


Intro

The purpose of this project is to not only provide an IDE-like vimrc, but also to teach you how it is constructed. It is made from the ground up from the vanilla Vim with the help of plugins and .vimrc configurations.

Dependencies

  • Vim 8+ upto latest (Tested and also works on vim 7)
  • vimplug (Will be installed automatically as of version 2. Unix and Linux Only! for windows you must use the windows curl command of vimplug)
  • nodejs and npm (For coc completion)
  • FZF
  • Figlet & boxes (For the start menu ascii art)

Some of the features

  • Out of the box plugin installation
  • Tab Completion and snippets for fast coding
  • Easy tab and split navigation
  • Start Screen with bookmarks and file history
  • Beautiful built in base16 colorschemes
  • Nerdtree-like configuration of Netrw
  • Customized Lighline statusline
  • Customizability! It is lightweight and extensible without having to learn a whole new software or language

Usage / Installation

On Arch Linux and other derivatives use the provided installation script, otherwise continue manually

Windows users must delete the statement that auto installs vimplug at the beggining of the vimrc and proceed with the manual installation of vimplug, then launch vim with the new vimrc so that the plugins can be installed. Naturally you must use another editor to alter the vimrc.

  • As of version 2, once you start vim with my .vimrc. vimplug and plugins will be installed automatically. Don't panic and let it work

  • Refer to the release page for easy download. Remember to rename the file to .vimrc

  • Place the .vimrc file in your home directory

  • You can rename your already existing .vimrc or move it to another directory. this way; you can always bring it back if you dont like Wim

  • Place the roman.flf font in /usr/share/figlet/fonts/

  • Install boxes from repositories or compile it.

  • Refer to the list of autocompletion languages and add the ones you'd like with

  • :CocInstall

    • Example: :CocInstall coc-css
  • :CocInstall coc-explorer for using the coc-explorer file manager instead of netrw

    • to start netrw :Vexplore
  • Once the downloads are finished you can start using Vim normally

  • Leader key is naturally space

  • Refer to the table below for a list of key bindings

Optional Dependencies

  • Ranger. See mine
  • Vifm

Notice

  • It was tested on multiple devices and distros with Vim from the terminal on linux and Gvim on Arch and Windows and it works perfectly. If anyone happens to use this on OSX please provide me with your feedback.
  • Please keep in mind that in case your terminal emulator takes charge of some of your keys, its up to you to figure it out. Some terminals do hold unto your Ctrl or Alt or shift key for their own functions
  • You can review the list of plugins and comment out or delete the lines about the ones you dont want. This must be done before running :PlugInstall
    • If you want to delete any plugins later, delete the lines about them and run: :PlugClean

Coc tab completion set up

  • Open your CocConfig by typing :CocConfig into vim's command mode
  • add the following lines to improve Coc's Tab behavior
{
     "suggest.noselect": true
}

:wq to save and quit

Keymappings (Always up to date)

leader is space

Key Bindings

Keys Function
leader v Vifm Floating
leader r Ranger Floating
leader e Coc-Explorer On The Left Side
leader t Terminal
leader i Pop Start Menu
leader T NewTab
leader d Duplicate Cleaner
leader 1-9 Go To Tab
leader tm Move Tab
leader x Close Tab
leader c Fuzzy Colorschemes
leader b Fuzzy Buffers
leader s Fuzzy File Search
leader W Fuzzy Windows
leader H Fuzzy History
leader Hc Fuzzy Command History
leader h chmod +x current file
leader M Fuzzy Mappings
leader w Quick Save w!
leader op Source Current File
leader z Fix Spelling For 1 word
leader l Fix Spelling On 1 Line
leader ww VimWiki
leader \ Border Current line using Toilet
leader mk mkview
leader [ Add Empty Line Above
leader ] Add Empty Line Below
leader S Add Empty Line Above And Below
leader u Move Current Line A Paragraph Up
leader k Move Current Line One Line Up
leader j Move Current Line One Line Down
leader ' Open Vim Terminal
Shift Arrows Resize Splits
Ctrl hjkl/Arrows Focus Between Splits
F6 SpellCheck
Ctrl j Trigger Snippets
Ctrl j k Move Within Triggered Snippet
Ctrl PGDNN List Available Snippets
gcc Comment Out
yss(char) Surround line
ysiw(char) Surround word
fy find char across splits
fl find lines across splits
ml Move to LIne
fw find word across splits
s find two chars across splits
jj escape
; :
Ctrl m Center Cursor
bs #!/bin/bash
be #!/usr/bin/env bash
br <br>
Ctrl h/Arrows Move Between Splits
Ctrl j/Arrows Move Between Splits
Ctrl k/Arrows Move Between Splits
Ctrl l/Arrows Move Between Splits
leader R Rotate Splits
Alt hjkl Move With hjkl In Insert Mode
Alt Arrows Go Tabs Right Or Left

New Catpuccino theme wim-catpuccino Default Gruvbox Colorscheme. Netrw & TagBar Startify Dashboard with history and shortcuts Completion and language support Press Leader+c to chose a new colorscheme

FAQ

Whats with the name?
Woland's Vim = Wim. Get it?
What features does Wim offer?
  • Customizability! It is lightweight and extensible without having to learn a whole new software
  • Easy tab and split navigation
  • Start Screen with bookmarks and file history
  • Beautiful built in colorschemes
  • Easy completion ctags, syntax check and more
  • Lighline, Vim statusline
    • Choices! It is all about choices
Can I expect support?
Yes! Just ask and I will answer. When asking however, provide proper information so that I can help you
Why didn't you use Neovim like everyone else?
Because Vim is the one I use and frankly Vim is fine.
Will you make custom vimrc configurations?

Contact me

Are you open to collaborations?

Contact me

But vimplug is installed with curl!

Yes! and it does only one thing, adding an easier integration for installing plugins.


Consider Supporting the project

BTC
bc1q7tr3znnrsqq85kalk5zedak9mgn9u3ly849t8z
ETH
0x28a60D7429a2DFdf6b009261D3814cA182B34Bb2
Monero
0xd84c96dDa2E6f9ee9DD0439F6F7812c5b8869fE4
Doge
DJKBgAEQ7n5GyozM8jqmGbxnhcH6U2V8hV
Tether
0x28a60D7429a2DFdf6b009261D3814cA182B34Bb2
Tron
TX8mVZajyy7cmH9vsREyAMPjgtRu23ZmxJ
ADA
addr1qxhv2rfrs37qvs0cllfcnu0rd83wre609s74aufkd82da9528v7xq34usds6t8sdt7zjy0hvkcwdfnp9jwacdn0kwuesatvjx4
Avalanche
0x28a60D7429a2DFdf6b009261D3814cA182B34Bb2

wim's People

Contributors

erjanmx avatar vimpersian avatar wolandark avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

wim's Issues

Yank and paste

Hey Woland! First of all THANK YOU for this! It's really the best vimrc I've found. And I've been searching for ages.

I have a little issue. Normally I use "#yy" or "#dd" and "p" to cut or copy and paste "#" amount of lines. This does not seem to work in your file, so you probably remaped those keys. How can I set this back to the original way? And where in the vimrc do you modify this behavior?

Thanks again,
David

cursor shape

Hello. Thanks for best Wim config.
My terminal default cursor shape is I-Beam and also in vim editor is I-Beam too but when I for example open terminal in vim (space+t) and then I close it, my cursor shape change to block shape and also affect to my terminal too, Is is bug??
Regards.

Vim keeps jumping into stdio.h

I used this environment with coc-clangd installed, to write some small C programs with it. No further additions to it has been made.

After saving my main.c with the arguments for the function dprintf used in the wrong order, vim keeps jumping into the stdio.h, where dprintf is defined, along with the error message, and doesn't let me get back to my .c-file.

Cursor Change Delay

Hello!

I am loving this vim configuration! Keep up the good work!

Sadly, I am experiencing one issue. I prefer the cursor a certain way so I went ahead and changed line 152 and 153
from

let &t_SI = "\<Esc>]50;CursorShape=1\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"

to

let &t_SI = "\e[3 q" 
let &t_EI = "\e[1 q" 

This sets the cursor style to blinking block and blinking underline when switching between modes. After changing the style, I notice a cursor change delay when you switch modes i.e. switching between normal, insert, and visual mode.

My guess is that there might be something wrong in the config; something is causing the delay. I ran a test using a different vim config and there was no issues. My old vimrc also did not experience this issue.

Here is a demonstration of what I mean:
wim_bug

  • open vim using wim config - only changed the cursor settings
  • change between normal and insert mode - notice delay
  • open vim using a different config with the -u flag - config only has cursor settings
  • change between normal and insert mode - notice NO delay

What might be the issue here? Any help would be greatly appreciated as I use different cursor styles to distinguish what vim mode I am using.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.