mirror of https://github.com/turtlebasket/env
update
parent
b090d42e78
commit
03c7e76266
|
@ -1,16 +1,15 @@
|
||||||
|
|
||||||
wf=hs.window.filter
|
wf=hs.window.filter
|
||||||
browser = "Brave Browser"
|
browser = "Brave Browser"
|
||||||
|
|
||||||
-- Open new / focus existing terminal window in current desktop space
|
-- Open new / focus existing terminal window in current desktop space
|
||||||
|
|
||||||
hs.hotkey.bind({"cmd", "ctrl"}, "T", function()
|
hs.hotkey.bind({"cmd", "ctrl"}, "T", function()
|
||||||
wf_iterm2 = wf.new(false):setAppFilter("iTerm2", {currentSpace=true})
|
wf_iterm2 = wf.new(false):setAppFilter("iTerm2", {currentSpace=true, visible=true})
|
||||||
|
|
||||||
local wins = wf_iterm2:getWindows()
|
local wins = wf_iterm2:getWindows()
|
||||||
local count = 0
|
local count = 0
|
||||||
for _ in pairs(wins) do count = count + 1 end
|
for _ in pairs(wins) do count = count + 1 end
|
||||||
|
|
||||||
if (count > 0)
|
if (count > 0)
|
||||||
then
|
then
|
||||||
wf_iterm2:getWindows()[1]:focus()
|
wf_iterm2:getWindows()[1]:focus()
|
||||||
|
@ -29,7 +28,7 @@ end)
|
||||||
|
|
||||||
hs.hotkey.bind({"cmd", "ctrl"}, "W", function()
|
hs.hotkey.bind({"cmd", "ctrl"}, "W", function()
|
||||||
|
|
||||||
wf_browser = wf.new(false):setAppFilter(browser, {currentSpace=true})
|
wf_browser = wf.new(false):setAppFilter(browser, {currentSpace=true, visible=true})
|
||||||
|
|
||||||
local wins = wf_browser:getWindows()
|
local wins = wf_browser:getWindows()
|
||||||
local count = 0
|
local count = 0
|
||||||
|
@ -49,13 +48,31 @@ hs.hotkey.bind({"cmd", "ctrl"}, "W", function()
|
||||||
|
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
-- CHROMIUM-BASED BROWSERS ONLY: Open new tab to right of current browser
|
||||||
|
|
||||||
|
hs.hotkey.bind({"cmd", "option"}, "T", function()
|
||||||
|
|
||||||
|
local focusedAppName = hs.window.focusedWindow():application():title()
|
||||||
|
|
||||||
|
if focusedAppName == browser
|
||||||
|
then
|
||||||
|
hs.osascript.applescript(string.format([[
|
||||||
|
tell application "System Events" to tell process "%s"
|
||||||
|
click menu item "New Tab to the Right" of menu "Tab" of menu bar 1
|
||||||
|
end tell
|
||||||
|
]], focusedAppName))
|
||||||
|
else
|
||||||
|
hs.notify.new({title=string.format("%s not focused.", browser)}):send()
|
||||||
|
end
|
||||||
|
|
||||||
|
end)
|
||||||
|
|
||||||
-- Open new / focus existing vscode window in current desktop space
|
-- Open new / focus existing vscode window in current desktop space
|
||||||
|
|
||||||
hs.hotkey.bind({"cmd", "ctrl"}, "C", function()
|
hs.hotkey.bind({"cmd", "ctrl"}, "V", function()
|
||||||
local app = "Code"
|
local app = "Code"
|
||||||
|
|
||||||
wf_app = wf.new(false):setAppFilter(app, {currentSpace=true})
|
wf_app = wf.new(false):setAppFilter(app, {currentSpace=true, visible=true})
|
||||||
|
|
||||||
local wins = wf_app:getWindows()
|
local wins = wf_app:getWindows()
|
||||||
local count = 0
|
local count = 0
|
||||||
|
@ -77,12 +94,12 @@ hs.hotkey.bind({"cmd", "ctrl"}, "C", function()
|
||||||
|
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- Open new / focus existing VimR window in current desktop space
|
-- Open new / focus existing g/n/mac/vim(r) window in current desktop space
|
||||||
|
|
||||||
hs.hotkey.bind({"cmd", "ctrl"}, "V", function()
|
hs.hotkey.bind({"cmd", "ctrl"}, "E", function()
|
||||||
local app = "VimR"
|
local app = "MacVim"
|
||||||
|
|
||||||
wf_app = wf.new(false):setAppFilter(app, {currentSpace=true})
|
wf_app = wf.new(false):setAppFilter(app, {currentSpace=true, visible=true})
|
||||||
|
|
||||||
local wins = wf_app:getWindows()
|
local wins = wf_app:getWindows()
|
||||||
local count = 0
|
local count = 0
|
||||||
|
@ -92,10 +109,9 @@ hs.hotkey.bind({"cmd", "ctrl"}, "V", function()
|
||||||
then
|
then
|
||||||
wf_app:getWindows()[1]:focus()
|
wf_app:getWindows()[1]:focus()
|
||||||
else
|
else
|
||||||
|
|
||||||
hs.osascript.applescript(string.format([[
|
hs.osascript.applescript(string.format([[
|
||||||
tell application "System Events" to tell process "%s"
|
tell application "System Events" to tell process "%s"
|
||||||
click menu item "New" of menu "File" of menu bar 1
|
click menu item "New Window" of menu "File" of menu bar 1
|
||||||
set frontmost to true
|
set frontmost to true
|
||||||
end tell
|
end tell
|
||||||
]], app))
|
]], app))
|
||||||
|
@ -105,6 +121,23 @@ hs.hotkey.bind({"cmd", "ctrl"}, "V", function()
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
-- Show Desktop (like windows or KDE)
|
||||||
|
|
||||||
|
hs.hotkey.bind({"alt"}, "d", function()
|
||||||
|
hs.eventtap.keyStroke({"fn"}, "f11")
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Switch Desktops (like windows or KDE)
|
||||||
|
|
||||||
|
hs.hotkey.bind({"ctrl", "alt"}, "left", function()
|
||||||
|
hs.eventtap.keyStroke({"ctrl"}, "left")
|
||||||
|
end)
|
||||||
|
|
||||||
|
hs.hotkey.bind({"ctrl", "alt"}, "right", function()
|
||||||
|
hs.eventtap.keyStroke({"ctrl"}, "right")
|
||||||
|
end)
|
||||||
|
|
||||||
|
|
||||||
-- Expose Windows (Mission Control)
|
-- Expose Windows (Mission Control)
|
||||||
|
|
||||||
hs.hotkey.bind({"alt"}, "tab", function()
|
hs.hotkey.bind({"alt"}, "tab", function()
|
||||||
|
@ -115,7 +148,7 @@ end)
|
||||||
|
|
||||||
hs.hotkey.bind({"cmd", "shift", "ctrl"}, "C", function()
|
hs.hotkey.bind({"cmd", "shift", "ctrl"}, "C", function()
|
||||||
hs.pasteboard.setContents("")
|
hs.pasteboard.setContents("")
|
||||||
hs.notify.new({title="Bazinga", informativeText="System clipboard has been cleared."}):send()
|
hs.notify.new({title="Cleared clipboard."}):send()
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- The ShiftIt Alternative
|
-- The ShiftIt Alternative
|
||||||
|
@ -144,4 +177,3 @@ hs.hotkey.bind(mash, '[', function() hs.window.focusedWindow():move(units.upleft
|
||||||
hs.hotkey.bind(mash, ';', function() hs.window.focusedWindow():move(units.botleft50, nil, true) end)
|
hs.hotkey.bind(mash, ';', function() hs.window.focusedWindow():move(units.botleft50, nil, true) end)
|
||||||
hs.hotkey.bind(mash, "'", function() hs.window.focusedWindow():move(units.botright50, nil, true) end)
|
hs.hotkey.bind(mash, "'", function() hs.window.focusedWindow():move(units.botright50, nil, true) end)
|
||||||
hs.hotkey.bind(mash, 'm', function() hs.window.focusedWindow():move(units.maximum, nil, true) end)
|
hs.hotkey.bind(mash, 'm', function() hs.window.focusedWindow():move(units.maximum, nil, true) end)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
" Win behavior
|
||||||
|
" source $VIMRUNTIME/mswin.vim
|
||||||
|
" behave mswin
|
||||||
|
|
||||||
|
" Window height
|
||||||
|
" set lines=32 columns=110
|
||||||
|
|
||||||
|
" Preferences
|
||||||
|
set encoding=utf-8
|
||||||
|
set autochdir
|
||||||
|
set shiftwidth=4
|
||||||
|
set tabstop=4
|
||||||
|
set linebreak
|
||||||
|
set breakindent
|
||||||
|
set autoindent
|
||||||
|
set wrap
|
||||||
|
set nobinary
|
||||||
|
set relativenumber
|
||||||
|
syntax on
|
||||||
|
set belloff=all
|
||||||
|
|
||||||
|
set guifont=CaskaydiaCove\ Nerd\ Font:h12
|
||||||
|
|
||||||
|
" Aliases
|
||||||
|
cnoreabbrev ge browse confirm e
|
||||||
|
cnoreabbrev ! aliasrun
|
||||||
|
|
||||||
|
" Plugins
|
||||||
|
call plug#begin()
|
||||||
|
Plug 'vim-airline/vim-airline'
|
||||||
|
Plug 'vim-airline/vim-airline-themes'
|
||||||
|
Plug 'airblade/vim-gitgutter'
|
||||||
|
Plug 'flazz/vim-colorschemes'
|
||||||
|
Plug 'tomlion/vim-solidity'
|
||||||
|
Plug 'zah/nim.vim'
|
||||||
|
Plug 'NLKNguyen/papercolortheme'
|
||||||
|
Plug 'ackyshake/VimCompletesMe'
|
||||||
|
Plug 'preservim/nerdtree'
|
||||||
|
call plug#end()
|
||||||
|
|
||||||
|
" Theming
|
||||||
|
set t_Co=256
|
||||||
|
set background=dark
|
||||||
|
colorscheme PaperColor
|
||||||
|
let g:airline_powerline_fonts = 1
|
||||||
|
let g:airline_theme = 'powerlineish'
|
||||||
|
let g:airline#extensions#tabline#enabled = 1
|
||||||
|
let g:airline#extensions#tabline#fnamemod = ':t'
|
||||||
|
|
||||||
|
|
||||||
|
" Navigation & Shortcuts
|
||||||
|
|
||||||
|
" NERDTree Stuff
|
||||||
|
nnoremap <leader>n :NERDTreeFocus<CR>
|
||||||
|
nnoremap <C-n> :NERDTree<CR>
|
||||||
|
nnoremap <C-t> :NERDTreeToggle<CR>
|
||||||
|
nnoremap <C-f> :NERDTreeFind<CR>
|
||||||
|
|
||||||
|
" Copy/paste stuff
|
||||||
|
" inoremap <C-c> "+y
|
||||||
|
" inoremap <C-v> <C-o>:"+p<CR>
|
||||||
|
|
||||||
|
" Tab stuff
|
||||||
|
nnoremap <A-1> 1gt
|
||||||
|
nnoremap <A-2> 2gt
|
||||||
|
nnoremap <A-3> 3gt
|
||||||
|
nnoremap <A-4> 4gt
|
||||||
|
nnoremap <A-5> 5gt
|
||||||
|
nnoremap <A-6> 6gt
|
||||||
|
nnoremap <A-7> 7gt
|
||||||
|
nnoremap <A-8> 8gt
|
||||||
|
nnoremap <A-9> 9gt
|
||||||
|
nnoremap <A-0> 10gt-
|
Loading…
Reference in New Issue