/init.lua

init.lua | Providing you with the capabilities of NVIM throught the familiarity of VSCode's keybindings.

Primary LanguageLua

init.lua 🤡

An attempt to bring NVIM experience closer to VSCode users. This is just a custom init.lua based on this user template, powered by AstroNvim. As well as a way of providing you with the capabilities of NVIM throught the familiarity of VSCode's keybindings. (BETA VERSION)

Keybindings

Remeber to always type "i" when you open a file for the first time (CTRL+Q, i and ESC are your friends).

|✅ = identical |🏗️ = slightly different (under construction) |❓ = not exactly identical yet |✨= New (or different)

State keybindings Actions performed
CTRL + (C\V) Copy and paste
CTRL + X Cut line or text
CTRL + S (Force to) Save file
CTRL + / Comment lines or text
CTRL + B Toggle the file explorer treeview
CTRL + Z Undo
CTRL + SHIFT + Z Redo
CTRL + SHIFT + K Delete line
CTRL + ENTER Insert line below
CTRL + SPACE Toggle autocomplete
CTRL + BACKSPACE Delete word behind the cursor
CTRL + (UP\DOWN) Scroll up or down one line
CTRL + LEFT_CLICK Go to definition
F12 Go to definition
BACKSPACE Delete a character or the selected lines
HOME or END Goes to the start\end of the line in a "smart" way
TAB Indent
SHIFT + TAB Shift indentation backwards
SHIFT + (ARROW KEYS) Select text
ALT + (UP/DOWN) Move line up or down
CTRL + Q Quit
CTRL + G Go to relative line +- Number
CTRL + SHIFT + (UP/DOWN) Enter visual\select block mode
ALT + M Toggle strict (visual) mode
RIGHT_CLICK Copy selected text
🏗️ CTRL + F Find text\pattern
🏗️ CTRL + J Open a terminal horizontally
🏗️ CTRL + (RIGHT\LEFT) Jump words left or right
🏗️ CTRL + SHIFT + (LEFT/RIGHT) Select words
CTRL + D Add cursor to a word
CTRL + ALT + (UP\DOWN) Add cursor up or down

Installation

Windows

Physical Shortcut Mapped to Target App
CTRL+ENTER F9 windowsterminal.exe
CTRL+SPACE F7 windowsterminal.exe
CTRL+SHIFT+UP F8 windowsterminal.exe
CTRL+ENTER+DOWN F6 windowsterminal.exe
CTRL+SHIFT+K F4 windowsterminal.exe
CTRL+SHIFT+Z F10 windowsterminal.exe
curl.exe -o $env:userprofile\.config\nvim\lua\{user}\init.lua https://raw.githubusercontent.com/GiorgosXou/init.lua/main/init.lua
  • Run nvim +PackerSync and you are done.

Linux

key_bindings: # https://stackoverflow.com/a/42461580/11465149
- { key: Return,   mods: Shift        , chars: "\x1b[13;2u" }
- { key: Return,   mods: Control      , chars: "\x1b[13;5u" }
- { key: Z     ,   mods: Control|Shift, chars: "\x1b[26;2u" }
- { key: J     ,   mods: Control      , chars: "\x1b[10;1u" }
curl -o ~/.config/nvim/lua/{user}/init.lua https://raw.githubusercontent.com/GiorgosXou/init.lua/main/init.lua
  • Run nvim +PackerSync and you are done.

Resources

ctrl z crushes binbows (if not mapped)

Why though?

Because :

  • I wanted an answer to my Reddit post
  • I wanted to learn NVIM and is there any better way of learning it besides doing exactly this?
  • I wanted to make NVIM experience more easy peasy lemon squeezy to everyone (more accessible)
  • My first\virgin experience got me stuck inside NVIM therefore I had to call my step-sis to get me unstack\exit
  • Sometimes I think that NVIM limmits the user experience inside insert mode, just a tiny litle bit. jk! relax! i know i can use C+o

Outro

If you won't pay me (i'll probably just die or) I'll make even worse things than this, lol.