diff --git a/.gitignore b/.gitignore index 09d2f16..cdfff5e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *.un *.un~ /vim/.vim/plugins/* +*.swp diff --git a/autohotkey/AHK_Scripts.ahk b/autohotkey/AHK_Scripts.ahk new file mode 100644 index 0000000..9db8d29 --- /dev/null +++ b/autohotkey/AHK_Scripts.ahk @@ -0,0 +1,110 @@ +; vim.exe should be in the %path% variable or in the same directory as vimedit.exe + +#SingleInstance force + +Hotkey, XButton1 & v, EditSelect +Hotkey, XButton1 & s, EditSelectSql +Hotkey, XButton1 & p, EditSelectPython +Hotkey, XButton1 & z, EditSelectTest + +EditSelect: + winId := WinExist("A") + Clipboard = + Send ^{ins} + ; If no text is selected then select the current line + if Clipboard = + { + Send {home} + Send +{end} + Send ^{ins} + } + ; if this isn't in home folder I get permissions issues + fileName := "c:\users\ikeane\es" . A_YYYY . A_MM . A_DD . A_Hour . A_Min . A_Sec . A_MSec + FileDelete, %fileName% + FileAppend, %Clipboard%, %fileName% + ; noudf turns off undofiles + runwait, "c:\Program Files (x86)\Vim\vim82\gvim.exe" -c "set noudf" %fileName%, c:\ + FileRead, contents, %fileName% + StringRight, ending, contents, 2 + if ending = `r`n + StringTrimRight, contents, contents, 2 ; remove last crlf from clipboard + Clipboard := contents + WinActivate ahk_id %winId% + Send +{ins} + contents = + FileDelete, %fileName% +return + +EditSelectTest: + winId := WinExist("A") + Send ^{ins} + fileName := "c:\users\ikeane\es" . A_YYYY . A_MM . A_DD . A_Hour . A_Min . A_Sec . A_MSec + FileDelete, %fileName% + FileAppend, %Clipboard%, %fileName% + runwait, "c:\Program Files (x86)\Vim\vim82\gvim.exe" -c "set noudf" %fileName%, c:\ + FileRead, contents, %fileName% + StringRight, ending, contents, 2 + if ending = `r`n + StringTrimRight, contents, contents, 2 ; remove last crlf from clipboard + Clipboard := contents + WinActivate ahk_id %winId% + Send +{ins} + contents = + FileDelete, %fileName% +return + +EditSelectSql: + winId := WinExist("A") + Clipboard = + Send ^{ins} + ; If no text is selected then select the current line + if Clipboard = + { + Send {home} + Send +{end} + Send ^{ins} + } + ; if this isn't in home folder I get permissions issues + fileName := "c:\users\ikeane\es" . A_YYYY . A_MM . A_DD . A_Hour . A_Min . A_Sec . A_MSec + FileDelete, %fileName% + FileAppend, %Clipboard%, %fileName% + ; noudf turns off undofiles + runwait, "c:\Program Files (x86)\Vim\vim82\gvim.exe" -c "set noudf syntax=sql" %fileName%, c:\ + FileRead, contents, %fileName% + StringRight, ending, contents, 2 + if ending = `r`n + StringTrimRight, contents, contents, 2 ; remove last crlf from clipboard + Clipboard := contents + WinActivate ahk_id %winId% + Send +{ins} + contents = + FileDelete, %fileName% +return + +EditSelectPython: + winId := WinExist("A") + Clipboard = + Send ^{ins} + ; If no text is selected then select the current line + if Clipboard = + { + Send {home} + Send +{end} + Send ^{ins} + } + ; if this isn't in home folder I get permissions issues + fileName := "c:\users\ikeane\es" . A_YYYY . A_MM . A_DD . A_Hour . A_Min . A_Sec . A_MSec + FileDelete, %fileName% + FileAppend, %Clipboard%, %fileName% + ; noudf turns off undofiles + runwait, "c:\Program Files (x86)\Vim\vim82\gvim.exe" -c "set noudf syntax=Python" %fileName%, c:\ + FileRead, contents, %fileName% + StringRight, ending, contents, 2 + if ending = `r`n + StringTrimRight, contents, contents, 2 ; remove last crlf from clipboard + Clipboard := contents + WinActivate ahk_id %winId% + Send +{ins} + contents = + FileDelete, %fileName% +return diff --git a/qmk/pinky3_main/images/Layer_0.png b/qmk/pinky3_main/images/Layer_0.png new file mode 100644 index 0000000..825e0eb Binary files /dev/null and b/qmk/pinky3_main/images/Layer_0.png differ diff --git a/qmk/pinky3_main/images/Layer_1.png b/qmk/pinky3_main/images/Layer_1.png new file mode 100644 index 0000000..ac2e8f0 Binary files /dev/null and b/qmk/pinky3_main/images/Layer_1.png differ diff --git a/qmk/pinky3_main/images/Layer_2.png b/qmk/pinky3_main/images/Layer_2.png new file mode 100644 index 0000000..8f06efe Binary files /dev/null and b/qmk/pinky3_main/images/Layer_2.png differ diff --git a/qmk/pinky3_main/images/Layer_3.png b/qmk/pinky3_main/images/Layer_3.png new file mode 100644 index 0000000..e0db26a Binary files /dev/null and b/qmk/pinky3_main/images/Layer_3.png differ diff --git a/qmk/pinky3_main/images/Layer_4.png b/qmk/pinky3_main/images/Layer_4.png new file mode 100644 index 0000000..3b1a23a Binary files /dev/null and b/qmk/pinky3_main/images/Layer_4.png differ diff --git a/qmk/pinky3_main/pinky_3_layout_main.hex b/qmk/pinky3_main/pinky_3_layout_main.hex new file mode 100644 index 0000000..cbaa9e0 --- /dev/null +++ b/qmk/pinky3_main/pinky_3_layout_main.hex @@ -0,0 +1,941 @@ +:100000000C941F020C9466020C9466020C949609E0 +:100010000C9466020C9466020C9466020C946602C0 +:100020000C9466020C9466020C94651A0C94371BAF +:100030000C94FB150C9466020C9466020C946602F8 +:100040000C9466020C9466020C9466020C94660290 +:100050000C9466020C9448160C9466020C9466028A +:100060000C9466020C9466020C9466020C94660270 +:100070000C9466020C9466020C9466020C94660260 +:100080000C9466020C9466020C9466020C94660250 +:100090000C9466020C9466020C9466020C94660240 +:1000A0000C9466020C9466020C9466021C0C1C0CE8 +:1000B0004E0C4E0CB10DB10DB10DB10D9B0C300DB0 +:1000C000410D410DA10DB10DB10DAA0D450E450E0D +:1000D000570E570E4E0E570E570E570E450E450E25 +:1000E000530E570E570E530EA41BCB1BC31CCB1B1A +:1000F000C31C171C3A1CC31C911CA01C2B631400AE +:100100001A000800150017002F00296104001600CE +:10011000070009000A00260226621D001B000600D7 +:10012000190005001350000000000000E200E30089 +:10013000125049002A00130012000C0018001C0085 +:100140003000340033000F000E000D000B002702BA +:100150002800380037003600100011001150000050 +:1001600000000000155046002C0014502B003602F1 +:10017000520037020000000000002900500051002A +:100180004F00000000000000000000000000B2006E +:10019000000000000000000000000000000000005F +:1001A000000000002A002E0226002500240038004E +:1001B000000022022D00230022002100250223023C +:1001C00028002E0020001F001E0027000100000054 +:1001D000000000000000000000000000000000001F +:1001E000000000000000000000000000000000000F +:1001F00000004E004A000000000000000000000067 +:1002000000004B00000000000000000000000000A3 +:10021000010000002A004C00000000000000000067 +:10022000000000004F00520051005000000000008C +:1002300000000000000000000000000000000000BE +:1002400000000000000000000000000035001E0259 +:100250001F02200221022202000000003A003B009F +:100260003C003D003E0000000000000000000000D7 +:10027000000000000000000000000000000000007E +:10028000000000002D024500440025022402230244 +:100290000000310043004200410040003F000000E8 +:1002A000000000000000000000000000000000004E +:1002B000000000000000000000000100000000003D +:1002C000000000000000000000000000000000002E +:1002D000BE00000000000000000000000000000060 +:1002E000000000000000000000000000000000000E +:1002F000000000000000AE0000000000BD00000093 +:10030000000000000000AB00A900AA00AC00E30060 +:100310000000000000000000A80000000000000035 +:1003200000000000000000000000010000000000CC +:1003300000000000000000000000000000000000BD +:1003400000000000000000000000000000000000AD +:10035000000000000000000000000000000000009D +:10036000000000000000000000000000000000008D +:10037000000000000000000000000000000000007D +:10038000000000000000000000000000000000006D +:100390000000000001000000000000000403300025 +:1003A00000000C03500069006E006B007900000033 +:1003B0001403740061006D0061006E006900730039 +:1003C0006800690000000403090409022200010119 +:1003D00000A0FA0904000001030101000921110134 +:1003E00000012240000705810308000A12011001E4 +:1003F00000000008EDFE603001000102030105016C +:100400000906A101050719E029E71500250195084E +:10041000750181029501750881010507190029FF01 +:10042000150026FF009506750881000508190129A9 +:1004300005950575019102950175039101C011247F +:100440001FBECFEFDAE0DEBFCDBF04B603FE27C08C +:100450008091E8019091E901A091EA01B091EB014E +:100460008730904BA740B04BD1F41092E801109226 +:10047000E9011092EA011092EB0114BE84B7877F64 +:1004800084BF0FB6F894A89580916000886180932E +:100490006000109260000FBEE0E0F8E3099511E003 +:1004A000A0E0B1E0E2E8FAE302C005900D92A632C6 +:1004B000B107D9F721E0A6E2B1E001C01D92A83E44 +:1004C000B207E1F70E94A7170C943F1D0C9400009F +:1004D0000C9423050C9421050C9472020C94C80210 +:1004E00081E0089581E0089508950C9474021F93AB +:1004F000CF93DF9300D000D01F92CDB7DEB74983F2 +:100500005A836B833091450189819A81311114C0DE +:10051000662359F0222349F00E947E13182F682F7A +:1005200089819A810E94271303C00E945213182FB9 +:1005300069817A81812F04C00E947E1369817A814A +:100540000F900F900F900F900F90DF91CF911F9110 +:100550000C942703FC01262F408151816281738115 +:1005600084810C947702CF93DF93EC0160E00E94CA +:10057000AA02BE01DF91CF910C9475020E94B014C3 +:10058000811102C00E9450150C9468020C946A02FA +:10059000089581E008950C94C902CF93C82F0E945A +:1005A0006E028C2F0E94CB02CF91089508950E9475 +:1005B000330E0E94D6022FEF84E39CE0215080404E +:1005C0009040E1F700C000000C946E160F931F934B +:1005D000CF93DF93EC0161E00E94AA028C01BE017F +:1005E0000E946C02882349F1BE01C8010E944E0797 +:1005F000882319F1BE01C8010E948F078823E9F002 +:10060000BE01C8010E94BA088823B9F08A818823F4 +:1006100069F001158CE5180731F00E3D1C4531F4E9 +:100620000E9450150AC00E94D70207C0CE01DF9178 +:10063000CF911F910F910C94700280E0DF91CF91C8 +:100640001F910F91089580E090E00895089528E3A8 +:10065000829FC0011124FC0127E0729FE00DF11D73 +:100660001124E60FF11DEE0FFF1FE450FF4F85919F +:1006700094910895880F991FFC01E456FC4F8591D1 +:1006800094910895CF93DF930E9427030E943E0424 +:10069000EC01811521E59207A0F5811540E594074D +:1006A00008F086C0C11580E2D807F0F4C11521E03A +:1006B000D20708F0DFC0C03ED10588F4C03CD105A8 +:1006C00008F062C0C130D10509F4D4C008F4D0C02C +:1006D000CE010497813A910508F4CCC0C9C0C83E48 +:1006E000D10508F4C7C0C4C0C11540E4D40708F060 +:1006F0005CC0C11580E3D80708F04DC0CE019F70E3 +:1007000046C0811525E59207A0F4811544E59407BC +:1007100008F095C0C11583E5D80708F07AC0C11567 +:1007200022E5D20708F05FC0DC2FCC27C16FD06A6A +:10073000A1C0811549E59407A0F4C11588E5D80743 +:1007400008F082C0C11526E5D20708F091C08C2FB1 +:100750000E94D2048F71C82FD0E0DC2FCC27D0624A +:1007600089C081154AE5940708F473C09056811535 +:10077000904208F07DC08D2F8F710E94D204DD273A +:10078000D0628F71D82B76C0CE01805C91090E9417 +:100790003A03EC016FC0CE019927D3FF03C0EC01EF +:1007A000D86C68C0EC01D06C65C0DF70D06A62C0E4 +:1007B00074E0969587957A95E1F783709C2F9370F6 +:1007C00021E030E002C0220F331F9A95E2F73C6827 +:1007D000382BCF70C695C69540E2C49FE001112426 +:1007E000C22BD32B47C0CE018370992721E030E084 +:1007F00002C0220F331F8A95E2F78C2F86958695CB +:1008000040E2849FC0011124E901C82BD92BDC6888 +:1008100031C0CE018370992721E030E002C0220F61 +:10082000331F8A95E2F78C2F8695869540E2849F48 +:10083000C0011124E901C82BD92BDA681BC0D82FBD +:10084000CC27C46FD06A16C0DC2FCC27C06FD06A0B +:1008500011C08F700E94D20494E0D695C7959A95E6 +:10086000E1F7CF70D0E0DC2FCC27D069C82B02C0D5 +:10087000C0E0D0E0CE01DF91CF910895823891059C +:1008800069F1B0F48133910509F46DC048F48932FF +:10089000910509F463C08A32910509F469C008958D +:1008A0008533910509F455C089339105B9F0089550 +:1008B000833E910569F138F4803E9105B1F0823EA6 +:1008C000910509F10895863E9105A9F1873E9105AC +:1008D000B9F1843E910509F064C023C02091D9018B +:1008E00020FD4FC021FD4DC008958091D90180FDAC +:1008F00044C08091DA0180FF44C08091D90184FD19 +:1009000042C083EE4DC08091D90182FF38C0F5CF3F +:100910008091D90182FD33C08091DA0180FD31C020 +:10092000ECCF8091DA0181FF32C08091D90184FD42 +:100930002AC087EE35C08091D90183FF26C0F5CF4C +:100940008091D90183FD21C08091DA0181FD1FC012 +:10095000ECCF8091D90185FD1CC01DC08091D901CB +:1009600085FD19C016C08091D90186FD16C017C03B +:100970008091D90186FD13C010C089E311C082EEB9 +:100980000FC080EE0DC080E00BC086EE09C084EE83 +:1009900007C089E205C085E303C08AE201C081E3A4 +:1009A00090E008959091D90192FF0DC0282F2871F1 +:1009B000283019F4877F846006C0282F24712430E2 +:1009C00011F48B7F886093FF0DC0282F2871283188 +:1009D00019F4877E846106C0282F2471243111F414 +:1009E0008B7E88612091DA0120FF0DC0382F38718D +:1009F000383019F4877F816006C0382F317131306B +:100A000011F48E7F886021FF0DC0282F28712831B6 +:100A100019F4877E816106C0282F2171213111F4DC +:100A20008E7E886194FD877E0895E82FF0E0E5537F +:100A3000FE4F80810895089580EA8A95F1F7089520 +:100A400008950C9420050C9420050895CF93DF930E +:100A50000E9493068091000180910001811102C0E3 +:100A600094E001C090E09093D40184E0891B8093CE +:100A7000D301ADE1B1E041E251E061E070E08D9180 +:100A8000E82FE295EF70F0E021A18F70EB0102C03A +:100A9000CC0FDD1F8A95E2F7CE019C2F9095922313 +:100AA00091A392A1892B82A34A175B0741F7A6E184 +:100AB000B1E04DE151E061E070E08D91E82FE29509 +:100AC000EF70F0E021A18F70EB0102C0CC0FDD1FB1 +:100AD0008A95E2F7CE019C2F9095922391A392A143 +:100AE000892B82A34A175B0741F7E3ECF1E0ABECFB +:100AF000B1E08BEC91E011921D928E179F07D9F710 +:100B000084E00E943D060E94BE02DF91CF910C94CA +:100B10009D060E9474068823F1F08091D30190E035 +:100B200085539E4F0E94B006811111C0809126010D +:100B30008F5F80932601863060F0E091D301F0E072 +:100B4000E553FE4F108211821282138202C010926E +:100B500026010C94C6028091D40190E085539E4FEB +:100B60000E94CB060C9425056F927F928F929F92E4 +:100B7000AF92BF92CF92DF92EF92FF920F931F93AB +:100B8000CF93DF938DE1882E81E0982E03EC11E066 +:100B900097ECA92E91E0B92E712CCC24C394D12CC2 +:100BA000F40181914F01C82FC295CF70D0E099A177 +:100BB0008F70760101C0EE0C8A95EAF7892F8E2995 +:100BC00089A38AA16E2C609486218AA30E941C05A9 +:100BD000E6E1F1E040E050E020E03191A32FA29562 +:100BE000AF70B0E090968C9190E03F7002C0959508 +:100BF00087953A95E2F780FD07C08C2D042E01C041 +:100C0000880F0A94EAF701C080E0282B4F5F5F4FFE +:100C10004730510511F789A1682269A28AA1E82A03 +:100C2000EAA2F8018081281719F0208381E001C031 +:100C300080E0782A0F5F1F4FA016B10609F0B0CFF1 +:100C40006091D40170E065537E4F272D44E083EC22 +:100C500091E00E943E060E948905872DDF91CF9189 +:100C60001F910F91FF90EF90DF90CF90BF90AF90CA +:100C70009F908F907F906F9008950895FF920F93AB +:100C80001F93CF93DF938C01F62ED72FC42F2223EF +:100C900049F081E0809329010E942D16909328014C +:100CA00080932701809129018823C1F08091270139 +:100CB000909128010E943916069780F0EF2DFD2FA4 +:100CC000D8014C2F50E0CD01801B910B8417950764 +:100CD0001CF48D918193F7CF10922901DF91CF9170 +:100CE0001F910F91FF90089580912A01811112C0E8 +:100CF0008091D80080618093D8008AE18A95F1F7CD +:100D000000C08091D90080FD02C082E001C081E076 +:100D100080932A0181E090912A01913009F080E0CE +:100D200008950C9474060E949106809300010E941D +:100D3000740681110C94A40608950E947406811112 +:100D400002C00C94AA06089561E070E081E091E091 +:100D50000C94480961E070E081E091E00C944F0947 +:100D6000CF93DF93D82FC92F0E94E709892B79F4FD +:100D7000ED2FFC2F80E090E0DC01A45DBE4F2C91B4 +:100D80002193019684309105B9F781E001C080E09C +:100D9000DF91CF91089520E030E0FC014191CF0137 +:100DA000F901E45DFE4F40832F5F3F4F2430310552 +:100DB000A1F708950F931F93CF93DF93C62FD42FDE +:100DC000122FFC0182818823C9F0609332010E94B6 +:100DD0002D16909331018093300180E28C0F883082 +:100DE00008F057C0C77081E001C0880FCA95EAF7C4 +:100DF000DF91CF911F910F910C94D80B809132010C +:100E0000681330C080913001909131010E943916F1 +:100E1000883C910538F500E20D0FCD17B9F080E25E +:100E20008C0F883040F4C77081E001C0880FCA95EC +:100E3000EAF70E94DF0B083028F581E09D2F9770BC +:100E400001C0880F9A95EAF70E94D80B812F0E9463 +:100E5000C50B0830F0F4D77081E001C0880FDA9537 +:100E6000EAF70AC080E28C0F883098F4C77081E0FE +:100E700001C0880FCA95EAF7DF91CF911F910F91BA +:100E80000C94DF0B812FDF91CF911F910F910C9468 +:100E9000C50BDF91CF911F910F9108959C01CB015C +:100EA000233F4CE53407F9F078F4283DFCE53F0793 +:100EB000B9F0293D4CE5340711F1273D3C4531F5AA +:100EC00026E241EE61EE1EC0253FFCE53F0799F0AA +:100ED00070F0263F3C45D1F427E245EE66EE12C0A5 +:100EE00027E245EE0EC026E241EE60EE0BC027E29F +:100EF00045EE64EE07C026E241EE62EE03C028E252 +:100F000041E065EE0E94DA0680E00895FC018281EE +:100F1000882319F010923201089581E00895CF934B +:100F2000DF93EC01FB018281882309F41FC1C230E9 +:100F3000FCE5DF0708F41BC1C6319CE5D90738F092 +:100F40009E012A5F3C452930310508F010C10E94FE +:100F5000C3149093DA018093D901C031ECE5DE0728 +:100F600009F4C3C008F041C0C8308CE5D80709F4C3 +:100F70009AC0F0F4C430ECE5DE0709F487C068F4E9 +:100F8000C2308CE5D80709F477C0C330DC4509F0DE +:100F9000E3C08091D901826076C0C630ECE5DE07FF +:100FA00009F46EC008F07BC08091D90188606BC0E5 +:100FB000CC308CE5D80709F485C068F4CA30ECE57C +:100FC000DE0709F474C008F079C00E94330E8091E6 +:100FD000D901806858C0CE308CE5D80709F476C0B6 +:100FE00008F07FC08091D9018BC0CB3FECE5DE07D4 +:100FF00009F44FC018F5C3318CE5D80709F47DC05A +:1010000078F4C131ECE5DE0709F473C0C231DC4588 +:1010100009F0A2C00E94330E8091D9018F7733C0AE +:10102000C5318CE5D80709F472C008F486C0CA3F00 +:10103000DC4509F091C08091DA013EC0CF3FFCE56C +:10104000DF0709F45FC058F4CD3F9CE5D90709F4E8 +:1010500044C008F43FC08091DA0182602DC0C130E5 +:10106000FDE5DF0709F475C008F45DC0C230DD4559 +:1010700009F072C080E06EC08091D901816003C028 +:101080008091D90180618093D90166C08091D90196 +:1010900011C08091DA0182608093DA015DC0809195 +:1010A000D9018062F0CF8091D9018064ECCF80912A +:1010B000D90188608460E7CF8160EECF8091D9014B +:1010C0008E7FE1CF8091D9018D7FDDCF8091D901D5 +:1010D000877FD9CF8091DA0118C08091DA018D7FA6 +:1010E000DBCF8091D9018F7ECECF8091D9018F7DCA +:1010F000CACF8091D9018F7BC6CF8091D901877FDC +:101100008B7FC1CF8091DA018D7F8E7FC5CF80919B +:10111000D90182FB222720F991E0922790FB82F9E6 +:1011200090FB83F9B0CF8091DA01982F9095917060 +:101130008E7F892B90FB81F9AFCF0E94330E809177 +:10114000D90187FB222720F991E0922790FB87F9AC +:101150009ACF81E00E9452158091D9019091DA01D5 +:101160000E94D4140E94330E80E001C081E0DF9120 +:10117000CF910895CF93DF9386319C4541F5EB01E4 +:101180000E94FF13982F8A812091090130910A0152 +:10119000882379F09A7A81E009F480E08093330122 +:1011A000911102C069E201C065E3C9010E9499156D +:1011B0000AC080913301811102C069E201C065E378 +:1011C000C9010E949B150E944D1480E001C081E07E +:1011D000DF91CF9108958EE14A9B02C08150E1F7E3 +:1011E0004A9BFECF08955A9880E28A95F1F75A9A61 +:1011F0000895FC012AE02A95F1F728E090E080E0CC +:1012000031E040E14A95F1F7880F4A9B02C08160C6 +:10121000932700C0000040E14A95F1F7215089F77B +:1012200020E12A95F1F729B100C0000030E13A959C +:10123000F1F722FB222720F992272081920F908339 +:101240000895EF92FF920F931F93CF93DF931F9216 +:10125000CDB7DEB719828C017C01E60EF11C0E15AC +:101260001F0551F00E94EB08CE0101960E94F9087B +:10127000F80181938F01F3CF81E09981911180E092 +:101280000F90DF91CF911F910F91FF90EF900895F4 +:101290009093350180933401529A5A9A089590930D +:1012A00035018093340152985A9AEA9AE9E6F0E0BF +:1012B00080818F7C80830895615091E001C0990FF7 +:1012C0006A95EAF720E031E0992361F0492F48233D +:1012D00019F05A9A232701C05A9840E24A95F1F72B +:1012E0009695F2CF222311F05A9A01C05A9880E2C3 +:1012F0008A95F1F75A980895FF920F931F93CF9311 +:10130000DF93EC018C01060F111DC017D10741F0CE +:10131000F9900E94F30868E08F2D0E945C09F5CFD8 +:10132000DF91CF911F910F91FF9008951F920F921F +:101330000FB60F9211242F933F934F935F936F93A8 +:101340007F938F939F93AF93BF93CF93DF93EF934D +:10135000FF935A98529AC0913401D09135016D8112 +:10136000662321F08E819F810E947C090E94F308F0 +:1013700080E18A95F1F75A9852985A9A80E18A95B5 +:10138000F1F76A81662351F08B819C810E942109CB +:10139000E881F981811104C082E003C0E881F9810C +:1013A00088E080830E94EB08FF91EF91DF91CF915D +:1013B000BF91AF919F918F917F916F915F914F916D +:1013C0003F912F910F900FBE0F901F901895CF93C4 +:1013D000DF93C0913401D0913501F894529A5A9814 +:1013E00085E08A95F1F7000052985A9A80E28A9532 +:1013F000F1F74A9B0AC0529A5A9AE881F98181E032 +:101400008083789481E090E02CC06D81662381F028 +:101410008E819F810E94210981110AC0529A5A9A95 +:10142000E881F98182E08083789482E090E019C0BD +:101430000E94EB0880E28A95F1F75A98529A80E16F +:101440008A95F1F76A81662321F08B819C810E9445 +:101450007C090E94F308E881F9811082789480E089 +:1014600090E0DF91CF91089590933B0180933A01F2 +:101470000895E0913A01F0913B01309721F00190FD +:10148000F081E02D099480E00895E0913A01F09117 +:101490003B01309721F00280F381E02D09940895FB +:1014A00020913801309139012817390771F0909354 +:1014B000390180933801E0913A01F0913B01309776 +:1014C00021F00680F781E02D0994089520913601DE +:1014D000309137012817390771F0909337018093C5 +:1014E0003601E0913A01F0913B01309721F0008400 +:1014F000F185E02D0994089585B7806885BF85B78B +:10150000806885BF089508950C94830A0C94840A1A +:101510000C94830A0C94830A0E947C0A0E94880A15 +:101520000C94860A0C9474060E9424160E942605C8 +:101530000E947F160C948A0AAF92BF92CF92DF92DC +:10154000EF92FF920F931F93CF93DF93CDB7DEB748 +:101550002A970FB6F894DEBF0FBECDBF0E94B40528 +:101560000E94920A811111C08FEF89838A831B82A6 +:101570000E942D168160782F9D838C8349815A812A +:101580006B818D810E94320B40C08DE3A82E81E0DB +:10159000B82E00E010E0C02E802F0E941505E82E26 +:1015A000F501D1905F01D82631F40F5F1F4F08304D +:1015B000110589F7D9CF8091B60181FD0E941B05E5 +:1015C00080E0FF24F3949D2D9F21D1F08E83CF8264 +:1015D000EF2081E009F480E088870E942D16816069 +:1015E000782F9A8789874E815F8168858A850E94D6 +:1015F000320BF801E35CFE4F8081F826F08205C0D3 +:101600008F5FFF0C8730F9F6D0CF0E94390A909196 +:101610003C018917B1F00E94390A80933C012A9657 +:101620000FB6F894DEBF0FBECDBFDF91CF911F91F3 +:101630000F91FF90EF90DF90CF90BF90AF900C9400 +:10164000CD022A960FB6F894DEBF0FBECDBFDF9154 +:10165000CF911F910F91FF90EF90DF90CF90BF90AF +:10166000AF900895CF93DF93CDB7DEB72B970FB62A +:10167000F894DEBF0FBECDBF4F83588769877A8746 +:101680008B87DE01119686E0FD0111928A95E9F7BC +:1016900085E0FE01379601900D928A95E1F7498128 +:1016A0005A816B817C818D819E810E94EC102B96EA +:1016B0000FB6F894DEBF0FBECDBFDF91CF91089576 +:1016C000FC01808191810E94C0130895CF938823EB +:1016D00071F1C82F8CEF8C0F813AD0F46C2F809170 +:1016E000090190910A010E946315882349F06C2F2B +:1016F0008091090190910A010E949B150E944D144E +:101700006C2F8091090190910A010E9499150CC0DB +:1017100080E28C0F883058F4C77081E001C0880FD8 +:10172000CA95EAF70E940214CF910C944D14CF9100 +:101730000895882349F1682F8CEF860F813A38F499 +:101740008091090190910A010E949B150CC080E2D2 +:10175000860F883050F4677081E001C0880F6A9569 +:10176000EAF70E9408140C944D148BE5860F833021 +:1017700020F480E090E00C94500A685A673120F41D +:1017800080E090E00C94660A0895CF93C82F0E94E1 +:10179000660BC93349F42FEF87EE93E02150804068 +:1017A0009040E1F700C000008C2FCF910C94990B72 +:1017B000882321F00E9402140C944D14089588236C +:1017C00021F00E9408140C944D140895CF92DF92DA +:1017D000EF92FF920F931F93CF93DF937C01062F1D +:1017E000C72FFC01D581D295DF70128111110E94A3 +:1017F0001F140E94F813882399F0112389F08C2F6D +:10180000807F803421F080E2800F883048F082E0D1 +:101810000E9497140E94F81391E0D82ED92601C097 +:10182000D12CCC2EC2948FE0C8228C2D90E0FC01EC +:10183000EA5AFF4F0C94F71C8C2F807FCF708823BF +:1018400011F0C295C07F112399F0CC2309F464C133 +:1018500080E2800F883010F0011104C08C2F0E94AC +:10186000021403C08C2F0E9412140E944D1454C104 +:10187000802F0E94990BCC2309F473C180E2800F62 +:10188000883010F0011104C08C2F0E94081403C08E +:101890008C2F0E9418140E944D1463C18C2F807FDE +:1018A000CF70803211F0C295C07F002319F0013053 +:1018B000C9F022C0112371F0DD2341F0D13031F4A1 +:1018C0000E9432148C2B0E943A144BC10E94321495 +:1018D0008C2B1DC0DD2319F0D13009F442C10E94C8 +:1018E000431425C0112321F0D63008F03AC10EC0B0 +:1018F000D53008F036C11BC0112361F0DD2331F073 +:10190000F701858180FF08C18F7085838C2F0E942D +:10191000D80B27C1DD2359F0093309F00EC1FFEFC1 +:1019200027EE83E0F15020408040E1F704C18C2F86 +:101930000E94DF0B16C18C2F837009F045C0111176 +:1019400014C1402F429546954770440F440F602FB5 +:101950006F70862F90E0A0E0B0E0042E04C0880FE6 +:10196000991FAA1FBB1F0A94D2F704FF10C00FE0F3 +:1019700010E020E030E004C0000F111F221F331FD1 +:101980004A95D2F7009510952095309503C000E058 +:1019900010E09801C695C695C370BC01CD01602BBF +:1019A000712B822B932BC23049F058F4C13019F0BF +:1019B0000E943D12DAC00E942B12D7C00E944F1223 +:1019C000D4C00E942912D1C0112319F08C2F81702C +:1019D00001C08695882309F4C8C0402F42954695DA +:1019E0004770440F440F602F6F70862F90E0A0E087 +:1019F000B0E0042E04C0880F991FAA1FBB1F0A94D1 +:101A0000D2F704FF10C00FE010E020E030E004C087 +:101A1000000F111F221F331F4A95D2F70095109512 +:101A20002095309503C000E010E09801C695C6955A +:101A3000C370BC01CD01602B712B822B932BC23064 +:101A400049F058F4C13019F00E9402138EC00E9470 +:101A5000F0128BC00E94141388C00E94631285C0CC +:101A6000CF70112339F08C2F0E948912802F0E9491 +:101A7000D80B7BC0802F0E94DF0B8C2F0E94AA12F4 +:101A800074C0023F01F128F4003F41F0013FA1F092 +:101A90003FC0033FF9F0043F39F13AC0112341F050 +:101AA000D53008F05EC08C2F8F710E94CF1259C0C4 +:101AB000D63008F056C0F7CF112339F08C2F8F7134 +:101AC0000E9489124EC01123C9F38C2F8F710E947E +:101AD000AA1247C0112329F08C2F8F710E94741213 +:101AE00040C00E946F123DC0112349F0CF718C2F6E +:101AF0000E94891263E08C2F0E94821432C081E020 +:101B00000E949714D23068F182E00E94971429C095 +:101B1000112331F0DD2391F2802F0E94660B21C04A +:101B2000DD2399F2093349F49FEFE7EEF3E091509A +:101B3000E040F040E1F700C00000802F0E94990BC8 +:101B400010C04C2F4F70602FC7010E9423030E94CA +:101B50009A110FC04C2F4F70602FC7010E942603AF +:101B600008C088EF8C0D843020F40E94390A0E944E +:101B7000CD02DD20C9F00E94F41380FD15C0F701ED +:101B800012820E94EE130E948912C7010E94F50D75 +:101B90000E94EE13DF91CF911F910F91FF90EF9074 +:101BA000DF90CF900C94AA12DF91CF911F910F91EB +:101BB000FF90EF90DF90CF9008950F931F93CF93F6 +:101BC000DF93EC01688179818A810E94CB138C01BB +:101BD0000E9426130E941712B801CE010E94E60B44 +:101BE000DF91CF911F910F910895CF93DF93EC0177 +:101BF000988189812B813C81232B31F08F3F31F4F7 +:101C000081E09F3F19F403C081E001C080E080FDC6 +:101C100019C0CE010E94E60281110CC00E94F81387 +:101C2000882381F08A81882369F082E0DF91CF9157 +:101C30000C949714CE010E94DD0DCE01DF91CF915F +:101C40000C94B302DF91CF9108950E941F140E945B +:101C50002F140C944D148091090190910A010E9457 +:101C60009D150C94250E0E940F140C942B0EE92F39 +:101C7000E295EF704E2F50E0FA013297EE30F10509 +:101C8000B0F4EA59FF4F0C94F71C803F91F018F420 +:101C9000883E68F40EC0843F51F40BC0883E48F083 +:101CA000813F29F406C093FB882780F9089580E0DE +:101CB000089581E008950E94C0130E94370E089590 +:101CC000CF93DF9300D000D01F92CDB7DEB70F9037 +:101CD0000F900F900F900F90DF91CF910895CF93B9 +:101CE000DF9300D000D000D0CDB7DEB726960FB678 +:101CF000F894DEBF0FBECDBFDF91CF9108951F9343 +:101D0000CF93DF93C091460116E080914701C81739 +:101D100099F0D0E01C9FF0011D9FF00D1124E85BAD +:101D2000FE4F4081518162817381848195810E943F +:101D30006F0E2196C770E9CFDF91CF911F91089563 +:101D4000409178015091790160917A0170917B0105 +:101D500080917C0190917D010C946F0E0F931F93E5 +:101D6000CF93DF9380917D0182958F7009F05DC0E4 +:101D700080917A01882309F458C08091460110911E +:101D800047016091780170917901C0917B01D091F8 +:101D90007C0191E06F3F09F090E0292F06E0811768 +:101DA00009F443C0209721F07F3F21F030E003C0C9 +:101DB00031E001C0322F90E030FD34C0089FF001C7 +:101DC000099FF00D1124DF01A85BBE4F11963C91D5 +:101DD0001197371327C03C91361324C012963C91BB +:101DE000129731111FC013964D915C9114974C1BA3 +:101DF0005D0B483C5105B0F480917D018F7080618E +:101E000080937D01E35BFE4F80818F7080618083D2 +:101E100088E791E00E94F50DDF91CF911F910F911E +:101E20000C947F0E01968770BACFDF91CF911F91EE +:101E30000F9108959F92AF92BF92CF92DF92EF924F +:101E4000FF920F931F93CF93DF93CDB7DEB76197C8 +:101E50000FB6F894DEBF0FBECDBF8C0185E0F80150 +:101E6000DE011D9601900D928A95E1F7F8014081FF +:101E70005181E280909178016091790120917B01FC +:101E800030917C012115310531F06F3F31F481E053 +:101E90009F3F19F403C081E001C080E0F82FF1708A +:101EA0009F2E80FD46C1F801A380B48088E7C82E2C +:101EB00081E0D82EF0907A01F501E21BF30BFF20B0 +:101EC00009F4DFC080917D01E83CF10508F09BC07A +:101ED000282F207F09F052C0561313C0491311C098 +:101EE000FE2CE1100EC08F70806180937D010E94F6 +:101EF000A00EC6010E94F50D80917D01F801858339 +:101F000058C1AB2831F05F3F31F481E04F3F19F405 +:101F100003C081E001C080E080FD03C081E08E2528 +:101F200002C080E090E0F82FF170FF2E80FF1CC00F +:101F3000809146012091470136E0821709F417C1CC +:101F400090E0389FF001399FF00D1124E85BFE4FBF +:101F50006181561306C06081461303C06281E61298 +:101F600003C001968770E9CFFE2CEE2009F421C151 +:101F700080917D01816080937D015AC0561306C017 +:101F8000491304C0E11002C0F8019FC04D875E876D +:101F90008D859E850E945B0E882379F1EE2069F184 +:101FA00020917D01822F82958F7090E0029774F0CE +:101FB000809178019091790198878F831986BB86EB +:101FC000AA862C87CE0107960E94F50D86E0F801BF +:101FD000A8E7B1E001900D928A95E1F70E94AE0E5C +:101FE0000E94A00E0DC0561729F14D875E878D8582 +:101FF0009E850E945B0E81112CC0C8010E94F50DC8 +:10200000FF24F394D6C0282F207F69F77A2DB98A50 +:10201000A88A6E2D89890E94600E88E791E00E944F +:10202000F50D86E0F60111928A95E9F70E94A00E5F +:10203000F12CBFC04913D9CFE110D7CFF801858368 +:10204000C8010E94F50D86E0F60111928A95E9F724 +:10205000B0C0EE2091F220917D01822F82958F7089 +:1020600090E002970CF4B2CF8091780190917901C1 +:102070009A8389831B82BD82AC822E83CE01019616 +:10208000A3CFE83CF10508F047C0FE2CEE2009F490 +:10209000B4CF561330C049132EC020917D0120FDCE +:1020A00021C0822F82958F70482F50E04115510535 +:1020B000C9F0F80125834F30510541F08F5F982F0B +:1020C0009295907F822F8F70892B8583C8010E9403 +:1020D000F50D86E0F801A8E7B1E001900D928A9530 +:1020E000E1F742C086E0F801A8E7B1E001900D9267 +:1020F0008A95E1F75EC04D875E878D859E850E943B +:102100005B0E811163CF80917D01816080937D01A1 +:10211000C8010E94F50D4DC07A2DB98AA88A6E2D8E +:1021200089890E94600E86E0F60111928A95E9F78E +:102130001BC0EE2009F461CF4D875E878D859E859B +:102140000E945B0EF82E882309F457CF86E0F80131 +:10215000A8E7B1E001900D928A95E1F788E791E058 +:102160000E94600B0E94AE0E0E94A00E22C04D87FE +:102170005E878D859E850E94C013292F22952F7022 +:10218000223028F49F7039F0811105C00BC0243033 +:1021900028F49F7049F4805E883020F0C8010E94C6 +:1021A000F50D9F2CF92C05C0F8019581907F99F7CA +:1021B000F9CF8F2D61960FB6F894DEBF0FBECDBF5D +:1021C000DF91CF911F910F91FF90EF90DF90CF9013 +:1021D000BF90AF909F9008951F93CF93DF93CDB79B +:1021E000DEB72C970FB6F894DEBF0FBECDBF4F837E +:1021F000588769877A878B879C87CE0107960E94CC +:102200001A0F8823D1F09F8188852A853B85232B4F +:1022100031F08F3F31F481E09F3F19F403C081E03A +:1022200001C080E080FD47C04F81588569857A856F +:102230008B859C850E946F0E3EC086E0FE0137961E +:10224000DE01119601900D928A95E1F7FF81E885F4 +:102250006A857B856115710531F0EF3F31F481E0CE +:10226000FF3F19F403C081E001C080E080FD23C07E +:102270002091470130E0C90101968770992740916C +:10228000460150E084179507F1F1F983EA837D83D5 +:102290006C8396E0929FD001939FB00D1124A85BB0 +:1022A000BE4FFE01319601900D929A95E1F7809311 +:1022B00047010E947F0E16E08091460190914701F0 +:1022C000891771F1189FC0011124885B9E4F0E94ED +:1022D0001A0F882329F1E09146011E9FF001112475 +:1022E000E85BFE4F408151816281738184819581D9 +:1022F0000E946F0E8091460190E0019687709927A9 +:1023000080934601D9CF0E94330E1092470110925C +:102310004601E8E7F1E086E0DF011D928A95E9F7E2 +:102320002C960FB6F894DEBF0FBECDBFDF91CF91D4 +:102330001F910895EF92FF920F931F93CF93DF9316 +:102340008C01892B09F46CC0F12CEE24E394E80194 +:102350002196F8018491843740F4843008F051C00C +:10236000813081F0823019F15BC0853709F444C0B7 +:10237000A8F19CE7980F903708F052C08F770E9421 +:10238000990B41C00E5F1F4FFE01849190E2980FA0 +:10239000983050F48770FE2D01C0FF0F8A95EAF740 +:1023A0008F2F0E94221414C00E94660B2DC00E5F56 +:1023B0001F4FFE01849190E2980F983060F487706F +:1023C000FE2D01C0FF0F8A95EAF78F2F0E94281477 +:1023D0000E944D1419C00E94990B16C00E5F1F4F2A +:1023E000FE01C491CC2381F08FE99FE00197F1F7C2 +:1023F00000C00000C150F6CF0E5F1F4FFE01F490E9 +:1024000003C00E94660B8E018F2D882309F49FCF95 +:10241000EFE9FFE03197F1F700C000008150F5CF00 +:10242000DF91CF911F910F91FF90EF900895089544 +:1024300008950C9418120C9419120E941B126093A8 +:10244000A5017093A6018093A7019093A8010C9415 +:10245000250E0C941D120F931F930091A50110914E +:10246000A6012091A7013091A801602B712B822B2E +:10247000932B1F910F910C941D120F931F9300919A +:10248000A5011091A6012091A7013091A801602318 +:102490007123822393231F910F910C941D120F938C +:1024A0001F930091A5011091A6012091A7013091E1 +:1024B000A80160277127822793271F910F910C9401 +:1024C0001D120C9418120E9461126093A101709366 +:1024D000A2018093A3019093A4010C94250E60E0C7 +:1024E00070E0CB010C9463120F931F9341E050E016 +:1024F00060E070E08A019B0104C0000F111F221FE1 +:10250000331F8A95D2F7C901B8011F910F910C941E +:1025100063120F931F9341E050E060E070E004C04D +:10252000440F551F661F771F8A95D2F78091A1012E +:102530009091A201A091A301B091A4018A019B01F5 +:10254000082B192B2A2B3B2BC901B8011F910F9186 +:102550000C9463120F931F9341E050E060E070E031 +:1025600004C0440F551F661F771F8A95D2F7409508 +:102570005095609570958091A1019091A201A091D4 +:10258000A301B091A4018A019B01082319232A23E6 +:102590003B23C901B8011F910F910C9463120F9353 +:1025A0001F9341E050E060E070E004C0440F551F0D +:1025B000661F771F8A95D2F78091A1019091A201A1 +:1025C000A091A301B091A4018A019B0108271927BA +:1025D0002A273B27C901B8011F910F910C94631260 +:1025E0000F931F930091A1011091A2012091A301CB +:1025F0003091A401602B712B822B932B1F910F9193 +:102600000C9463120F931F930091A1011091A201EA +:102610002091A3013091A40160237123822393238D +:102620001F910F910C9463120F931F930091A101BE +:102630001091A2012091A3013091A401602771277C +:10264000822793271F910F910C946312089527E01E +:10265000929F800D1124E82FE695E695E695877008 +:1026600051E001C0550F8A95EAF785E0E89FF00137 +:102670001124E258FE4F20E030E070E04081CB01B1 +:10268000022E02C0969587950A94E2F78170819593 +:1026900084278523842781932F5F3F4F2530310581 +:1026A00069F7089527E0929F800D1124682F6695A1 +:1026B00066956695982F977085E0689FB001112404 +:1026C00040E050E080E0FB01E40FF51FE258FE4FD0 +:1026D000208130E0092E02C0369527950A94E2F752 +:1026E00021703327042E01C0220F0A94EAF7822BAF +:1026F0004F5F5F4F4530510531F70895BF92CF923C +:10270000DF92EF92FF920F931F93CF93DF938C0191 +:10271000C090A101D090A201E090A301F090A4018B +:102720008091A5019091A601A091A701B091A80167 +:10273000C82AD92AEA2AFB2ACFE1D0E0D701C6016C +:102740000C2E04C0B695A795979587950A94D2F755 +:1027500080FD04C0219790F7B12C07C0BC2EB801B2 +:102760008C2F0E9442030197A9F38B2DDF91CF910B +:102770001F910F91FF90EF90DF90CF90BF90089541 +:10278000CF93DF93EC010E947E13BE010E944203AF +:10279000DF91CF9108951F93CF93DF93EB01909139 +:1027A0004501992321F0CB010E94C01313C0882357 +:1027B00049F0CB010E947E13182F682FCE010E9492 +:1027C000271304C0CB010E945213182FBE01812F82 +:1027D0000E944203DF91CF911F9108958091A9013A +:1027E00085958595859508958091A90187700895AF +:1027F0009091A901977081E009F480E0089580919B +:10280000B50108959091B501892B8093B501089584 +:1028100080959091B50189238093B5010895109218 +:10282000B50108959091B401892B8093B401089566 +:1028300080959091B40189238093B40108951092FA +:10284000B40108959091B301892B8093B301089549 +:1028500080959091B30189238093B30108951092DC +:10286000B30108958091AA01089508950C94351438 +:102870000C9436149091AA01981721F08093AA0124 +:102880000C94381408958091AA01882329F010929D +:10289000AA0180E00C9438140895E0910901F091A8 +:1028A0000A018091B5018083E0910901F0910A014C +:1028B00090818091B401892B8083E0910901F0918E +:1028C0000A0190818091B301892B80838091AA01B4 +:1028D000882381F0E0910901F0910A019081892B10 +:1028E00080838091090190910A010E9457158111FE +:1028F0000E9443148091090190910A010C94450AA9 +:102900000C94351498E0899F90011124262B209374 +:10291000A9010E9489128091A901859585958595C7 +:102920000C9480141092A90180E00C9480142091E2 +:10293000A901809582238093A901982F977079F43B +:1029400030E0482F082E000C550B2417350739F0BE +:102950008595859585950E94AA120C9492140895E8 +:1029600080E090E00E94051D21E08C3E9E4F09F022 +:1029700020E0822F089582E090E00C94FD1C83E01B +:1029800090E00C94FD1CCF9384E090E00E94FD1C2D +:10299000C82F81E290E00E94FD1C2C2F30E0A9019D +:1029A000582BCA01CF910895CF93C92F682F84E087 +:1029B00090E00E940B1D6C2F81E290E0CF910C946F +:1029C0000B1DAB01BC018FE090E00C941D1DAB0111 +:1029D000BC0183E190E00C941D1D60E070E0CB0130 +:1029E0000C94E71460E070E0CB010E94E1140C94B9 +:1029F000ED146CEE7EEF80E090E00E94291D60E017 +:102A000082E090E00E940B1D60E083E090E00E9475 +:102A10000B1D1092A5011092A6011092A701109211 +:102A2000A80160E084E090E00E940B1D60E081E27C +:102A300090E00E940B1D60E085E090E00E940B1D7D +:102A400060E086E090E00E940B1D6FEF87E090E071 +:102A50000E940B1D40E050E0BA0188E090E00E9427 +:102A60001D1D60E08DE090E00E940B1D40E050E0F5 +:102A7000BA0188E190E00E941D1D60E087E190E0CE +:102A80000E940B1D40E050E0BA018CE190E00E94F2 +:102A90001D1D60E080E290E00E940B1D0C94F2147A +:102AA0000C94F914682F8EE090E00C940B1DFC013F +:102AB000329697E080E0915029F021912223D9F3BA +:102AC0008F5FF9CF0895662349F0FC01329608968E +:102AD0002191621729F0E817F907D1F780E00895EE +:102AE00081E008959C01FC0132969FEF80E04191C6 +:102AF000461789F09F3F19F4411101C0982F8F5F4D +:102B00008630A9F79F3F39F0F901E90FF11D97FDD4 +:102B1000FA956283089508959C012A5F3F4FFC0156 +:102B20004281461301C01282019682179307B9F7BA +:102B300008950C9472150C948C15029626E0FC01F5 +:102B400011922A95E9F7089508950C94A4150C9410 +:102B5000A415CF930E94A7150E94B4050E94A51545 +:102B6000C0E08C2F0E941505811104C0CF5FC830D2 +:102B7000C1F701C081E0CF9108950C94A4150C9485 +:102B8000BD150E94BF158091DF01843049F110927C +:102B9000B70120E488E190E00FB6F894A8958093FF +:102BA00060000FBE2093600080E00E94CD020E9472 +:102BB000BF1583B7817F846083BF83B7816083BF84 +:102BC0007894889583B78E7F83BF0FB6F894A895C5 +:102BD00080916000886180936000109260000FBE59 +:102BE00008950C94A4150E94330E0E94390A0E9485 +:102BF000CD020C94F1151F920F920FB60F92112473 +:102C00008F939F93AF93BF938091B701811113C0AE +:102C10008091D5019091D601A091D701B091D801B2 +:102C20004196A11DB11D8093D5019093D601A0932B +:102C3000D701B093D801BF91AF919F918F910F9021 +:102C40000FBE0F901F90189582E084BD93E095BD54 +:102C50009AEF97BD80936E0008952FB7F8948091F6 +:102C6000D5019091D601A091D701B091D8012FBF85 +:102C700008959C014FB7F8948091D5019091D601A9 +:102C8000A091D701B091D8014FBF821B930B08953B +:102C900078941F920F920FB60F9211248F939F93E7 +:102CA000AF93BF938091D5019091D601A091D701A8 +:102CB000B091D8010196A11DB11D8093D5019093CB +:102CC000D601A093D701B093D801BF91AF919F9146 +:102CD0008F910F900FBE0F901F90189587E797E781 +:102CE00090930108809300089AE088E10FB6F89469 +:102CF000A895809360000FBE90936000FFCF0E9464 +:102D0000B014811102C00E9450150E94BB14809320 +:102D1000B6010E94C3149093DA018093D9010E94F6 +:102D2000BF14682F70E080E090E00C94291280912D +:102D3000C001089508950895CF93DF93EC010E9498 +:102D40003C18823011F0843039F581E08093E9003D +:102D50008FEF9091E800815095FD06C095ED9A9512 +:102D6000F1F700008111F5CF8091E80085FF14C0D4 +:102D700040E050E068E070E0CE010E945918809178 +:102D8000E8008E778093E80088E0FE01A8EBB1E0D0 +:102D900001900D928A95E1F7DF91CF910895089502 +:102DA0008091DE01811109C00E94EA190E94471A30 +:102DB0008091E20084608093E20008951092DE0129 +:102DC0000895089508950C94F31542E061EC81E0B4 +:102DD0000C9463198091E101833009F460C030F4F0 +:102DE000813071F0823009F499C008958A3009F475 +:102DF00085C08B3009F46BC0893009F0A7C020C0B2 +:102E00008091E001813A09F0A1C08091E800877FBC +:102E10008093E8008091E4019091E501892B21F4F1 +:102E200068E088EB91E003C060E080E090E070E053 +:102E30000E94A4188091E8008B778093E8000895A1 +:102E40008091E001813209F081C08091E40190918C +:102E5000E501892B09F07AC08091E800877F809393 +:102E6000E8008091E80082FD05C08091DF018111BA +:102E7000F8CF6CC02091F3008091F20090E0922B8B +:102E8000029729F48091F1008B7F813021F48091A9 +:102E9000F1008093C0018091E8008B7753C080914E +:102EA000E001813A09F052C08091E4019091E5017E +:102EB000892B09F04BC08091E800877F8093E80060 +:102EC0008091E80080FFFCCF8091150136C0809191 +:102ED000E0018132D9F58091E4019091E501892BDF +:102EE000A9F58091E800877F8093E8000E949819F7 +:102EF0008091E201809315010C94330E8091E001E2 +:102F0000813221F58091E800877F8093E8000E945C +:102F100098198091E3018093C10108958091E001A7 +:102F2000813AA1F48091E800877F8093E800809146 +:102F3000E80080FFFCCF8091C1018093F100809177 +:102F4000E8008E778093E8000C949819089584B770 +:102F5000877F84BF0FB6F894A89580916000886140 +:102F600080936000109260000FBE90E080E80FB682 +:102F7000F89480936100909361000FBE0E948C0AC8 +:102F80000E94EA190E94471A8091E20084608093AF +:102F9000E20078940E94DC1C0E94940A8BE091E08D +:102FA0000E94340A8091DF01853069F40E94C115C6 +:102FB0008091DD018823B1F30E94A915882391F344 +:102FC0000E944318EFCF0E949C0AECCF0C94E817A4 +:102FD000292F332723303105C1F058F42130310532 +:102FE00079F022303105C1F582E290E02AEC33E03D +:102FF00037C02132310511F12232310531F12CC0B7 +:1030000082E190E02CEE33E02BC0992781309105CE +:1030100061F040F08230910559F00397E9F4ECE952 +:10302000F3E008C0E6ECF3E005C0E0EBF3E002C03B +:10303000E2EAF3E0849190E09F0112C0672B61F413 +:1030400089E090E02CED33E00BC0672B29F480E49D +:1030500090E02EEF33E004C080E090E020E030E02C +:10306000FA013183208308958091DF01843011F0CB +:1030700081E0089582E008958091C201811102C02B +:103080000C943418089580E189BD82E189BD09B4AA +:1030900000FEFDCF8091D8008F7D8093D800809175 +:1030A000E00082608093E0008091E00081FDFCCF31 +:1030B0000895CF92DF92EF92FF920F931F93CF93D9 +:1030C000DF93EC018B017A010E94B719811133C0A3 +:1030D000E114F10439F0F70180819181081B190B8B +:1030E000C80FD91FC12CD12C0115110519F18091E0 +:1030F000E80085FD16C08091E8008E778093E80097 +:10310000E114F10449F0F70180819181C80ED91EC4 +:10311000D182C08285E00FC00E94B719882321F3B5 +:103120000AC089918093F10001501109FFEFCF1A75 +:10313000DF0ADACF80E0DF91CF911F910F91FF90EE +:10314000EF90DF90CF9008952091E6013091E70154 +:103150002617370748F06115710539F42091E8000A +:103160002E772093E80001C0B901FC0120E0611531 +:10317000710579F18091DF018823F1F18530F1F15A +:103180008091E80083FD3CC08091E80082FD2EC064 +:103190008091E80080FFEBCF2091F3008091F20056 +:1031A00090E0922B6115710551F08830910538F44B +:1031B00021912093F100615071090196F3CF21E034 +:1031C000089709F020E08091E8008E778093E8006E +:1031D000CECF2111CFCF0AC08091DF01882361F0CB +:1031E000853061F08091E80083FD0AC08091E8009D +:1031F00082FFF2CF80E0089582E0089583E0089591 +:1032000081E008952091E6013091E7012617370704 +:1032100048F06115710539F42091E8002E7720936C +:10322000E80001C0B901FC0120E06115710591F1D0 +:103230008091DF01882309F440C0853009F43FC044 +:103240008091E80083FD3DC08091E80082FD2FC0A1 +:103250008091E80080FFE9CF2091F3008091F20097 +:1032600090E0922B6115710559F08830910540F47A +:1032700024912093F1003196615071090196F2CFAB +:1032800021E0089709F020E08091E8008E77809394 +:10329000E800CBCF2111CCCF0AC08091DF01882379 +:1032A00061F0853061F08091E80083FD0AC0809173 +:1032B000E80082FFF2CF80E0089582E0089583E085 +:1032C000089581E00895982F973068F59093E9006C +:1032D000981739F07091EC002091ED005091F000BA +:1032E00003C0242F762F50E021FD02C09F5FECCF5A +:1032F0003091EB003E7F3093EB003091ED003D7F4D +:103300003093ED003091EB0031603093EB0070931F +:10331000EC002093ED005093F0002091EE0027FD8B +:10332000E5CF80E008958F708093E90081E00895F3 +:103330008091E00187FF11C08091E80082FD05C007 +:103340008091DF018111F8CF11C08091E8008B7767 +:103350000BC08091DF01882349F08091E80080FF55 +:10336000F8CF8091E8008E778093E800089520914F +:10337000E4003091E50095E64091EC00842F8170E7 +:1033800040FF23C08091E80080FD1DC08091DF01D7 +:10339000882399F0853099F08091EB0085FD11C06C +:1033A0004091E4005091E5002417350729F391502E +:1033B00011F09A01E1CF84E0089582E0089583E05E +:1033C000089581E0089580E008954091E80042FF6B +:1033D000DDCF08950E94581A0E94601AE0EEF0E0D6 +:1033E000808181608083E8EDF0E080818F77808349 +:1033F00019BCA7EDB0E08C918E7F8C9380818F7E7D +:1034000080831092DE0108950F931F93CF93DF9373 +:103410000E94581A0E94601AC8EDD0E088818F7708 +:10342000888388818068888388818F7D888319BCA0 +:103430001092DF011092DB011092DD011092DC018D +:1034400000EE10E0F80180818B7F808388818160AD +:10345000888342E060E080E00E946319E1EEF0E0E2 +:1034600080818E7F8083E2EEF0E0808181608083C6 +:10347000808188608083F80180818E7F808388814D +:1034800080618883DF91CF911F910F910895E8EDBE +:10349000F0E080818F7E8083E7EDF0E080818160C5 +:1034A000808384E082BF81E08093DE010C94041A63 +:1034B000E8EDF0E080818E7F80831092E200089535 +:1034C0001092DA001092E10008951F920F920FB649 +:1034D0000F9211242F933F934F935F936F937F939A +:1034E0008F939F93AF93BF93EF93FF938091E100EE +:1034F00082FF0BC08091E20082FF07C08091E10053 +:103500008B7F8093E1000E94DB1C8091DA0080FFBA +:103510001FC08091D80080FF1BC08091DA008E7F91 +:103520008093DA008091D90080FF0DC080E189BDD1 +:1035300082E189BD09B400FEFDCF81E08093DF0107 +:103540000E94D01605C019BC1092DF010E94DE1641 +:103550008091E10080FF19C08091E20080FF15C0DA +:103560008091E2008E7F8093E2008091E200806192 +:103570008093E2008091D80080628093D80019BCCB +:1035800085E08093DF010E94E2168091E10084FFD4 +:1035900030C08091E20084FF2CC080E189BD82E1CF +:1035A00089BD09B400FEFDCF8091D8008F7D809346 +:1035B000D8008091E1008F7E8093E1008091E2004D +:1035C0008F7E8093E2008091E20081608093E20030 +:1035D0008091DB01882311F084E007C08091E30033 +:1035E00087FD02C081E001C083E08093DF010E947B +:1035F000E3168091E10083FF29C08091E20083FF00 +:1036000025C08091E100877F8093E10082E0809374 +:10361000DF011092DB018091E1008E7F8093E10059 +:103620008091E2008E7F8093E2008091E2008061D1 +:103630008093E20042E060E080E00E9463198091A4 +:10364000F00088608093F0000E94E116FF91EF91F6 +:10365000BF91AF919F918F917F916F915F914F91AA +:103660003F912F910F900FBE0F901F9018951F92B2 +:103670000F920FB60F9211242F933F934F935F93A6 +:103680006F937F938F939F93AF93BF93CF93DF936A +:10369000EF93FF93C091E900CF708091EC00D82F99 +:1036A000D17080FDD0E81092E9008091F000877F12 +:1036B0008093F00078940E947B1B1092E900809127 +:1036C000F00088608093F000CD2BCF70C093E900AC +:1036D000FF91EF91DF91CF91BF91AF919F918F912A +:1036E0007F916F915F914F913F912F910F900FBEFE +:1036F0000F901F9018951F93CF93DF93CDB7DEB730 +:10370000AA970FB6F894DEBF0FBECDBFE0EEF1E092 +:103710008091F100819321E0E83EF207C9F70E9411 +:10372000EA168091E80083FF2EC18091E00190911C +:10373000E101492F50E04A30510508F024C1FA0157 +:10374000EC58FF4F0C94F71C803821F0823809F0B8 +:103750001AC108C08091DC019091DD01992389F0A4 +:1037600082600FC08091E4018F70873008F00BC138 +:103770008093E9008091EB0085FB882780F9109207 +:10378000E9009091E800977F9093E8008093F10022 +:103790001092F100D1C0282F2D7F09F0F4C08823AA +:1037A00019F0823061F0EFC08091E201813009F0C0 +:1037B000EAC0933009F080E08093DD012EC0809153 +:1037C000E20181112AC08091E4018F702FEF280F50 +:1037D000263008F0D8C08093E9002091EB0020FF4C +:1037E0001CC0933021F48091EB00806214C0909152 +:1037F000EB0090619093EB0021E030E0A90102C062 +:10380000440F551F8A95E2F74093EA001092EA00B0 +:103810008091EB0088608093EB001092E90080912A +:10382000E800877F8093E8000E949819ACC081115E +:10383000AAC01091E2011F778091E3008078812B6C +:103840008093E3008091E800877F8093E8000E94E6 +:1038500098198091E80080FFFCCF8091E300806898 +:103860008093E300111102C082E001C083E08093E5 +:10387000DF0189C08058823008F085C08091E20164 +:103880009091E3018C3D53E0950779F583E08A83BD +:103890008AE289834FB7F894DE01139620E03EE078 +:1038A00051E2E32FF0E050935700E49120FF03C072 +:1038B000E295EF703F5FEF708E2F90E0EA3010F0EE +:1038C000C79601C0C0968D939D932F5F243149F711 +:1038D0004FBF8091E800877F8093E8006AE270E044 +:1038E000CE0101960E94A41816C06091E401709167 +:1038F000E501AE014F5F5F4F0E94E617BC01892BC7 +:1039000009F441C09091E800977F9093E800898185 +:103910009A810E9402198091E8008B778093E800D9 +:1039200032C0803881F58091E800877F8093E8007D +:103930008091DB018093F1008091E8008E7772CF57 +:10394000811121C08091E2019091E30199270297B2 +:10395000D4F48091E800877F8093E8008091E201B1 +:103960008093DB010E9498198091DB01811106C0D0 +:103970008091E30087FD02C081E001C084E0809374 +:10398000DF010E94E5168091E80083FF0AC0809164 +:10399000E800877F8093E8008091EB00806280934D +:1039A000EB00AA960FB6F894DEBF0FBECDBFDF9135 +:1039B000CF911F9108950895CF938091DF018823BF +:1039C000A1F0C091E900CF709091EC00892F817037 +:1039D00090FD80E8C82B1092E9008091E80083FDFB +:1039E0000E947B1BCF70C093E900CF910895EE0F2A +:1039F000FF1F0590F491E02D0994F999FECF92BD37 +:103A000081BDF89A992780B50895A8E1B0E042E019 +:103A100050E00C94311D262FF999FECF92BD81BD47 +:103A2000F89A019700B4021639F01FBA20BD0FB6FC +:103A3000F894FA9AF99A0FBE08950396272F0E94D8 +:103A40000C1D0E940B1D252F0E940C1D242F0C9471 +:103A50000C1D0196272F0E940C1D0C940B1DDC01E0 +:103A6000CB01FC01F999FECF06C0F2BDE1BDF89A89 +:103A7000319600B40D9241505040B8F70895F89433 +:023A8000FFCF76 +:103A8200012B01002C01042C01AB0197169C169A04 +:103A920016CF169B1601F4F5F6F73133329466977A +:063AA200C6000000000058 +:00000001FF diff --git a/qmk/pinky3_main/pinky_3_layout_main.json b/qmk/pinky3_main/pinky_3_layout_main.json new file mode 100644 index 0000000..c5a18ee --- /dev/null +++ b/qmk/pinky3_main/pinky_3_layout_main.json @@ -0,0 +1,323 @@ +{ + "version":1, + "notes":"", + "documentation":"\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard":"pinky/3", + "keymap":"pinky_3_layout_mine", + "layout":"LAYOUT", + "layers":[ + [ + "C_S_T(KC_TAB)", + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_T", + "KC_LBRC", + "KC_RBRC", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "KC_BSPC", + "LCTL_T(KC_ESC)", + "KC_A", + "KC_S", + "KC_D", + "KC_F", + "KC_G", + "KC_LPRN", + "KC_RPRN", + "KC_H", + "KC_J", + "KC_K", + "KC_L", + "KC_SCLN", + "KC_QUOT", + "LSFT_T(KC_LPRN)", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "TO(3)", + "TO(1)", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "KC_ENT", + "KC_LALT", + "KC_LGUI", + "TO(2)", + "KC_INS", + "TO(4)", + "KC_SPC", + "KC_PSCR", + "TO(5)" + ], + [ + "KC_TAB", + "KC_LT", + "KC_UP", + "KC_GT", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_SLSH", + "KC_7", + "KC_8", + "KC_9", + "KC_PLUS", + "KC_BSPC", + "KC_ESC", + "KC_LEFT", + "KC_DOWN", + "KC_RGHT", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_CIRC", + "KC_ASTR", + "KC_4", + "KC_5", + "KC_6", + "KC_MINS", + "KC_PERC", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_CALC", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_TRNS", + "KC_0", + "KC_1", + "KC_2", + "KC_3", + "KC_EQL", + "KC_ENT", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO" + ], + [ + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_DEL", + "KC_BSPC", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_PGDN", + "KC_HOME", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_LEFT", + "KC_DOWN", + "KC_UP", + "KC_RGHT", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_PGUP", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO" + ], + [ + "KC_GRV", + "KC_EXLM", + "KC_AT", + "KC_HASH", + "KC_DLR", + "KC_PERC", + "KC_NO", + "KC_NO", + "KC_CIRC", + "KC_AMPR", + "KC_ASTR", + "KC_F11", + "KC_F12", + "KC_UNDS", + "KC_NO", + "KC_F1", + "KC_F2", + "KC_F3", + "KC_F4", + "KC_F5", + "KC_NO", + "KC_NO", + "KC_F6", + "KC_F7", + "KC_F8", + "KC_F9", + "KC_F10", + "KC_BSLS", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_NO" + ], + [ + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_BRIU", + "KC_NO", + "KC_NO", + "KC_MPLY", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_BRID", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_MPRV", + "KC_VOLD", + "KC_VOLU", + "KC_MNXT", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_MUTE", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_NO" + ], + [ + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_TRNS" + ] + ], + "author":"Ian Keane" +} \ No newline at end of file diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf index ffe5c3b..6afeee4 100644 --- a/tmux/.tmux.conf +++ b/tmux/.tmux.conf @@ -39,3 +39,6 @@ bind a resize-pane -Z # Shift arrow to switch windows bind -n C-S-Space previous-window bind -n C-Space next-window + +# Remove escape delay +set -s escape-time 0 diff --git a/vim/.vim/bindings.md b/vim/.vim/bindings.md index 89da857..469da8d 100644 --- a/vim/.vim/bindings.md +++ b/vim/.vim/bindings.md @@ -109,3 +109,8 @@ Tmux TODO YCM gd goto definition + +Help Navigation + follow link: ctrl-] + previous link: ctrl-t + or ctrl-o diff --git a/vim/.vimrc b/vim/.vimrc index 4fae191..e9ad8c9 100755 --- a/vim/.vimrc +++ b/vim/.vimrc @@ -110,6 +110,8 @@ set winminheight=10 " Hard minimum window height (inactive) set winwidth=80 " Window width for current window set winminwidth=30 " Hard minimum for window width + set timeoutlen=1000 + set ttimeoutlen=0 "}}} diff --git a/vim/_vimrc b/vim/_vimrc new file mode 100644 index 0000000..b2d02b1 --- /dev/null +++ b/vim/_vimrc @@ -0,0 +1,418 @@ + +" vim-plug {{{ + " Automatic installation +" if empty(glob('~/.vim/autoload/plug.vim')) +" silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs +" \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim +" autocmd VimEnter * PlugInstall --sync | source $MYVIMRC +" endif + + call plug#begin('~/.vim/plugins') + + Plug 'junegunn/vim-easy-align' + Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --bin --all' } + Plug 'junegunn/fzf.vim' + Plug 'tpope/vim-surround' + Plug 'tpope/vim-commentary' + Plug 'w0rp/ale' + Plug 'airblade/vim-gitgutter' + Plug 'itchyny/lightline.vim' + Plug 'tpope/vim-repeat' + Plug 'haya14busa/incsearch.vim' + Plug 'gorodinskiy/vim-coloresque' + Plug 'sheerun/vim-polyglot' + Plug 'nvie/vim-flake8' + Plug 'KKPMW/sacredforest-vim' + Plug 'wolf-dog/lightline-sceaduhelm.vim' + " Plug 'unblevable/quick-scope' + Plug 'tpope/vim-fugitive' + " Plug 'l04m33/vlime', {'rtp': 'vim/'} + " Plug 'kovisoft/paredit' + Plug 'sainnhe/vim-color-forest-night' + Plug 'justinmk/vim-sneak' + Plug 'axvr/zepl.vim' + Plug 'kovisoft/slimv' + Plug 'tpope/vim-vinegar' + Plug 'preservim/nerdtree' + Plug 'vimwiki/vimwiki' + Plug 'simnalamburt/vim-mundo' + Plug 'tpope/vim-dadbod' + Plug 'junegunn/gv.vim' + Plug 'rbong/vim-flog' + + " Todo: + " GV + " Gundo (or undotree?) + " Emmett + " Fugitive + " Vimwiki + " Plug 'ryanss/vim-hackernews' + " Plug 'mbbill/undotree' or Plug 'sjl/gundo.vim' + " Plug 'tpope/vim-projectionist' + " Plug 'mileszs/ack.vim' + " Plug 'vim-pandoc/vim-pandoc' + " Plug 'alfredodeza/pytest.vim' + " Plug 'docker/docker' + " Plug vim-scripts/indentpython.vim + " + call plug#end() + +"}}} + +" appearance {{{ + colorscheme zenburn + syntax on " Enable syntax + filetype plugin on + set encoding=utf-8 " Keep utf-8 encoding + set scrolloff=2 " Keep at least 3 lines above and below cursor + set showmode " Something something buffers + set showcmd " Show command in bottom bar + set wildmenu " Visual autocomplete for command menu + set wildmode=list:longest " Show all completions on tab + set laststatus=2 " Last window will always have statusline + set showmatch " Highlight matching [{()}] + set cursorline " Highlight current line + + " remove underline on current line number + hi CursorLineNr cterm=bold + + " Lightline + let g:lightline = { 'colorscheme': 'sceaduhelm' } + set fillchars+=vert:│ + + command! LightlineReload call LightlineReload() + + function! LightlineReload() + call lightline#init() + call lightline#colorscheme() + call lightline#update() + endfunction +" }}} + +" Movement {{{ + " TODO: map alt-j and k to move text lines vertically, maintaining indent +" }}} + +" Folding {{{ + set foldenable " Enable folding + set foldmethod=marker " Fold sections by marker + set foldlevel=0 " Fold by default + set modelines=1 " Check final line of file for modeline + +" }}} + +" behavior {{{ + set nocompatible " Turn off vi compatability nonsense + set hidden " Hide buffer when opening new file + set visualbell " Use visual bell instead of beeping + set ttyfast " Improves smoothness and drawing + set backspace=indent,eol,start " Always allow backspacing + set undofile " Make .un file for persistent undo + set relativenumber " Make numbers relative to current line + set lazyredraw " Redraw only when necessary + set updatetime=100 " Make updates happen faster (gitgutter) + set splitright " Make split to right by default + set splitbelow + set winheight=30 " Soft minimum window height (active) + "set winminheight=10 " Hard minimum window height (inactive) + set winwidth=85 " Window width for current window + set winminwidth=30 " Hard minimum for window width + set t_vb= " No visual bell ever + let g:sneak#use_ic_scs=1 + set virtualedit=block +"}}} + +" searching {{{ + set gdefault " Remove default g flag on search + set ignorecase " Ignore case for searches + set smartcase " Case-specific only when uppercase + set hlsearch " Don't continue to highlight searched phrases. + set incsearch " But do search as characters are entered + " Remap tab to jump by brackets + " Nnoremap % + " Vnoremap % + " Remap tab to jump by window + +"}}} + +" tab settings {{{ + set tabstop=4 " Number of visual spaces per tab + set softtabstop=4 " Should always = tabstop + set shiftwidth=4 " Indent/outdent by 4 columns + set expandtab " Tabs are spaces + set shiftround " Always indent/outdent to the nearest tabstop + " Make search terms more visible + highlight Visual ctermbg=DarkGreen ctermfg=Black + set autoindent " Auto indentation + +"}}} + +" ruler settings {{{ + set rulerformat=%l,%-2v\|%4L\ Lines " Display line, column, and total lines + set ruler " Turn on ruler + +"}}} + +" long line handling {{{ + " set textwidth=79 + " set fo=t +" set colorcolumn=85 + +"}}} + +" leaders {{{ + :let mapleader = "," + + " Clear search highlighting with leader-space + nnoremap :noh + + " Underline with line of the same length + nnoremap - yypv$r- + + " Insert date on current line + nnoremap d k :r !date + + nnoremap k :vert new ~/.vim/bindings.md + +"}}} + +" invisible characters {{{ + set list + set listchars=tab:▸\ ,eol:¬ + +"}}} + +" hjkl {{{ + " Disable arrow keys in normal and visual mode + nnoremap + nnoremap + nnoremap + nnoremap + inoremap + inoremap + inoremap + inoremap + " Disable h and l + " nnoremap h + " nnoremap l + " Make j and k move by screen line, not file line + nnoremap j gj + nnoremap k gk + +"}}} + +" slimv{{{ + let g:slimv_repl_split=2 + let g:slimv_repl_split_size=10 +" +"}}} + +" split pane navigation {{{ + " Map vertical split to \ w, switch to it, open explorer, prompt for filename + " TODO: make new window prompt use fzf + " nnoremap w vl:e open + " Switch panes wit ctrl + h/j/k/l + nnoremap h + nnoremap j + nnoremap k + nnoremap l + nnoremap :close + nnoremap :bn + " Term mode + tnoremap h + tnoremap j + tnoremap k + tnoremap l + tnoremap :close + tnoremap :bn + tnoremap + + " TODO: remap pane resize to something else (leader?) + " quick-scope + " Trigger a highlight in the appropriate direction when pressing these keys: + let g:qs_highlight_on_keys = ['f', 'F', 't', 'T'] + + augroup qs_colors + autocmd! + autocmd ColorScheme * highlight QuickScopePrimary guifg='#afff5f' gui=underline ctermfg=155 cterm=underline + autocmd ColorScheme * highlight QuickScopeSecondary guifg='#5fffff' gui=underline ctermfg=81 cterm=underline + augroup END + + nnoremap gt + +"}}} + +" file specific {{{ + " In markdown files, when writing add two spaces to each line to fix spacing + " In compiled version + " au BufWritePost *.md silent! %s/[^ ]\zs$/\1 / + " TODO: find a better solution + " Bold something in a markdown file + " :au FileType markdown nmap b i**ea**b + " Python + " au BufNewFile,BufRead *.py + "\ set tabstop=4 + "\ set softtabstop=4 + "\ set shiftwidth=4 + "\ set textwidth=79 + "\ set expandtab + "\ set autoindent + "\ set fileformat=unix + "" Webdev + " au BufNewFile,BufRead *.js, *.html, *.css + "\ set tabstop=2 + "\ set softtabstop=2 + "\ set shiftwidth=2 + +"}}} + +" plugin modification {{{ + " FZF + map :FZF + " This is the default extra key bindings + let g:fzf_action = { + \ 'ctrl-t': 'tab split', + \ 'ctrl-x': 'split', + \ 'ctrl-v': 'vsplit' } + + " Default fzf layout + " - down / up / left / right + let g:fzf_layout = { 'down': '~30%' } + + " Customize fzf colors to match your color scheme + let g:fzf_colors = + \ { 'fg': [ 'fg', 'Normal'], + \ 'bg': [ 'bg', 'Normal'], + \ 'hl': [ 'fg', 'Comment'], + \ 'fg+': [ 'fg', 'CursorLine', 'CursorColumn', 'Normal'], + \ 'bg+': [ 'bg', 'CursorLine', 'CursorColumn'], + \ 'hl+': [ 'fg', 'Statement'], + \ 'info': [ 'fg', 'PreProc'], + \ 'border': [ 'fg', 'Ignore'], + \ 'prompt': [ 'fg', 'Conditional'], + \ 'pointer': [ 'fg', 'Exception'], + \ 'marker': [ 'fg', 'Keyword'], + \ 'spinner': [ 'fg', 'Label'], + \ 'header': [ 'fg', 'Comment'] } + + " EasyAlign + "" Start interactive EasyAlign in visual mode (e.g. vipga) + xmap ga (EasyAlign) + " Start interactive EasyAlign for a motion/text object (e.g. gaip) + nmap ga (EasyAlign) + +"}}} + +" git commands {{{ +" TODO: map fugitive commands +" TODO: check out gv etc +" TODO: bind hunk committing + " Gitgutter hunk view + nmap ghv (GitGutterPreviewHunk) + nmap ghn (GitGutterNextHunk) + nmap ghp (GitGutterPrevHunk) + nmap ghf (GitGutterFold) + +"}}} + +" fold search {{{ + +" command to fold everything except what you searched for + command! -nargs=* Fs + \ if != '' | + \ exe "normal /".."\" | + \ endif | + \ if @/ != '' | + \ setlocal + \ foldexpr=FoldRegex(v:lnum,@/,2) + \ foldmethod=expr + \ foldlevel=0 | + \ endif + + function! FoldRegex(lnum,pat,context) + " get start/end positions for context lines + let startline=a:lnum-a:context + while startline < 1 + let startline+=1 + endwhile + let endline=a:lnum+a:context + while endline > line('$') + let endline-=1 + endwhile + + let returnval = 2 + + let pos=getpos('.') + + " search from current line to get matches ON the line + call cursor(a:lnum, 1) + let matchline=search(a:pat,'cW',endline) + if matchline==a:lnum + let returnval = 0 + elseif matchline > 0 + " if current line didn't match, there could have been a match within + " trailing context lines + let returnval = 1 + else + " if no match at current line, search leading context lines for a match + call cursor(startline, 1) + let matchline=search(a:pat,'cW',a:lnum) + if matchline > 0 + let returnval = 1 + endif + endif + + call setpos('.',pos) + + return returnval + endfun + +" }}} + +" copy matches {{{ + +function! CopyMatches(reg) + let hits = [] + %s//\=len(add(hits, submatch(0))) ? submatch(0) : ''/gne + let reg = empty(a:reg) ? '+' : a:reg + execute 'let @'.reg.' = join(hits, "\n") . "\n"' +endfunction +command! -register CopyMatches call CopyMatches() + +" }}} + +" vimrc {{{ + " source $MYVIMRC reloads the saved $MYVIMRC + :nmap s :source $MYVIMRC + + " opens $MYVIMRC for editing, or use :tabedit $MYVIMRC + :nmap v :e $MYVIMRC +"}}} + +" gvim {{{ + set guioptions=Ace + set guifont=Consolas:h11 + " set guifont=Bitstream\ Vera\ Sans\ Mono + set guioptions-=e + set pythondll=python27.dll +"}}} + +" zepl {{{ + augroup zepl + autocmd! + autocmd FileType python let b:repl_config = { 'cmd': 'python3' } + autocmd FileType javascript let b:repl_config = { 'cmd': 'python3' } + autocmd FileType clojure let b:repl_config = { 'cmd': 'clj' } + autocmd FileType scheme let b:repl_config = { 'cmd': 'rlwrap csi' } + autocmd FileType lisp let b:repl_config = { 'cmd': 'sbcl' } + autocmd FileType julia let b:repl_config = { 'cmd': 'julia' } + " autocmd FileType cs let b:repl_config = { 'cmd': '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"' } + autocmd FileType cs let b:repl_config = { 'cmd': 'cmd' } + augroup END +"}}} + + +" folding options, this must be last in file +" vim:foldmethod=marker:foldlevel=0 + +