• Stars
    star
    1,988
  • Rank 23,304 (Top 0.5 %)
  • Language
    Vim Script
  • Created over 5 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Ultimate NeoVim Config for Colemak Users

The Ultimate NeoVim Config for Colemak Users

Sponsored by Instaboard

äø­ę–‡ē‰ˆ

Please DO NOT just copy this configuration folder without really looking at it! Please, at least, read this README file!

Requirements

  • This nvim configuration REQUIRES NeoVim 0.6.0+

After Installation, You Need To

  • Install pip3, and do pip3 install --user pynvim
  • Install node, and do npm install -g neovim
  • Install nerd-fonts (actually it's optional but it looks real good)

After Installation, You Might Want To

First of all

  • Do :checkhealth

For Python Debugger (via vimspector)

  • Install debugpy (pip)

Config Python path

  • Well, make sure you have python
  • See _machine_specific.vim

For Taglist:

  • Install ctags for function/class/variable list

For FZF

  • Install fzf
  • Install ag (the_silver_searcher)

And also...

  • Install figlet for inputing text ASCII art
  • Install xclip for system clipboard access (Linux and xorg only)

Keyboard Shortcuts

1 Basic Editor Features

1.1 The Most Basics

k : switchs to INSERT : mode (same as key i in vanilla vim)

Q : quits current vim window (same as command :q in vanilla vim)

S : saves the current file (same as command :w in vanilla vim)

IMPORTANT

Since the i key has been mapped to k, every command (combination) that involves i should use k instead (for example, ciw should be ckw).

1.2 Remapped Cursor Movement

Shortcut Action Equivalent
u Cursor up a terminal line k
e Cursor down a terminal line j
n Cursor left h
i Cursor right l
U Cursor up 5 terminal lines 5k
E Cursor down 5 terminal lines 5j
N Cursor to the start of the line 0
I Cursor to the end of the line $
Ctrl u Move the view port up 5 lines without moving the cursor Ctrl y
Ctrl e Move the view port down 5 lines without moving the cursor Ctrl e
h Move to the end of this word e
W Move cursor five words forward 5w
B Move cursor five words forward 5b

1.3 Remapped Insert Mode Keys

Shortcut Action
Ctrl a Move cursor to the end of the line
Ctrl u Move the character on the right of the cursor to the end of the line

1.4 Remapped Text Manipulating Commands in Normal Mode

Shortcut Action
l undo
< Un-indent
> Indent
SPACE SPACE Goto the next placeholder (<++>)

1.5 Other Useful Normal Mode Remappings

Shortcut Action
r Compile/Run the current file
SPACE s c Toggle spell suggestion a
SPACE d w Find adjacent duplicated word
SPACE t t Convert every 4 Spaces to a tab
SPACE o Fold
SPACE - Previous quick-fix position
SPACE + Next quick-fix position
\ p Show the path of the current file
SPACE / Create a new terminal below the current window

1.6 Remapped Commands in Visual Mode

Shortcut Action
Y Copy selected text to system clipboard

2 Window Management

2.1 Creating Window Through Split Screen

Shortcut Action
s u Create a new horizontal split screen and place it above the current window
s e Create a new horizontal split screen and place it below the current window
s n Create a new vertical split screen and place it left to the current window
s i Create a new vertical split screen and place it right to the current window
s v Set the two splits to be vertical
s h Set the two splits to be horizontal
s r v Rotate splits and arrange splits vertically
s r h Rotate splits and arrange splits horizontally

2.2 Moving the Cursor Between Different Windows

Shortcut Action
SPACE + w Move cursor to the next window
SPACE + n Move cursor one window left
SPACE + i Move cursor one window right
SPACE + u Move cursor one window up
SPACE + e Move cursor one window down

2.3 Resizing Different Windows

Use the arrow keys to resize the current window.

2.4 Closing Windows

Shortcut Action
Q Close the current window
SPACE q Close the window below the current window. (The current window will be closed if there is no window below)

3 Tab Management

Shortcut Action
t u Create a new tab
t n Go one tab left
t i Go One tab right
t m n Move tab left
t m i Move tab right

4 Terminal Keyboard Shortcuts

Shortcut Action
Ctrl n Escape from terminal input mode

Plugins Keybindings (Screenshots/GIF provided!)

AutoCompletion

COC (AutoCompletion)

Shortcut Action
Space y Get yank history list
gd Go to definition
gr List references
gi List implementation
gy Go to type definition
Space r n Rename a variable

Gif

coc-snippets

Shortcut Action
Ctrl e Expand a snippet
Ctrl n (in snippet) Previous Cursor position in snippet
Ctrl e (in snippet) Next Cursor position in snippet

GIF Demo

File Navigation

coc-explorer (file browser)

Shortcut Action
tt Open file browser
? show help (in explorer)

Png

rnvimr - file browser

  • Make sure you have ranger installed

Press R to open Ranger (file selector)

And Within rnvimr (ranger), you can:

Shortcut Action
Ctrl t Open the file in a new tab
Ctrl x Split up and down with the file
Ctrl v Split left and right with the file

Gif

FZF - the fuzzy file finder

Shortcut Action
Ctrl p FZF Files
Ctrl u Move up 1 item
Ctrl e Move down 1 item
Ctrl w FZF Buffers
Ctrl f FZF Files' Content
Ctrl h FZF Recent Files
Ctrl t FZF Tags

Gif

xtabline (the fancy tab line)

Shortcut What it creates
to Cycle tab mode
\p Show current path

Gif

Text Editing Plugins

vim-table-mode

Shortcut Action
SPACE t m Toggle table mode
SPACE t r Realign table

See :help table-mode.txt for more.

Undotree

Shortcut Action
Shift + L Open Undotree
u Newer Version
e Older Version

Png

vim-visual-multi

Shortcut Action
Ctrl+k Select next key (multiple cursors)
q Deselect the current keys (multiple cursors)
- Select the previous key
= Select the next key
Esc Quit mutiple cursors

Gif

Gif

Gif

Gif

vim-surround

To add surround (string -> "string"):

string

press: yskw':

'string'

To change surround

'string'

press: cs'":

"string"

Gif

vim-subversive

New operator: s:

You can execute s<motion> to substitute the text object provided by the motion with the contents of the default register (or an explicit register if provided). For example, you could execute skw to replace the current word under the cursor with the current yank, or skp to replace the paragraph, etc.

vim-easy-align

Press ga + symbol in normal or visual mode to align text based on symbol

Gif

AutoFormat

Press \ f to format code

vim-markdown-toc (generate table of contents for markdown files)

In markdown files, type :Gen then tab, you'll see your options.

Gif

Navigation Within Buffer

Vista.vim

Press T to toggle function and variable list

Gif

Find and Replace

Far.vim - find and replace

Press SPACE f r to search in cwd.

Gif

Git Related

vim-gitgutter

Shortcut Action
H Show git hunk at current line
SPACE g - Go to previous git hunk
SPACE g + Go to next git hunk
SPACE g f Fold everything except hunks

fzf-gitignore

Press Space g i to create a .gitignore file

Png

Png

Others

vim-calendar

Shortcut Action
\ \ Show clock
\ c Show calendar

Png

Goyo - Work without distraction

Press g y to toggle Goyo

Png

suda.vim

Forgot to sudo vim ...? Just do :sudowrite or :sw

coc-translator

Press ts to translate word under cursor.

Png

Custom Snippets

Markdown

Shortcut What it creates
,n ---
,b Bold text
,s sliced text
,i italic text
,d code block
,c big block of code
,m - [ ] check mark
,p picture
,a link
,1 # H1
,2 ## H2
,3 ### H3
,4 #### H4
,l --------

,f to go to the next <++> (placeholder)

,w to go to the next <++> (placeholder) and then press Enter for you

Some Weird Stuff

Press tx and enter your text

tx Hello<Enter>

 _   _      _ _
| | | | ___| | | ___
| |_| |/ _ \ | |/ _ \
|  _  |  __/ | | (_) |
|_| |_|\___|_|_|\___/

Customized Vertical Cursor Movement

This NeoVim configuration includes a customized vertical cursor movement tailored for Colemak users. It can be located in cursor.vim, and it serves as an alternative to the "number + up/down" key combination.

In order to move the cursor up x lines, press the [ key, and treat the middle row of the Colemak keyboard layout ("arstdhneio") as number 1 to 0. Press the numbers that you'd like your cursor to move (x) and press the space bar.

To move the cursor down, press the ' key instead of the [ key, and the rest would be the same.

Example:

Shortcut Action
[ a o o SPACE Move the cursor up 100 lines
' a r s SPACE Move the cursor down 123 lines
[ d o SPACE Move the cursor up 50 lines

Note: As of now, you may only move vertically up to 199 lines with this key configuration!

More Repositories

1

.config

My dotfiles
Shell
431
star
2

vimrc-example

Vim Script
210
star
3

.vim

Iā€™m using Neovim now: https://github.com/theniceboy/nvim
Vim Script
205
star
4

dwm

A bloated build of dwm with systemtray, gaps, customized tags and other appearance changes
C
192
star
5

Todolist-SwiftUI

Swift
87
star
6

nvim-deus

vim-deus with treesitter support
Lua
71
star
7

scripts

useful scripts
Shell
53
star
8

joshuto.nvim

Lua
48
star
9

st

My build of st
C
43
star
10

HoldToSaveImage

A UIWebView (using Swift 3.0) that allows users to save a image from webview to their photo album with the common gesture: press and hold (long press).
Swift
25
star
11

vim-calc

A vim plugin that calculates math equations in the current buffer
Python
21
star
12

implicitly_animated_reorderable_list_2

A fork of the Flutter package implicitly_animated_reorderable_list
Dart
20
star
13

dwm-hide-and-restore-win.diff

A patch to dwm that allows users to hide and restore windows via keyboard shortcuts
18
star
14

learn-japanese

Python
17
star
15

wallpapers

12
star
16

fzf-gitignore

Forked from fszymanski/fzf-gitignore
Vim Script
6
star
17

security_scoped_resource

Allows an iOS Flutter App to access a greater scope of the file system
Dart
6
star
18

Assignist

Know All Your Assignments!
Swift
3
star
19

SwiftDictQuery

macOS framework written in Swift that can make queries to given MDict files
Swift
3
star
20

git-yolo

You only live once.
Go
2
star
21

Hag-Notes

2
star
22

CW-Air-Surfing

A 3D game written in pure C++ using DarkGDK and OpenGL
Logos
1
star
23

dmenu

David's build of dmenu
C
1
star
24

fzf-lua

Temporary fork of fzf-lua because the original repo disappeared
Lua
1
star
25

Macbeth-Quotes

Macbeth Quotes Quiz Creator
HTML
1
star
26

Calculator

A simple calculator
Swift
1
star
27

FIFA_Player-Creator

A tool that helps you create your own fifa 14/15/16 players
JavaScript
1
star