Click to launch a YouTube video demo:
- No bullshit default key mappings
- Mimic Sublime Text / Shell key mappings
- Minimal: one file, no plugin needed!
- Clone this repo to the folder of your choice:
git clone https://github.com/sd65/MiniVim.git
- Go inside this repo:
cd MiniVim
- Launch the install script and follow the instructions:
./install.sh
- It's ready! 😄 Launch Vim:
vim
If you can't clone the repo and do the above steps, just download the .vimrc to your home dir (backup your current .vimrc before).
wget https://raw.githubusercontent.com/sd65/MiniVim/master/vimrc -O ~/.vimrc
And then add stty -ixon
to your .zshrc or .bashrc (your shell will ignore XON/XOFF signals. Needed to remap Ctrl S, Ctrl Q).
- The key mappings can be used in Insert, Normal and Visual mode (yes, no need to exit Insert or Visual mode)
- Vim launched by default in Insert mode (yes, I mainly want to edit the file I'm opening)
- The mouse can be used in Normal and Visual mode to scroll, select, change tab and more.
- There are clear visual hints on which mode you currently using. Like pink=normal, blue=insert and green=visual...
You hate those mappings? No problem, change the 4th line of this .vimrc to UseCustomKeyBindings=0
.
Keys | Action | Comments |
---|---|---|
Moving | ---------- | ---------- |
Arrows |
Move the cursor | Like every editor |
Ctrl Arrows |
Move the cursor fast. | Ctrl is a booster! |
Ctrl A |
Go to the beginning of the line | As in Nano/Shell |
Ctrl E |
Go to the end of the line | As in Nano/Shell, remember as End |
Home |
Go to the beginning of the file | Self explanatory |
End |
Go to the end of the file | Self explanatory too |
Tabs | ---------- | ---------- |
Ctrl T |
Open a new tab | Like Sublime, remember as Tab |
Alt Arrows |
Switch between tabs. | Ctrl Tab cannot be mapped... |
History | ---------- | ---------- |
Ctrl Z |
Undo | Like Sublime |
Ctrl R |
Redo | Like no other, remember as Redo |
Editing | ---------- | ---------- |
Tab |
Indent | Like Sublime |
Shift Tab |
Unindent | Like Sublime |
Ctrl F |
Find | Like Sublime, remember as FInd |
Ctrl H |
Search and Replace | Like Sublime |
PageUp |
Move the line up | Usefull function so dedicated key (don't trust me ? Try it.) |
PageDown |
Move the line down | Same as above |
Ctrl K |
Delete the whole line/block | Like in nano, inspired by Sublime too, remember as Kill the line |
Ctrl Q |
Duplicate the line/block | Remember as "dupliqate"? |
Ctrl L |
Clear/Delete all lines | Like in a shell, remember as Clear |
Ctrl D |
Delete char from the left, as Del |
Like in a shell, remember as Delete |
Ctrl N |
Autocomplete word | Default VIM mapping but interesting one |
Vital | ---------- | ---------- |
Ctrl S |
Save | Like Sublime, remember as Save |
Ctrl C |
Quit | Like in a shell |
Miscellaneous | ---------- | ---------- |
F2 |
Set paste toggle | With paste on you can paste more easily |
F3 |
Show line numbers toggle | Show or hide line numbers |
F4 |
Panic Button! Toggle garbage screen | Remember as "I need to alt-F4!" |
F6 |
Toggle color column at 80th char | A visual helper to write clean code |
Keys | Action | Comments |
---|---|---|
Ctrl O |
Open the Explorer | Remember as Open |
Enter or Right Arrow |
Enter a file/dir | Easy one |
Left Arrow |
Go up a dir | Easy one too |
l |
Display info on file/dir | Remember as ls |
n |
Open a menu to make an action (Create file/dir, Rename, Delete) | Remember as ... New action? |
a |
Toggle 'Show Hidden files only, Show All, Hide hidden files (default)' | Default mapping |
Ctrl C |
Quit | Like in a shell |
You can enter those command in normal mode.
Cmd | Action |
---|---|
:W |
Write the file as root |
:UndoCloseTab |
Reopen the last close buffer/tab in a new tab |
The file is heavily commented. You're welcome to open, read and change what you want. It's easy.
- Work with Vim and GVim.
- Please keep in mind that some keys cannot be mapped as
Ctrl Shift Something
orCtrl Tab
because of Terminals limitations. I have to compose with this 😕 If you're on Windows with Putty or similar, you may experience problems because of key codes. - The color scheme is based on https://github.com/sickill/vim-monokai.
- In the bottom right-hand corner, you have three numbers
146/472-10
. Line146
, total lines472
and column10
. - Tabulations will be expanded into two spaces, the default indent size.
- UTF-8 by default.
- Backups and Swapfiles are stored in
$HOME/.vim/
. - Pressing Enter, Space or Backspace in normal mode will enter insert mode and do action.
- When re-opening a file, Vim will remember the last position.
- When opening multiple file (as
vim file1 file2
), Vim will open those files in new tabs automatically.
- Fix the visual block mode
- Fix the incremental search
- Install.sh is now POSIX
- Fixed typos
- Better code organisation
- Toggle custom key bindings easily
- Toggle 80th column char
- Open file browser in new tab only if tab is empty
- Fix typos
Initial release.