mirror of https://github.com/einverne/dotfiles.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
939 lines
45 KiB
939 lines
45 KiB
4 years ago
|
{
|
||
|
;; ! | means mandatory
|
||
|
;; # | means optional
|
||
|
;; !! | mandatory command + control + optional + shift (hyper)
|
||
|
;; ## | optional any
|
||
|
|
||
|
;; to understand better how modifiers work in karabiner
|
||
|
;; https://pqrs.org/osx/karabiner/json.html#from-event-definition-modifiers
|
||
|
|
||
|
;; C | left_command
|
||
|
;; T | left_control
|
||
|
;; O | left_option
|
||
|
;; S | left_shift
|
||
|
;; F | fn
|
||
|
;; Q | right_command
|
||
|
;; W | right_control
|
||
|
;; E | right_option
|
||
|
;; R | right_shift
|
||
|
;; need to prefix C T O S F with ! or #
|
||
|
|
||
|
:profiles
|
||
|
{:goku {:default true
|
||
|
:sim 50 ;; simultaneous_threshold_milliseconds (def: 50)
|
||
|
;; keys need to be pressed within this threshold to be considered simultaneous
|
||
|
:delay 0 ;; to_delayed_action_delay_milliseconds (def: 500)
|
||
|
;; time after which the key press is delayed
|
||
|
:alone 85 ;; to_if_alone_timeout_milliseconds (def: 1000)
|
||
|
;; hold for .. ms to register single tap
|
||
|
:held 500 ;; to_if_held_down_threshold_milliseconds (def: 500)
|
||
|
;; key is fired twice when 500ms is elapsed (otherwise seen as a hold command)
|
||
|
}}
|
||
|
:templates {
|
||
|
:alfred "osascript -e 'tell application \"Alfred 4\" to run trigger \"%s\" in workflow \"%s\" with argument \"%s\"'"
|
||
|
:km "osascript -e 'tell application \"Keyboard Maestro Engine\" to do script \"%s\"'"
|
||
|
:open "open \"%s\""
|
||
|
}
|
||
|
:devices {
|
||
|
:kybs [ ;; default for all keyboards
|
||
|
{:vendor_id 1452}
|
||
|
{:vendor_id 9494 :product_id 17}
|
||
|
]
|
||
|
:apple [{:vendor_id 1452 :product_id 832}]
|
||
|
:quickfire [{:vendor_id 9494 :product_id 17}]
|
||
|
}
|
||
|
:applications {:chrome ["^com\\.google\\.Chrome$"]
|
||
|
:chrome-canary [ "^com\\.google\\.Chrome\\.canary$"]
|
||
|
:chromes ["^com\\.google\\.Chrome$" "^com\\.google\\.Chrome\\.canary$"]
|
||
|
:ctrlnp ["md\\.obsidian",
|
||
|
"com\\.jetbrains\\.intellij",
|
||
|
"com.electron.lark"
|
||
|
"com\\.google\\.Chrome"]
|
||
|
:finder ["^com\\.apple\\.finder$"]
|
||
|
:terminals ["com\\.apple\\.Terminal",
|
||
|
"com\\.googlecode\\.iterm2"]
|
||
|
}
|
||
|
:input-sources {:squirrel {:input_mode_id "com.googlecode.rimeime.inputmethod.Squirrel"
|
||
|
:input_source_id "com.googlecode.rimeime.inputmethod.Squirrel.Rime"
|
||
|
:language "zh-Hans"}
|
||
|
:us {:input_mode_id ""
|
||
|
:input_source_id "com.apple.keylayout.US"
|
||
|
:language "en"}}
|
||
|
:layers {
|
||
|
:hyper-mode {:key :caps_lock :alone {:key :escape}}}
|
||
|
;; simlayers are basically "hyper" keys
|
||
|
;; recommended for non-typing keys like `.` or tab or space
|
||
|
;; or keys like z which are used less often
|
||
|
:simlayers {
|
||
|
:2-mode {:key :2}
|
||
|
:3-mode {:key :3}
|
||
|
:4-mode {:key :4}
|
||
|
:tab-mode {:key :tab}
|
||
|
:q-mode {:key :q}
|
||
|
:w-mode {:key :w}
|
||
|
:e-mode {:key :e}
|
||
|
:r-mode {:key :r}
|
||
|
:t-mode {:key :t}
|
||
|
:i-mode {:key :i}
|
||
|
:o-mode {:key :o}
|
||
|
:caps-mode {:key :caps_lock}
|
||
|
:a-mode {:key :a}
|
||
|
:s-mode {:key :s}
|
||
|
:d-mode {:key :d}
|
||
|
:f-mode {:key :f}
|
||
|
:g-mode {:key :g}
|
||
|
:semicolon-mode {:key :semicolon}
|
||
|
:tilde-mode {:key :grave_accent_and_tilde}
|
||
|
:z-mode {:key :z}
|
||
|
:x-mode {:key :x}
|
||
|
:c-mode {:key :c}
|
||
|
:v-mode {:key :v}
|
||
|
:b-mode {:key :b}
|
||
|
:n-mode {:key :n}
|
||
|
:m-mode {:key :m}
|
||
|
:comma-mode {:key :comma}
|
||
|
:dot-mode {:key :period}
|
||
|
:spacebar-mode {:key :spacebar}
|
||
|
:go-mode {:key :period :condi ["in-go" 1]}
|
||
|
:js-mode {:key :period :condi ["in-js" 1]}
|
||
|
:swift-mode {:key :period :condi ["in-swift" 1]}
|
||
|
:rust-mode {:key :period :condi ["in-rust" 1]}
|
||
|
:py-mode {:key :period :condi ["in-python" 1]}
|
||
|
:elixir-mode {:key :period :condi ["in-elixir" 1]}
|
||
|
}
|
||
|
:main [
|
||
|
;; each manipulator has a description and multiple rules
|
||
|
|
||
|
;;{:des "..." ;; -> description
|
||
|
;; :rules[
|
||
|
;; [<from> <to> <conditions>] ;; -> rule 1
|
||
|
;; [<from> <to> <conditions>] ;; -> rule 2
|
||
|
;; ]}
|
||
|
|
||
|
;; rule [:period ["period-mode" 1] nil {:afterup ["period-mode" 0] :alone :period}]
|
||
|
;; |_____| |_______________| |_| |_________________________________________|
|
||
|
;; <from> <to> <conditions> <other options>
|
||
|
;;
|
||
|
;; karabiner docs: ;; https://pqrs.org/osx/karabiner/json.html#complex_modifications-manipulator-definition
|
||
|
;; <other options> includs ~to_if_alone~, ~to_if_held_down~,~to_after_key_up~, ~to_delayed_action~ and ~parameters~.
|
||
|
;;
|
||
|
|
||
|
;; (custom variables) & modifiers -> Advanced
|
||
|
;; https://github.com/yqrashawn/GokuRakuJoudo/blob/master/examples.org#custom-variable
|
||
|
|
||
|
;; Setup for quickfire keyboard
|
||
|
{:des "CM Storm keyboard setup"
|
||
|
:rules [:quickfire
|
||
|
[:##left_command :left_option]
|
||
|
[:##left_option :left_command]
|
||
|
[:##right_command :right_option]
|
||
|
[:##right_option :right_command]
|
||
|
]}
|
||
|
|
||
|
{:des "swap cmd <-> option when using specific devices"
|
||
|
:rules [
|
||
|
[:##left_command :left_option [:quickfire]]
|
||
|
[:##left_option :left_command [:quickfire]]
|
||
|
] }
|
||
|
{:des "caps lock -> escape(alone) and caps lock -> hyper"
|
||
|
:rules [
|
||
|
[:##caps_lock :!CTOleft_shift nil {:alone :escape}]
|
||
|
]}
|
||
|
{:des "Ctrl np -> down up"
|
||
|
:rules [
|
||
|
[:!Tn :down_arrow [:ctrlnp]]
|
||
|
[:!Tp :up_arrow [:ctrlnp]]
|
||
|
]}
|
||
|
{:des "F2 as Rename in Finder"
|
||
|
:rules [
|
||
|
[:##f2 :return_or_enter [:finder]]]}
|
||
|
{:des "Disable Cmd+H Hide"
|
||
|
:rules [
|
||
|
[:!Ch nil nil [:kybs]]
|
||
|
]}
|
||
|
{:des "Ctrl W -> Delete last word"
|
||
|
:rules [
|
||
|
[:!Tw :!Tw [:terminals]]
|
||
|
[:!Ww :!Ww [:terminals]]
|
||
|
[:!Tw :!TOSdelete_or_backspace [:!terminals]]
|
||
|
[:!Ww :!TOSdelete_or_backspace [:!terminals]]
|
||
|
]}
|
||
|
{:des "Cmd + Q held 1 second to quit"
|
||
|
:rules [
|
||
|
[:!Cq nil nil {:held :!Cq :repeat false}]]}
|
||
|
{:des "Quit application by pressing command-q twice"
|
||
|
:rules [[:!C#Pq [:!Cq ["command-q" 0]] ["command-q" 1]]
|
||
|
[:!C#Pq ["command-q" 1] nil {:delayed {:invoked ["command-q" 0] :canceled ["commandq" 0]}}]]}
|
||
|
{:des "Use Delete as Move to Trash"
|
||
|
:rules [
|
||
|
[:##delete_forward :!Cdelete_or_backspace [:finder]]]}
|
||
|
{:des "right_command to f16"
|
||
|
:rules [
|
||
|
[:##right_command :f16]
|
||
|
]}
|
||
|
{:des "colonkey (shift)"
|
||
|
:rules [:semicolon-mode
|
||
|
[:1 :!T1]
|
||
|
[:2 :!T2]
|
||
|
[:3 :!T3]
|
||
|
[:4 :!T4]
|
||
|
[:5 :!T5]
|
||
|
[:q :!Sq]
|
||
|
[:w :!Sw]
|
||
|
[:e :!Se]
|
||
|
[:r :!Sr]
|
||
|
[:t :!St]
|
||
|
[:y :!Sy]
|
||
|
[:u :!Su]
|
||
|
[:i :!Si]
|
||
|
[:o :!So]
|
||
|
[:p :!Sp]
|
||
|
[:a :!Sa]
|
||
|
[:s :!Ss]
|
||
|
[:d :!Sd]
|
||
|
[:f :!Sf]
|
||
|
[:g :!Sg]
|
||
|
[:h :!Sh]
|
||
|
[:j :!Sj]
|
||
|
[:k :!Sk]
|
||
|
[:l :!Sl]
|
||
|
[:grave_accent_and_tilde [:!Sgrave_accent_and_tilde]] ; -> ~
|
||
|
[:z :!Sz]
|
||
|
[:x :!Sx]
|
||
|
[:c :!Sc]
|
||
|
[:v :!Sv]
|
||
|
[:b :!Sb]
|
||
|
[:n :!Sn]
|
||
|
[:m :!Sm]]}
|
||
|
{:des "jsim"
|
||
|
:rules [[[:j :k] [:alfred "search google" "net.deanishe.alfred-searchio"]]
|
||
|
[[:j :semicolon] [:alfred "search tabs" "net.deanishe.alfred.safari"]]
|
||
|
[[:j :l] :!Cspacebar]]} ; Alfred
|
||
|
{:des "ksim"
|
||
|
:rules [[[:k :l] [:alfred "search dash" "com.kapeli.dash.workflow"]]
|
||
|
[[:k :m] [:alfred "search youtube" "net.deanishe.alfred-searchio"]]]}
|
||
|
{:des "2key (move + alfred)"
|
||
|
:rules [:2-mode
|
||
|
[:j "say '2 j press'"]
|
||
|
[:o [:alfred "soulver" "app.soulver.alfredworkflow"]]
|
||
|
[:j :!Cdown_arrow]
|
||
|
[:k :!Cup_arrow]
|
||
|
[:l :!Cright_arrow]
|
||
|
[:h :!Cleft_arrow]
|
||
|
[:semicolon :!Oup_arrow]
|
||
|
[:quote :!Odown_arrow]
|
||
|
[:spacebar :!COSu]]} ; Selection -> HN
|
||
|
{:des "3key (open files + projects)"
|
||
|
:rules [:3-mode
|
||
|
[:r [:km "proj: LA"]]
|
||
|
[:i [:km "edit: Likes"]]
|
||
|
[:o [:km "edit: Projects"]]
|
||
|
[:t [:km "edit: Git config"]]
|
||
|
[:h [:km "wiki: Used hotkeys"]]
|
||
|
[:j [:km "edit: Aliases"]]
|
||
|
[:k [:km "edit: Zsh functions"]]
|
||
|
[:l [:km "Search current safari url in wiki"]]
|
||
|
[:semicolon [:km "proj: Knowledge"]]
|
||
|
[:quote [:km "wiki: Summary"]]
|
||
|
[:n [:km "proj: Dotfiles"]]
|
||
|
[:m [:km "proj: Home"]]
|
||
|
[:comma [:km "edit: Now"]]
|
||
|
[:period [:km "edit: GitHub Bio"]] ; TODO:
|
||
|
[:spacebar :!CSOp]]} ; Selection -> Reddit
|
||
|
{:des "4key (open curated lists)"
|
||
|
:rules [:4-mode
|
||
|
[:r [:km "edit: Web Searches"]]
|
||
|
[:t [:km "list: Newsletters"]]
|
||
|
[:o [:km "list: Blogs"]]
|
||
|
[:p [:km "list: Podcasts"]]
|
||
|
[:k [:km "list: Alfred workflows"]]
|
||
|
[:l [:km "list: Command line tools"]]
|
||
|
[:n [:km "list: Events"]]]}
|
||
|
{:des "tabkey (websites)"
|
||
|
:rules [:tab-mode
|
||
|
;[:j :!SOTw] ; Replies
|
||
|
;[:k :!SOTf] ; App specific
|
||
|
;[:l :!SOTr] ; Personal
|
||
|
[:j [:km "w: Phabricator"]]
|
||
|
[:k [:km "w: GitLab"]]
|
||
|
[:l [:km "w: RealTime"]]
|
||
|
[:period [:km "w: CodeSandbox"]]]}
|
||
|
{:des "qkey (cmd + shift)"
|
||
|
:rules [:q-mode
|
||
|
[:3 :!CS3]
|
||
|
[:4 :!CS4]
|
||
|
[:5 :!CS5]
|
||
|
[:6 :!CS6]
|
||
|
[:7 :!CS7]
|
||
|
[:8 :!CS8]
|
||
|
[:9 :!CS9]
|
||
|
[:0 :!CS0]
|
||
|
[:w :!CSw]
|
||
|
[:e :!CSe]
|
||
|
[:r :!CSr]
|
||
|
[:t :!CSt]
|
||
|
[:y :!CSy]
|
||
|
[:u :!CSu]
|
||
|
[:i :!CSi]
|
||
|
[:o :!CSo]
|
||
|
[:p :!CSp]
|
||
|
[:open_bracket :!CSopen_bracket]
|
||
|
[:close_bracket :!CSclose_bracket]
|
||
|
[:a :!CSa]
|
||
|
[:s :!CSs]
|
||
|
[:d :!CSd]
|
||
|
[:f :!CSf]
|
||
|
[:g :!CSg]
|
||
|
[:h :!CSh]
|
||
|
[:j :!CSj]
|
||
|
[:k :!CSk]
|
||
|
[:l :!CSl]
|
||
|
[:semicolon :!CSsemicolon]
|
||
|
[:quote :!CSquote]
|
||
|
[:z :!CSz]
|
||
|
[:x :!CSx]
|
||
|
[:c :!CSc]
|
||
|
[:v :!CSv]
|
||
|
[:b :!CSb]
|
||
|
[:n :!CSn]
|
||
|
[:m :!CSm]
|
||
|
[:comma :!CScomma]
|
||
|
[:period :!CSperiod]
|
||
|
[:slash :!CSslash]
|
||
|
[:spacebar :!CSOe]]} ; Selection -> YouTube
|
||
|
{:des "wkey (apps)"
|
||
|
:rules [:w-mode
|
||
|
[:e [:km "open: Fantastical"]]
|
||
|
[:r [:km "open: Notion"]]
|
||
|
[:t [:km "open: Activity Monitor"]]
|
||
|
;[:i [:km "open: Safari Technology Preview"]]
|
||
|
[:i [:km "open: Instruments"]]
|
||
|
[:o [:km "open: Keyboard Maestro"]]
|
||
|
[:p [:km "open: Postgres"]]
|
||
|
[:caps_lock [:km "open: Finder"]]
|
||
|
[:a :!OSC1] ; Open Dash
|
||
|
[:d [:km "open: Postico"]]
|
||
|
[:f [:km "open: 2Do"]]
|
||
|
;[:g [:km "open: Linear"]]
|
||
|
[:j [:km "open: iTerm"]]
|
||
|
[:k [:km "open: Safari"]]
|
||
|
[:l [:km "open: VS Code"]]
|
||
|
[:semicolon [:km "open: Xcode"]]
|
||
|
[:quote [:km "open: Console"]]
|
||
|
[:c [:km "open: Spotify"]]
|
||
|
[:v [:km "open: Paw"]]
|
||
|
[:b [:km "open: BetterTouchTool"]]
|
||
|
[:n [:km "open: Sublime Text"]]
|
||
|
[:m [:km "open: Sublime Merge"]]
|
||
|
;[:period [:km "open: Proxyman"]]
|
||
|
[:period [:km "open: Cypress"]]
|
||
|
[:spacebar :!CT7]]} ; Start Google search with selection
|
||
|
{:des "ekey (cmd)"
|
||
|
:rules [:e-mode
|
||
|
[:q :!Cq]
|
||
|
[:w :!Cw]
|
||
|
[:r :!Cr]
|
||
|
[:t :!Ct]
|
||
|
[:u :!Cu]
|
||
|
[:i :!Ci]
|
||
|
[:p :!Cp]
|
||
|
[:open_bracket :!Copen_bracket]
|
||
|
[:close_bracket :!Cclose_bracket]
|
||
|
[:semicolon :!Csemicolon]
|
||
|
[:quote :!Cquote]
|
||
|
[:comma :!Ccomma]
|
||
|
[:period :!Cperiod]
|
||
|
[:slash :!Cslash]
|
||
|
[:a :!Ca]
|
||
|
[:b :!Cb]
|
||
|
[:c :!Cc]
|
||
|
[:d :!Cd]
|
||
|
[:f :!Cf]
|
||
|
[:g :!Cg]
|
||
|
[:h :!Ch]
|
||
|
[:j :!Cj]
|
||
|
[:k :!Ck]
|
||
|
[:l :!Cl]
|
||
|
[:m :!Cm]
|
||
|
[:n :!Cn]
|
||
|
[:o :!Co]
|
||
|
[:s :!Cs]
|
||
|
[:v :!Cv]
|
||
|
[:x :!Cx]
|
||
|
[:y :!Cy]
|
||
|
[:z :!Cz]
|
||
|
[:1 :!C1]
|
||
|
[:2 :!C2]
|
||
|
[:3 :!C3]
|
||
|
[:4 :!C4]
|
||
|
[:5 :!C5]
|
||
|
[:6 :!C6]
|
||
|
[:7 :!C7]
|
||
|
[:8 :!C8]
|
||
|
[:9 :!C9]
|
||
|
[:0 :!C0]
|
||
|
[:spacebar :!CSO7]]} ; Selection -> Google Lucky
|
||
|
{:des "rkey (apps)"
|
||
|
:rules [:r-mode
|
||
|
[:tab [:km "open: Transmission"]]
|
||
|
[:q [:km "open: IINA"]]
|
||
|
[:w [:km "open: 1Password"]]
|
||
|
[:e [:km "open: Keynote"]]
|
||
|
;[:i [:km "open: Flume"]]
|
||
|
[:i [:km "open: Feedback Assistant"]]
|
||
|
[:o [:km "open: Developer"]]
|
||
|
;[:caps_lock [:km "open: Preview"]]
|
||
|
[:a [:km "open: Alfred Preferences"]]
|
||
|
[:j [:km "open: Dictionary"]]
|
||
|
[:k [:km "open: Preview"]]
|
||
|
[:l [:km "open: Books"]]
|
||
|
;[:k [:km "open: PDF Expert"]]
|
||
|
;[:l [:km "open: Reeder"]]
|
||
|
[:b [:km "Edit keyboard shortcuts"]]
|
||
|
[:n [:km "open: ScreenFlow"]]
|
||
|
[:m [:km "open: OBS"]]
|
||
|
[:comma [:km "open: Arq"]]
|
||
|
[:period [:km "open: Final Cut Pro"]]
|
||
|
[:spacebar :!COSx]]} ; Selection -> Reddit
|
||
|
{:des "tkey (palettes + websites)"
|
||
|
:rules [:t-mode
|
||
|
[:0 [:km "w: regex101"]]
|
||
|
[:e [:km "w: Facebook"]]
|
||
|
[:r [:km "w: Repl"]]
|
||
|
[:u [:km "w: Medium"]]
|
||
|
[:i [:km "w: Arxiv"]]
|
||
|
[:o [:km "w: Stack Overflow"]]
|
||
|
[:p [:km "w: Dropbox"]]
|
||
|
[:a [:km "w: Amazon"]]
|
||
|
[:h [:km "w: Twitch"]]
|
||
|
[:j :!COSo] ; Safari URL -> Twitter
|
||
|
;[:j :!COSo] ; Safari URL -> Google
|
||
|
;[:k :!COSo] ; Safari URL -> HN
|
||
|
;[:l :!COSo] ; Safari URL -> Lobsters
|
||
|
[:semicolon [:km "w: Netlify"]]
|
||
|
[:z [:km "w: MDN"]]
|
||
|
[:b [:km "w: Observable"]]
|
||
|
[:m [:km "w: Meetup"]]
|
||
|
[:comma [:km "w: Google Drive"]]
|
||
|
[:period [:km "w: IFTTT"]]
|
||
|
[:spacebar :!COSr]]} ; Selection -> Google Translate
|
||
|
{:des "ikey (symbols)"
|
||
|
:rules [:i-mode
|
||
|
[:1 :!S1]
|
||
|
[:2 :!S2]
|
||
|
[:3 :!Sequal_sign]
|
||
|
[:4 :!S8]
|
||
|
[:5 :!S5]
|
||
|
[:q :!Sopen_bracket]
|
||
|
[:w :!S9]
|
||
|
[:e :!S3]
|
||
|
[:r :!Squote]
|
||
|
[:t :quote]
|
||
|
[:o :open_bracket] ; [
|
||
|
[:p :close_bracket] ; ]
|
||
|
[:open_bracket :!Sclose_bracket] ; }
|
||
|
[:caps_lock [:km "Match symbols"]]
|
||
|
[:a :slash]
|
||
|
[:s :!Shyphen]
|
||
|
[:d :backslash]
|
||
|
[:f :hyphen]
|
||
|
[:g :!S4]
|
||
|
[:j :equal_sign]
|
||
|
[:l [:hyphen :!Speriod :spacebar]] ; -> arrow (->)
|
||
|
[:semicolon :semicolon]
|
||
|
[:grave_accent_and_tilde :!Sgrave_accent_and_tilde] ; -> //
|
||
|
[:z :!Sslash]
|
||
|
[:x :!Sbackslash]
|
||
|
[:c :!S7]
|
||
|
[:v :!Scomma]
|
||
|
[:b [:slash :slash :spacebar]]]} ; -> //
|
||
|
{:des "okey (alfred)"
|
||
|
:rules [:o-mode
|
||
|
[:1 :!C1]
|
||
|
[:2 :!C2]
|
||
|
[:3 :!C3]
|
||
|
[:4 :!C4]
|
||
|
[:5 :!C5]
|
||
|
[:6 :!C6]
|
||
|
[:q [:alfred "search downloads" "recentdownloads.ddjfreedom"]]
|
||
|
[:w :!CObackslash] ; 1Password search
|
||
|
[:e [:km "Make 2Do task"]]
|
||
|
[:r [:km "Make 2Do task with note as current URL"]]
|
||
|
[:t [:km "Make 2Do task with Safari title as name + note as current URL"]]
|
||
|
;[:i [:alfred "search alfred" "nikivi.utilities" "?"]]
|
||
|
[:i [:open "/Applications/iTerm.app"]]
|
||
|
[:caps_lock [:alfred "search desktop" "com.vitorgalvao.alfred.directories"]]
|
||
|
[:a [:alfred "search files" "nikivi.manage.notes"]] ; TODO: add blog, drafts
|
||
|
[:b [:open "/Applications/Obsidian.app"]]
|
||
|
[:w [:open "/Applications/Lark.app"]]
|
||
|
[:s [:alfred "search code" "nikivi.manage.notes"]]
|
||
|
[:d [:alfred "search repos" "net.deanishe.alfred-git-repos"]]
|
||
|
[:f [:alfred "search folders" "nikivi.search.folders"]]
|
||
|
[:g [:km "2Do with current url as note (github)"]]
|
||
|
[:j [:alfred "run" "iansinnott.keyboardmaestro"]]
|
||
|
[:k [:alfred "search menu bar" "com.tedwise.menubarsearch"]]
|
||
|
[:grave_accent_and_tilde [:alfred "search processes" "com.vitorgalvao.alfred.processcontrol"]]
|
||
|
[:x [:alfred "search workflows" "org.jeef.workflowdirectory"]]
|
||
|
;[:c [:alfred "search emoji" "com.github.jsumners.alfred-emoji"]]
|
||
|
[:c [:open "/Applications/Google Chrome.app"]]
|
||
|
[:v [:alfred "search clones" "com.vitorgalvao.alfred.directories"]]
|
||
|
[:n [:alfred "search lists" "nikivi.learn.anything"]]
|
||
|
[:m [:alfred "search lists" "nikivi.awesome.lists"]]
|
||
|
[:spacebar [:alfred "search PDFs" "nikivi.search.files"]]]}
|
||
|
{:des "capskey (todo + trello)"
|
||
|
:rules [:caps-mode
|
||
|
[:0 :down_arrow]
|
||
|
[:1 [:alfred "Screenshot -> Imgur" "com.vitorgalvao.alfred.webscreenshot"]]
|
||
|
[:2 :!TO2] ; Screenshot -> Clipboard
|
||
|
[:3 :!TO3] ; Screenshot -> Annotate
|
||
|
[:4 :!TO9] ; Picture of screen -> Clipboard
|
||
|
[:5 :!TO0] ; Picture of screen -> ~/Desktop
|
||
|
[:w [:km "wiki: My workflow"]]
|
||
|
[:e [:km "edit: Private notes"]]
|
||
|
[:r [:km "wiki: Rules"]]
|
||
|
[:t [:km "wiki: Processes"]]
|
||
|
[:u [:km "Open 2Do Buy"]]
|
||
|
[:i [:km "Open 2Do Fix"]]
|
||
|
[:o [:km "Open 2Do Tools"]]
|
||
|
[:p [:km "Open 2Do Repeat"]]
|
||
|
[:open_bracket [:km "w: Goodreads (currently reading)"]]
|
||
|
[:close_bracket [:km "w: Goodreads (next)"]]
|
||
|
[:s [:km "Open 2Do Wiki"]]
|
||
|
[:d [:open "notion://nikitavoloboev/Ideas-0b5a4e8a88f34fe29a1f33dad02e5332"]]
|
||
|
[:f [:km "Search 2Do"]]
|
||
|
[:g [:km "Open 2Do Life"]]
|
||
|
[:h [:open "notion://nikitavoloboev/Learn-05c0eac7be904e0da89cd8a3bf7ab509"]]
|
||
|
[:j [:km "Open 2Do Today"]]
|
||
|
[:k [:km "Open 2Do GitHub"]]
|
||
|
[:l [:km "Open 2Do Later"]]
|
||
|
[:semicolon [:km "Open 2Do Starred"]]
|
||
|
[:quote [:km "Open 2Do Other"]] ; TODO: remove once its empty
|
||
|
[:c [:km "Look back"]]
|
||
|
[:v [:km "wiki: Goals"]]
|
||
|
[:b [:open "notion://nikitavoloboev/Papers-Courses-8f00c7c500d5460490a5800c5d5db431"]]
|
||
|
[:n [:km "Open 2Do Clean"]]
|
||
|
[:m [:km "Open 2Do Work"]]
|
||
|
[:period [:km "Open 2Do LA"]]]}
|
||
|
{:des "akey (ctrl)"
|
||
|
:rules [:a-mode
|
||
|
[:2 :!T2]
|
||
|
[:3 :!T3]
|
||
|
[:4 :!T4]
|
||
|
[:5 :!T5]
|
||
|
[:6 :!T6]
|
||
|
[:7 :!T7]
|
||
|
[:8 :!T8]
|
||
|
[:9 :!T9]
|
||
|
[:0 :!T0]
|
||
|
[:q :!Tq]
|
||
|
[:w :!Tw]
|
||
|
[:e :!Te]
|
||
|
[:r :!Tr]
|
||
|
[:t :!Tt]
|
||
|
[:i :!Ti]
|
||
|
[:o :!To]
|
||
|
[:y :!Ty]
|
||
|
[:u :!Tu]
|
||
|
[:p :!Tp]
|
||
|
[:open_bracket :!Topen_bracket]
|
||
|
[:close_bracket :!Tclose_bracket]
|
||
|
[:s :!Ts]
|
||
|
[:d :!Td]
|
||
|
[:f :!Tf]
|
||
|
[:g :!Tg]
|
||
|
[:h :!Th]
|
||
|
[:j :!Tj]
|
||
|
[:k :!Tk]
|
||
|
[:l :!Tl]
|
||
|
[:semicolon :!Tsemicolon]
|
||
|
[:quote :!Tquote]
|
||
|
[:z :!Tz]
|
||
|
[:x :!Tx]
|
||
|
[:c :!Tc]
|
||
|
[:v :!Tv]
|
||
|
[:b :!Tb]
|
||
|
[:n :!Tn]
|
||
|
[:m :!Tm]
|
||
|
[:comma :!Tcomma]
|
||
|
[:period :!Tperiod]
|
||
|
[:slash :!Tslash]
|
||
|
[:spacebar :!CT9]]} ; Selection -> Google
|
||
|
{:des "skey (essential)"
|
||
|
:rules [:s-mode
|
||
|
[:w [:!Oleft_arrow :!OSright_arrow]] ; Highlight word
|
||
|
[:e :tab]
|
||
|
[:r :!Stab]
|
||
|
[:t :!Sreturn_or_enter]
|
||
|
[:u :!COp] ; Selection -> HasteBin link
|
||
|
[:i :!CTperiod] ; Contexts search active windows
|
||
|
[:o :!Cx] ; Cut
|
||
|
;[:open_bracket :!Oleft_arrow]
|
||
|
[:open_bracket [:km "Lowercase selected text"]]
|
||
|
[:close_bracket [:km "Uppercase selected text"]]
|
||
|
[:a :!Cc] ; Copy
|
||
|
[:d :delete_or_backspace]
|
||
|
[:f :return_or_enter]
|
||
|
[:g :!Ctab]
|
||
|
[:##h :left_arrow]
|
||
|
[:##j :down_arrow]
|
||
|
[:##k :up_arrow]
|
||
|
[:##l :right_arrow]
|
||
|
[:semicolon :!CTO0] ; Search Alfred Snippets
|
||
|
[:quote [:!Cleft_arrow :!CSright_arrow]] ; Highlight current line
|
||
|
[:c :!Cdelete_or_backspace]
|
||
|
[:v :left_shift]
|
||
|
[:##b :!Cleft_arrow]
|
||
|
[:n :!Cv] ; Paste
|
||
|
[:##m :!Cright_arrow]
|
||
|
[:period :!COS0]]} ; Selection -> Alfred Snippets TODO:
|
||
|
{:des "dkey (mouse)"
|
||
|
:rules [:d-mode
|
||
|
[:i :!Ckeypad_hyphen] ; Zoom out
|
||
|
[:o :!Ckeypad_plus] ; Zoom in
|
||
|
[:a [:!Cc :!Ctab]] ; Copy & activate previous app
|
||
|
[:j {:mkey {:vwheel 60}}] ; Scroll down
|
||
|
[:k {:mkey {:vwheel -60}}] ; Scroll up
|
||
|
[:l [:km "Google clipboard"]]
|
||
|
;[:l [:km "Google selected word"]]
|
||
|
[:semicolon [:km "Google Searchio selected word"]]
|
||
|
[:quote [:km "Select line and google"]]
|
||
|
[:z {:pkey :button2}] ; Right click
|
||
|
[:v {:pkey :button1}] ; Left click
|
||
|
[:b {:pkey :button3}] ; Middle click
|
||
|
[:n [:km "Open URL in clipboard in Safari"]]
|
||
|
[:m [:km "Google Lucky selected word"]]
|
||
|
[:comma :!TO8] ; Show Launchpad
|
||
|
[:period :!CTO3] ; Mission control
|
||
|
[:spacebar :!CT8]]} ; Selection -> Dictionary (wiki)
|
||
|
{:des "fkey (essential)"
|
||
|
:rules [:f-mode
|
||
|
[:1 [:km "View Sip"]]
|
||
|
[:2 [:km "Go to test macro"]]
|
||
|
[:3 [:km "New global macro"]] ; TODO: create global macro from Test (clear test, focus on naming new macro)
|
||
|
[:tab [:km "Test"]]
|
||
|
;[:q [:km "open: Photos"]]
|
||
|
;[:w [:km "open: Simulator / Xcode"]]
|
||
|
;[:q [:km "open: MindNode"]]
|
||
|
[:q [:km "open: Chrome Canary"]]
|
||
|
[:w [:km "Save clipboard link"]]
|
||
|
[:e :!CO8] ; Alfred clipboard history search
|
||
|
[:r [:km "Centre mouse to active app"]]
|
||
|
[:i :!Treturn_or_enter]
|
||
|
[:o :!Oreturn_or_enter]
|
||
|
[:p :!CTOc] ; Sleep
|
||
|
[:open_bracket :!CT5] ; Turn display on/off
|
||
|
[:caps_lock :!CTOu] ; Sip color picker
|
||
|
[:a [:km "open: Figma"]]
|
||
|
[:s [:km "edit: 2nd iTerm tab"]]
|
||
|
[:d [:km "Save clipboard link (top)"]]
|
||
|
[:h [:km "Make markdown link from selection {link}"]]
|
||
|
[:j [:km "edit: 1st iTerm tab"]]
|
||
|
[:k :return_or_enter]
|
||
|
[:l :!Creturn_or_enter]
|
||
|
[:semicolon [:km "edit: Karabiner"]]
|
||
|
[:quote [:km "Goku Run"]]
|
||
|
[:z :!Ospacebar] ; Switch language (Russian <-> English)
|
||
|
[:n :!Freturn_or_enter]
|
||
|
[:m :!Sreturn_or_enter]
|
||
|
[:comma [:km "Add safari link to selected markdown text"]]
|
||
|
[:period :!CTO4] ; Alfred file action
|
||
|
[:spacebar :!CTq]]} ; Selection -> Web Searches
|
||
|
{:des "gkey (actions)"
|
||
|
:rules [:g-mode
|
||
|
[:q :!CT3] ; Search bartender menu items
|
||
|
[:w :!CSgrave_accent_and_tilde] ; Switch between active windows (go up)
|
||
|
[:caps_lock [:km "Go to KM group of current app from picklist"]]
|
||
|
[:a [:km "Go to KM group of current app"]]
|
||
|
[:s [:km "Dismiss notifications"]]
|
||
|
[:h :!CSOa] ; Move window left
|
||
|
[:j :!Cgrave_accent_and_tilde] ; Switch between active windows (go down)
|
||
|
[:k :!COSf] ; Maximize window
|
||
|
[:l :!CSOd] ; Move window right
|
||
|
[:semicolon :!COSs] ; Move window between different screen & maximize (iPad)
|
||
|
[:z :!CO0] ; Show Dropzone dropdown
|
||
|
[:n :!CTOg] ; Turn on/off notifications
|
||
|
[:m :!COslash] ; Show/hide notification centre
|
||
|
[:period :!COS6]]} ; Toggle Night Shift on/off.
|
||
|
{:des "tilkey (actions + language switches)"
|
||
|
:rules [:tilde-mode
|
||
|
[:w [:alfred "toggle wifi" "nikivi.wifi.tools"]]
|
||
|
[:e :!CTk] ; Turn on/off BTT TouchBar
|
||
|
[:r [:alfred "restart wifi" "nikivi.wifi.tools"]]
|
||
|
[:d [:km "Commit dotfiles"]]
|
||
|
[:f [:km "Commit learning"]]
|
||
|
[:h [:km "Commit home"]]
|
||
|
[:j [[:open "dash://.js:"] ["in-python" 0] ["in-go" 0] ["in-js" 1] ["in-elixir" 0] ["in-rust" 0] ["in-swift" 0]]] ; JS
|
||
|
;[:j [[:open "dash://.jsts:"] ["in-python" 0] ["in-go" 0] ["in-js" 1] ["in-elixir" 0] ["in-rust" 0] ["in-swift" 0]]] ; JS
|
||
|
[:k [[:open "dash://.go:"] ["in-python" 0] ["in-go" 1] ["in-js" 0] ["in-elixir" 0] ["in-rust" 0] ["in-swift" 0]]] ; Go
|
||
|
[:l [[:open "dash://.python:"] ["in-python" 1] ["in-go" 0] ["in-js" 0] ["in-elixir" 0] ["in-rust" 0] ["in-swift" 0]]] ; Python
|
||
|
[:c [:km "Commit code"]]
|
||
|
[:v [:km "Commit wiki"]]
|
||
|
;[:n [[:open "dash://.rust:"] ["in-python" 0] ["in-go" 0] ["in-js" 0] ["in-elixir" 0] ["in-rust" 1] ["in-swift" 0]]] ; Rust
|
||
|
;[:n :!STh] ; Record macro
|
||
|
;[:m [[:open "dash://.swift:"] ["in-python" 0] ["in-go" 0] ["in-js" 0] ["in-elixir" 0] ["in-rust" 0] ["in-swift" 1]]] ; Swift
|
||
|
[:spacebar :!COSn]]} ; Selection -> GitHub
|
||
|
{:des "zkey (chat)"
|
||
|
:rules [:z-mode
|
||
|
[:e [:km "open: Telegram"]]
|
||
|
[:i [:km "open: WhatsApp"]]
|
||
|
[:o [:km "open: Zoom"]]
|
||
|
[:p [:km "open: FaceTime"]]
|
||
|
[:d [:km "New Spark email"]]
|
||
|
[:f [:km "open: Spark"]]
|
||
|
[:g [:alfred "search contacts" "nikivi.search.content"]]
|
||
|
[:h [:km "Create new contact"]]
|
||
|
[:j [:km "w: Element"]]
|
||
|
[:k [:km "open: Telegram"]]
|
||
|
[:l [:km "open: Discord"]]
|
||
|
[:semicolon [:km "open: Slack"]]
|
||
|
[:c [:km "open: Contacts"]]
|
||
|
[:v [:km "open: Tweetbot"]]
|
||
|
[:b [:km "w: Twitter"]]
|
||
|
[:n [:km "New tweet"]]
|
||
|
[:m [:km "New tweet with current URL"]]
|
||
|
[:comma [:km "w: Twitter Search"]]
|
||
|
[:period [:km "open: Textual"]]
|
||
|
[:slash [:km "Search Tweetbot"]]
|
||
|
[:spacebar :!CSOz]]} ; Selection -> Twitter
|
||
|
{:des "xkey (spotify)"
|
||
|
:rules [:x-mode
|
||
|
[:o [:km "Paste current Spotify song link"]]
|
||
|
[:open_bracket [:alfred "twitter_search_current_track" "com.vdesabou.spotify.mini.player"]]
|
||
|
[:close_bracket [:alfred "add_current_track_to" "com.vdesabou.spotify.mini.player" "spotify:playlist:2N82DnDsPGMnpJhN8sVFJu"]] ; Add song to Bliss playlist
|
||
|
[:j [:alfred "show_alfred_playlist" "com.vdesabou.spotify.mini.player"]]
|
||
|
[:k [:alfred "show_current_track" "com.vdesabou.spotify.mini.player"]]
|
||
|
[:semicolon [:alfred "add_current_track_to_alfred_playlist_or_your_music" "com.vdesabou.spotify.mini.player"]] ; Add song to Likes playlist
|
||
|
[:quote [:alfred "add_current_track_to" "com.vdesabou.spotify.mini.player" "spotify:playlist:0ESjwZeTcHOWzY3FYO5zs5"]] ; Add song to Focus playlist
|
||
|
[:n [:alfred "add_current_track_to" "com.vdesabou.spotify.mini.player"]]
|
||
|
[:m [:alfred "remove_current_track_from" "com.vdesabou.spotify.mini.player"]]
|
||
|
;[:comma [:alfred "youtube_search_current_track" "com.vdesabou.spotify.mini.player"]] ; TODO: twitter search
|
||
|
[:comma [:alfred "show_search_online" "com.vdesabou.spotify.mini.player"]] ; TODO: split up further into binds for direct searches of tracks/artists/all
|
||
|
[:period [:alfred "youtube_search_current_track" "com.vdesabou.spotify.mini.player"]]
|
||
|
[:slash [:alfred "reddit_search_current_track" "com.vdesabou.spotify.mini.player"]]]}
|
||
|
{:des "ckey (run + dots)"
|
||
|
:rules [:c-mode
|
||
|
[:tab [:km "proj: Learning"]]
|
||
|
[:u [:km "run: Rust"]]
|
||
|
[:i [:km "run: Julia"]] ; TODO: maybe use Pluto.jl notebook
|
||
|
[:o [:km "run: Deno"]]
|
||
|
[:a [:km "Clone repo to ~/clones and open with VS Code"]]
|
||
|
[:s [:km "Clone repo to ~/clones"]]
|
||
|
;[:d [:km "Clone repo to ~/src/clones and open with VS Code"]] ; TODO: open with Xcode
|
||
|
[:j [:km "run: Bash"]]
|
||
|
[:k [:km "run: Go"]]
|
||
|
[:l [:km "run: Python"]]
|
||
|
[:semicolon [:alfred "search learning" "nikivi.private.directories"]]
|
||
|
[:quote [:km "proj: Go"]]
|
||
|
[:n [:km "run: Node"]]
|
||
|
[:m [:km "run: Swift"]]
|
||
|
[:period [:km "edit: Dotfiles Magefile"]]
|
||
|
[:spacebar :!CSOy]]} ; Selection -> Stack Overflow
|
||
|
{:des "vkey (media)"
|
||
|
:rules [:v-mode
|
||
|
[:q :illumination_decrement]
|
||
|
[:w :illumination_increment]
|
||
|
[:e [:km "Change macOS appearance (dark/light)"]]
|
||
|
[:i :display_brightness_decrement]
|
||
|
[:o :display_brightness_increment]
|
||
|
[:p [:alfred "play" "com.vdesabou.spotify.mini.player" "spotify:playlist:37i9dQZEVXcMHpP6EcIqNe"]] ; Discover Weekly
|
||
|
[:open_bracket [:alfred "play" "com.vdesabou.spotify.mini.player" "spotify:playlist:0ERn0U4qZIKC8Dy7RrMMsn"]] ; Likes
|
||
|
[:close_bracket [:alfred "play" "com.vdesabou.spotify.mini.player" "spotify:playlist:2N82DnDsPGMnpJhN8sVFJu"]] ; Bliss
|
||
|
;[:a [:km "Repeat Spotify song"]] ; TODO: do in background
|
||
|
[:s [:km "Play/pause Spotify"]]
|
||
|
[:d :!CO9] ; Connect/disconnect AirPods
|
||
|
[:h :vk_consumer_previous]
|
||
|
[:j :mute]
|
||
|
[:k :vk_consumer_play]
|
||
|
[:l :vk_consumer_next]
|
||
|
[:semicolon [:alfred "spot_mini" "com.vdesabou.spotify.mini.player"]]
|
||
|
[:grave_accent_and_tilde [:alfred "artist_radio" "com.vdesabou.spotify.mini.player"]]
|
||
|
[:z [:alfred "song_radio" "com.vdesabou.spotify.mini.player"]]
|
||
|
[:b [:alfred "show_playlists" "com.vdesabou.spotify.mini.player"]]
|
||
|
[:n :volume_decrement]
|
||
|
[:m :volume_increment]
|
||
|
[:comma [:alfred "play" "com.vdesabou.spotify.mini.player" "spotify:playlist:0ESjwZeTcHOWzY3FYO5zs5"]] ; Focus
|
||
|
[:period [:alfred "play" "com.vdesabou.spotify.mini.player" "spotify:playlist:5QOChSDsvLTtBwXmIn8Pss"]] ; Ambient
|
||
|
[:slash [:alfred "play" "com.vdesabou.spotify.mini.player" "spotify:playlist:5fIL0WiQ79QtgsP4Y4L20V"]] ; Inspired
|
||
|
[:spacebar :!CSOv]]} ; Selection -> Google Images
|
||
|
{:des "bkey (break)"
|
||
|
:rules [:b-mode
|
||
|
[:9 [:alfred "search hn" "com.vitorgalvao.alfred.hackerboard"]]
|
||
|
[:0 [:km "w: HN (show new)"]]
|
||
|
[:q [:km "w: KM forum"]]
|
||
|
[:w [:km "w: Swift forum"]]
|
||
|
[:e [:km "w: Behance"]]
|
||
|
[:r [:km "w: Medium (network)"]]
|
||
|
[:t [:km "w: Medium (bookmarks)"]]
|
||
|
[:u [:km "w: Product Hunt"]]
|
||
|
[:i [:km "w: Dribble"]]
|
||
|
[:o [:km "w: Pinboard"]]
|
||
|
[:p [:km "w: Indie Hackers"]]
|
||
|
[:open_bracket [:km "w: Reddit Saved"]]
|
||
|
[:close_bracket [:km "w: Twitter Bookmarks"]]
|
||
|
[:a [:km "w: HN"]]
|
||
|
[:s [:km "w: Lobsters"]]
|
||
|
[:d [:km "w: Reddit"]]
|
||
|
[:f [:km "w: Reddit (all)"]]
|
||
|
[:g [:km "w: Alfred Forum"]]
|
||
|
[:h [:km "w: Product Hunt (new)"]]
|
||
|
[:j [:km "w: Reddit (new)"]]
|
||
|
[:k [:km "w: GitHub (front page)"]]
|
||
|
[:l [:km "w: Lobsters (new)"]]
|
||
|
[:semicolon [:km "w: HN (new)"]]
|
||
|
[:quote [:km "w: HckrNews"]]
|
||
|
[:z [:km "w: HN (comments)"]]
|
||
|
[:x [:km "w: Lobsters (comments)"]]
|
||
|
[:n [:km "w: Inoreader"]]
|
||
|
[:m [:km "w: Mastodon"]]
|
||
|
[:comma [:km "w: GitHub (trending)"]]
|
||
|
[:period [:km "w: YouTube (subs)"]]
|
||
|
[:slash [:km "w: GitHub (explore)"]]
|
||
|
[:spacebar :!TOSs]]} ; Selection -> DuckDuckGo
|
||
|
{:des "nkey (alfred)"
|
||
|
:rules [:n-mode
|
||
|
[:1 :!O1]
|
||
|
[:2 :!O2]
|
||
|
[:3 :!O3]
|
||
|
[:4 :!O4]
|
||
|
[:5 :!O5]
|
||
|
[:6 :!O6]
|
||
|
[:q [:alfred "search github" "nikivi.search.the.web"]]
|
||
|
[:w [:alfred "search twitter" "nikivi.search.the.web"]]
|
||
|
[:e [:alfred "search subs" "net.deanishe.alfred-reddit"]]
|
||
|
[:r [:alfred "search reddit" "nikivi.search.the.web"]]
|
||
|
[:t [:alfred "ssh" "net.deanishe.alfred-ssh"]]
|
||
|
[:a [:alfred "search shares" "nikivi.ask.create.share"]]
|
||
|
[:s [:alfred "search websites" "nikivi.web.searches"]]
|
||
|
[:d [:alfred "search stack overflow" "net.deanishe.alfred-stackoverflow"]]
|
||
|
;[:d [:alfred "search packages" "com.sindresorhus.npms"]]
|
||
|
[:f [:alfred "search repos" "me.lachlan.githubjump"]]
|
||
|
[:g [:alfred "search godoc" "nikivi.search.the.web"]]
|
||
|
[:h [:alfred "search hn" "nikivi.search.the.web"]]
|
||
|
[:grave_accent_and_tilde [:alfred "search learn anything" "nikivi.learn.anything"]]
|
||
|
[:z [:alfred "search lobsters" "nikivi.search.the.web"]]
|
||
|
[:x [:alfred "search stack" "net.deanishe.alfred-stackoverflow"]]
|
||
|
[:c [:alfred "search wiki" "nikivi.mind"]]
|
||
|
[:v [:alfred "search links" "nikivi.mind"]]
|
||
|
;[:v [:alfred "search pinboard" "nikivi.search.the.web"]] ; TODO: topics/search/more?
|
||
|
[:b [:alfred "search bookmarks" "net.deanishe.alfred.safari"]]
|
||
|
[:spacebar [:alfred "search history" "net.deanishe.alfred.safari"]]]}
|
||
|
{:des "mkey (dash)"
|
||
|
:rules [:m-mode
|
||
|
[:3 [:alfred "search alfred" "nikivi.utilities" "d3 "]]
|
||
|
[:q [:alfred "search alfred" "nikivi.utilities" "tldr "]]
|
||
|
[:w [:alfred "search alfred" "nikivi.utilities" "django "]]
|
||
|
[:e [:alfred "search alfred" "nikivi.utilities" "html "]]
|
||
|
[:r [:alfred "search alfred" "nikivi.utilities" "react "]]
|
||
|
[:t [:alfred "search alfred" "nikivi.utilities" "ts "]]
|
||
|
[:a [:alfred "search alfred" "nikivi.utilities" "man "]]
|
||
|
[:d [:alfred "search alfred" "nikivi.utilities" "docker "]]
|
||
|
[:f [:alfred "search alfred" "nikivi.utilities" "apple "]]
|
||
|
[:s [:alfred "search alfred" "nikivi.utilities" "lodash "]]
|
||
|
[:d [:alfred "search alfred" "nikivi.utilities" "node "]]
|
||
|
[:g [:alfred "search alfred" "nikivi.utilities" "godoc "]]
|
||
|
[:c [:alfred "search alfred" "nikivi.utilities" "css "]]
|
||
|
[:v [:alfred "search alfred" "nikivi.utilities" "vim "]]
|
||
|
[:b [:alfred "search alfred" "nikivi.utilities" "bash "]]]}
|
||
|
{:des "commakey (words)"
|
||
|
:rules [:comma-mode
|
||
|
[:w [:n :i :k :i :v :i]] ; -> nikivi
|
||
|
[:a [:n :i :k :i :t :a :v :o :l :o :b :o :e :v ]]]} ; -> nikitavoloboev
|
||
|
{:des "dotkey (1-3, q-u, caps, tab)"
|
||
|
:rules [:dot-mode
|
||
|
[:1 [:!Sc :l :o :s :e :spacebar :!S3]] ; -> Close #
|
||
|
[:2 [:!Sr :e :f :spacebar :!S3]] ; -> Ref #
|
||
|
[:3 [:!Sf :i :x :spacebar :!S3]] ; -> Fix #
|
||
|
[:q [:!Sa :spacebar :slash :slash :spacebar]] ; -> // (on same line)
|
||
|
[:w [:km "VSCode/XCode/Sublime comment on top of line"]]
|
||
|
[:e [:!St :!So :!Sd :!So :!Ssemicolon :spacebar]] ; -> TODO:
|
||
|
[:r [:km "VSCode/XCode/Sublime comment on top of line with TODO"]]
|
||
|
[:t [:!Sn :!So :!St :!Se :!Ssemicolon :spacebar]] ; -> NOTE:
|
||
|
[:y [:p :l :e :a :s :e :spacebar]] ; -> please
|
||
|
[:u [:u :p :d :a :t :e :spacebar]] ; -> update
|
||
|
[:caps_lock [:!Cf :!St :!So :!Sd :!So :!Ssemicolon :return_or_enter]] ; -> search TODO: in file
|
||
|
[:grave_accent_and_tilde [:!CSf :!St :!So :!Sd :!So :!Ssemicolon :return_or_enter]] ; -> search TODO: globally
|
||
|
[:left_gui [:!St :h :a :n :k :s :spacebar]] ; -> Thanks
|
||
|
[:spacebar [:!St :h :a :n :k :spacebar :y :o :u :period :spacebar]]]} ; -> Thank you.
|
||
|
{:des "jsdot"
|
||
|
:rules [:js-mode
|
||
|
[:tab [:km "w: MDN"]]
|
||
|
[:a [:c :o :n :s :o :l :e :period :l :o :g :!S9 :!S0 :left_arrow]] ; -> console.log()
|
||
|
;[:a [:c :o :n :s :o :l :e :period :w :a :r :n :!S9 :!S0 :left_arrow]] ; -> console.warn()
|
||
|
[:s [:equal_sign :!Speriod :spacebar]] ; -> =>
|
||
|
[:d [:r :e :t :u :r :n :spacebar]] ; -> return
|
||
|
[:f [:!Cf :c :o :n :s :o :l :e :period :l :o :g :!S9 :return_or_enter]] ; -> search console.log( in file
|
||
|
;[:f [:!Cf :c :o :n :s :o :l :e :period :w :a :r :n :!S9 :return_or_enter]] ; -> search console.warn( in file
|
||
|
[:g [:right_arrow :spacebar :equal_sign :!Speriod :spacebar :!Sopen_bracket :return_or_enter]] ; -> => {}
|
||
|
[:j [:right_arrow :spacebar :equal_sign :spacebar]] ; -> =
|
||
|
[:k [:right_arrow :spacebar :!Sopen_bracket :return_or_enter]] ; -> { }
|
||
|
[:z [:spacebar :c :l :a :s :s :!Sn :a :m :e :equal_sign :!Squote :!Squote :left_arrow]] ; -> className=""
|
||
|
;[:x [:t :a :c :h :y :o :n :s :spacebar]] ; -> tachyons
|
||
|
;[:c [:spacebar :s :t :y :l :e :equal_sign :!Sopen_bracket :!Sopen_bracket :!Sclose_bracket :!Sclose_bracket :left_arrow :left_arrow]] ; -> style={{}}
|
||
|
[:c [:spacebar :s :t :y :l :e :equal_sign :!Sopen_bracket :!Sclose_bracket :left_arrow]] ; -> style={}
|
||
|
[:v [:j :a :v :a :s :c :r :i :p :t :spacebar]] ; -> javascript
|
||
|
[:b [:t :y :p :e :s :c :r :i :p :t :spacebar]]]} ; -> typescript
|
||
|
{:des "godot"
|
||
|
:rules[:go-mode
|
||
|
[:tab [:km "w: GoDoc"]]
|
||
|
[:a [:f :m :t :period :!Sp :r :i :n :t :l :n :!S9 :!S0 :left_arrow]] ; -> fmt.Println()
|
||
|
[:s [:!Ssemicolon :equal_sign :spacebar]] ; -> :=
|
||
|
[:d [:r :e :t :u :r :n :spacebar]] ; -> return
|
||
|
[:f [:!Cf :f :m :t :period :p :return_or_enter]] ; -> search fmt.p in file
|
||
|
[:g [:i :f :spacebar :e :r :r :spacebar :!S1 :equal_sign :spacebar :n :i :l :spacebar :!Sopen_bracket :return_or_enter]] ; -> if err != nil {}
|
||
|
[:j [:grave_accent_and_tilde :j :s :o :n :!Ssemicolon :!Squote :!Squote :grave_accent_and_tilde :left_arrow :left_arrow]] ; -> `json:""`
|
||
|
[:z [:l :o :g :period :!Sp :r :i :n :t :l :n :!S9 :!S0 :left_arrow]] ; -> log.Println()
|
||
|
[:x [:f :m :t :period :!Sp :r :i :n :t :l :n :!S9 :!S0 :left_arrow :!Squote :hyphen :hyphen]] ; -> fmt.Println("--")
|
||
|
[:c [:!STsemicolon]] ; Selection -> Go Playground
|
||
|
[:v [:g :o :l :a :n :g :spacebar]] ; -> golang
|
||
|
[:b [:l :o :g :period :!Sf :a :t :a :l :!S9 :e :r :r :!S0]]]} ; -> log.Fatal(err)
|
||
|
{:des "pydot"
|
||
|
:rules[:py-mode
|
||
|
[:a [:p :r :i :n :t :!S9 :!S0 :left_arrow]] ; -> print()
|
||
|
[:s [:hyphen :!Speriod]] ; -> ->
|
||
|
[:d [:r :e :t :u :r :n :spacebar]] ; -> return
|
||
|
[:v [:p :y :t :h :o :n :spacebar]]]} ; -> python
|
||
|
{:des "swiftdot"
|
||
|
:rules[:swift-mode
|
||
|
[:a [:p :r :i :n :t :!S9 :!S0 :left_arrow]] ; -> print()
|
||
|
[:v [:s :w :i :f :t :spacebar]]]} ; -> swift
|
||
|
{:des "rustdot"
|
||
|
:rules[:rust-mode
|
||
|
[:a [:p :r :i :n :t :l :n :!S1 :!S9 :!S0 :left_arrow]] ; -> println!()
|
||
|
[:v [:r :u :s :t :spacebar]]]} ; -> rust
|
||
|
{:des "elixdot"
|
||
|
:rules[:elixir-mode
|
||
|
[:a [:!Si :!So :period :p :u :t :s :!S9 :!S0 :left_arrow]] ; -> IO.puts()
|
||
|
[:v [:e :l :i :x :i :r :spacebar]]]} ; -> elixir
|
||
|
{:des "spacekey (websites)"
|
||
|
:rules [:spacebar-mode
|
||
|
;[:tab :!CO5] ; TODO: Configure ScreenFlow recording
|
||
|
[:q [:km "open: CleanShot"]]
|
||
|
[:w :!Cw] ;; Cmd+w
|
||
|
[:e :!TO2] ; Screenshot -> Clipboard
|
||
|
[:r :!COS4] ; Screenshot -> CleanShot (cloud)
|
||
|
;[:r :!TOCp] ; Screenshot -> Imgur
|
||
|
;[:r :!TOCp] ; Screenshot -> Imgur (auth)
|
||
|
[:t :!CS4] ; Screenshot -> ~/Desktop
|
||
|
;[:i [:km "w: Google Sheets"]]
|
||
|
[:i [:km "w: GitHub (notifications)"]] ; TODO: jump between GitHub (issues/prs)
|
||
|
[:o [:km "w: Google Docs"]]
|
||
|
[:open_bracket [:km "w: Google Slides"]]
|
||
|
[:close_bracket [:km "w: Beautiful.ai"]]
|
||
|
[:caps_lock :!CTOSg] ; Loom recording
|
||
|
[:a :!TO4] ; CleanShot recording
|
||
|
;[:s :!CO5] ; TODO: Pause/unpause ScreenFlow recording
|
||
|
[:f :!CO5] ; Start/stop ScreenFlow recording
|
||
|
[:h [:km "w: Roam Research"]]
|
||
|
[:j [:km "w: Excalidraw"]]
|
||
|
[:k [:km "w: GitHub"]]
|
||
|
[:l [:km "w: Localhost"]]
|
||
|
[:semicolon [:km "w: StackBlitz"]]
|
||
|
[:quote [:km "w: Learn Anything"]]
|
||
|
[:b [:km "w: Digital Ocean"]]
|
||
|
[:n [:km "w: GCP"]]
|
||
|
[:m [:km "w: AWS"]]
|
||
|
[:comma [:km "w: Diagrams"]]
|
||
|
[:period [:km "w: YouTube"]]
|
||
|
[:slash [:km "w: GitHub PR"]]]} ; TODO:
|
||
|
]}
|