| ; ; AutoHotkey Version: 1.x ; Language: English ; Platform: Win9x/NT ; Author: savage ; Co-Author: Elnox ; ; Script Function: ; VIM-mode for windows. Standard movement and basic : commands. ; ;---AUTORUN SECTION ;#NoTrayIcon #UseHook on SetCapsLockState, AlwaysOff SetTitleMatchMode, 2 Running = false ;---HOTKEY SECTION ;Command Mode $ESC:: IfWinActive, GVIM { return } IfWinActive ahk_class rctrl_renwnd32 { Running = true ;WinGetPos, X, Y,,,A ;CoordMode, ToolTip, rctrl_renwnd32 ;ToolTip, -- NORMAL --, 0, %Y% CoordMode, ToolTip, Screen ToolTip, -- NORMAL --, 0, 0 return } If running = true { GoSub, TypingMode } else { Running = true CoordMode, ToolTip, Screen ToolTip, -- NORMAL --, 0, 0 } return TypingMode: ;ToolTip CoordMode, ToolTip, Screen ToolTip, -- INSERT MODE --, 0, 0 Running = false return I:: If running = true { Gosub TypingMode } else { send, i } return H:: If running = true { Send, {left} } else { Send, h } return J:: If running = true { Send, {down} } else { Send, j } return K:: If running = true { Send, {up} } else { Send, k } return L:: If running = true { Send, {right} } else { Send, l } return X:: If running = true { Send, {Delete} } else { Send, x } return +X:: If running = true { Send, {backspace} } else { Send, x } return A:: If running = true { Send, {end} GoSub, TypingMode } else { Send, a } return O:: If running = true { Send, {End}{Enter} GoSub, TypingMode } else { Send, o } return P:: If running = true { Send, ^v } else { Send, p } return Y:: If running = true { Send, ^c } else { Send, y } return U:: If running = true { Send, ^z } else { Send, u } return ^R:: If running = true { Send, ^y } else { Send, r } return W:: If running = true { Send, ^{Right} } else { Send, w } return B:: If running = true { Send, ^{Left} } else { Send, b } return +4:: If running = true { Send, {End} } else { Send, +4 } return 0:: If running = true { Send, {Home} } else { Send, 0 } return +6:: If running = true { Send, {Home} } else { Send, +6 } return +5:: If running = true { Send, ^b } else { Send, +5 } return ^F:: If running = true { Send, {PgDn} } else { Send, ^f } return ^B:: If running = true { Send, {PgUp} } else { Send, ^b } return +H:: if running = true send, {shift down}{left}{shift up} else send, +h return +L:: if running = true send, {shift down}{right}{shift up} else send, +l return +J:: if running = true send, {shift down}{down}{shift up} else send, +j return +K:: if running = true send, {shift down}{up}{shift up} else send, +k return +V:: if running = true send,{end}{Shift down}{home}{Shift up} else send, +V return d:: if running = true { running = false Input, UserInput, L3, {enter},d,w,b,^,$ if UserInput = w send, {Shift down}^{right}{Shift up}{Delete} else if UserInput = b Send, {Shift down}^{Left}{Shift Up}{Delete} else if UserInput = ^ Send, {Shift down}{home}{Shift Up}{Delete} else if UserInput = $ Send, {Shift down}{end}{Shift Up}{Delete} else if UserInput = d Send, {end}{Shift down}{home}{Shift up}^x running = true } else { Send, d } return 5:: if running = true { running = false Input, UserInput, L3, {enter},w,b,^,$ if UserInput = w send, ^{right}^{right}^{right}^{right}^{right} else if UserInput = b Send, ^{left}^{left}^{left}^{left}^{left} else if UserInput = $ { Send, {Shift down}{end}{Shift Up}{Delete} } else if UserInput = ^ { Send, {Shift down}{home}{Shift Up}^x } running = true } else { Send, 5 } return +`;:: if running = true { running = false Input, UserInput, L3, {enter} if UserInput = w { Send, ^s } else if UserInput = wq { Send, ^s WinClose, A } else if UserInput = q { WinClose, A } else if UserInput = e { Send, ^o } else if UserInput = bn { Send, !{Tab} } else if UserInput = bp { Send, +!{Tab} } running = true } else { Send, +`; } return ; NumericFunctions(8) ;return ;NumericFunctions(x) ;{ ; Input, UserInput, L3, {enter}; ; ;loop, x ;{ ; running = false ; if UserInput = h ; send, {left} ; else if UserInput = l ; send, {right} ; else if UserInput = j ; send, {down} ; else if UserInput = k ; send, {up} ; running = true ; ; msgbox come here? ;} ; return ; "Return" expects an expression. ;} +^L::Reload ^!x::ExitApp |