INTRODUCTION
Finally the virus of VIM has reached WINDOWS π. VimifiedExplorer is an AHK script which provides VIM/Vifm like bindings for Windows FileExplorer, and other features like bookmarks, marks etc...
If you do any kind of work/interaction with Windows Explorer and want to boost your productivity Or is frustrated with Windows Explorer(well I was π), you are at right place. Control Windows Explorer completely with just your KEYBOARD. Power of π VIM in Windows Explorerπ.
Note: Executable file is provided along with AHK script.
Author: Sahil Sehwag
OVERVIEW
-
Features
-
Installation
-
Screenshots
-
Documentation
-
Limitations
-
Known Issues
-
Contribution
-
Todo
FEATURES
-
VIM/VIFM like bindings
-
Marks
-
Bookmarks
-
Integration with QTTabBar
-
Colon Commands (currently only one)
-
Displays current mode
-
Currently works on Windows 10 and probably Windows 8(most features should work) too (Only tested on Windows 10)
-
Persistent Marks and Bookmarks (creates .verc in HOME directory to store your marks and bookmarks)
INSTALLATION
- Download VimifiedExplorer.exe.
- Install AHK and run the VimifiedExplorer.ahk script.
SCREENSHOTS
DOCUMENTATION
MODES
Mode |
KeyBinding |
Description |
NORMAL |
<Escape> |
Default mode where you will be spending most of your time |
INSERT |
i |
Mode in which all VimifiedExplorer bindings are disabled |
VISUAL |
v |
Like VIM's VISUAL-LINE mode, Files/Folders will be selected as you move UP and Down |
VISUAL-SELECT |
V |
Moving around won't select any File/Folder to select a File/Folder press <Space> or s . |
NAVIGATION
Note:
General syntax for motion is <COUNT><MOTION>
.
Almost all motions accept COUNT as argument (except MOTIONS like gg etc..)
In table below n
refers to the count passed to command.
Default value for count is 1
KeyBinding |
Description |
Takes COUNT |
j |
To move n DOWN |
yes |
k |
To move n UP |
yes |
h |
To go n Directories back |
yes |
l |
To open selected File(s)/Directory(s) |
no |
J |
To go n locations back in history |
yes |
K |
To go n locations forward in history |
yes |
gg |
To go to FIRST file |
no |
G |
To go to LAST file |
no |
H |
To go to TOP of the visible screen |
yes |
L |
To go to BOTTOM of the visible screen |
yes |
FILE/FOLDER OPERATIONS
Note: COUNT n
to file operations selects Current item + n-1
items down
KeyBinding |
Description |
Takes COUNT |
dd |
Delete currently selected items |
yes |
DD |
Delete currently selected items permanently |
yes |
cc |
Rename currently selected item |
no |
yy |
Yank(Copy) currently selected items |
yes |
yp |
Yank(Copy) path of current folder |
no |
yt |
Yank(Copy) selected items to a folder(select using CopyTo menu) |
no |
xx |
Cut currently selected items |
yes |
xx |
Cut currently selected items to a folder(select using MoveTo menu) |
yes |
p |
Paste files/folders |
no |
P |
Paste shortcut of files/folders |
no |
fn |
Create new folder |
no |
fh |
Hide/Unhide selected items |
no |
MARKS
Keybinding |
Description |
m<CHARACTER> |
Creates a mark of current directory |
'<CHARACTER> |
Opens mark <CHARACTER>(i.e goes to the location binded with <CHARACTER>) |
BOOKMARKS
Note: A bar is opened to enter Bookmark NAME
Keybinding |
Description |
b NAME |
Creates a bookmark of current directory |
" NAME |
Opens a bookmark (i.e goes to the location binded with NAME) |
UI OPERATIONS
Keybinding |
Description |
uh |
Show/Hide hidden items |
ue |
Show/Hide file extensions |
uc |
Show/Hide checkboxes |
uf |
Change column widths to fit its contents |
up |
Show/Hide Preview Pane |
ud |
Show/Hide Details Pane |
un |
Show/Hide Navigation Pane |
ul |
Select the location bar |
MISCELLANOUS OPERATIONS
Keybinding |
Description |
/ |
Incremental search (selects item as you type) |
zc |
Compress selected items |
zu |
UnCompress selected zip file(NOT IMPLEMENTED) |
zp |
Pin selected item to QuickAccess |
zq |
Close current explorer window |
SELECT OPERATIONS
Keybinding |
Description |
s |
Select/Deselect current item |
sa |
Select all items |
sn |
Deselect all currently selected elements |
si |
Inverse selection (Deselects currently selected items and selects remaining items |
OPEN OPERATIONS
Keybinding |
Description |
ot |
Opens Command Prompt in current folder |
on |
Opens selected folders in New Window (If selected item is a file opens current folder) |
op |
Opens Properties dialog of selected items |
os |
Opens Settings dialog of selected items |
or |
Opens Recent Locations menu(In TOP-LEFT corner, use j,k to move DOWN/UP in the list)(Experimental) |
ow |
Opens Open With menu |
oq |
Opens explorer's QuickAccess menu(Press highlighted number to select) |
WINDOW OPERATIONS
Keybinding |
Description |
wh |
Pin window to left |
wj |
Minimize/Pin to bottom |
wk |
Maximize/Pin to top |
wl |
Pin window to right |
wm |
Move current window around(h,j,k,l to move left,down,up,right and esc,enter to cancel,confirm) |
wr |
Resize current window(h,j,k,l to increase/decrease in left,down,up,right direction and esc,enter to cancel,confirm) |
TAB OPERATIONS (QTTabBar)
Keybinding |
Description |
tn |
Create new tab |
tl |
Goto next tab |
th |
Goto previous tab |
tt |
Toggle tab lock |
tq |
Close current tab |
COMMANDS
Command |
Description |
:run<ENTER|TAB><CMD Command> |
Runs command-line commands in current explorer directory |
LIMITATIONS
- Currently only works in List View (i.e. Only UP/DOWN motions are supported)
KNOWN ISSUES
- Mode tooltip doesn't automatically disappears when switching to other applications. (Use
<Escape>
to remove it)
- When using
J,K
to navigate history, system(keyboard) language is automatically cycled left,right (for people with more than 1 language installed)
- When resizing a window in left/top direction causes wierd shaking.
CONTRIBUTION
Contributors are welcomed.
TODO
- Fix known issues
- Implement motions for views other than DETAIL VIEW
- Implementing History Features (Ex. Jumping to last location)
- Implement operations to perform operations like delete on
n
items up etc...
- Implement HELP DOCUMENTATION in application itself
- Complete rewrite to provide a more composable architecture, to provide features like Custom Commands, Extensibility, Custom Mappings, Customizability etc..)