├── ranger ├── plugins │ ├── __init__.py │ ├── __init__.pyo │ ├── devicons.pyo │ ├── devicons_linemode.pyo │ └── devicons_linemode.py ├── commands.py └── scope.sh ├── vimify ├── inputrc ├── editrc └── README.md ├── vimrc ├── zsh ├── colors.zsh ├── secrets.zsh ├── zmv.zsh ├── rm.zsh ├── mcfly.zsh ├── git.zsh ├── noglob.zsh ├── zshrc ├── vi-mode.zsh ├── custom_prompt_path.zsh ├── zzzz_after.zsh ├── 0000_before.zsh ├── last-command.zsh ├── zsh-aliases.zsh ├── fasd.zsh ├── 0_path.zsh ├── key-bindings.zsh ├── nvm.zsh ├── fzf.zsh ├── theme.zsh ├── prezto-themes │ ├── prompt_kylewest_setup │ ├── prompt_skwp_setup │ ├── prompt_steeef_simplified_setup │ ├── prompt_agnoster_setup │ └── prompt_lfilho_setup ├── README.md ├── prezto-override │ └── zpreztorc ├── base16-shell │ └── base16-lfilho.dark.sh └── aliases.zsh ├── nvim ├── settings │ ├── plugin-investigate.vim │ ├── plugin-snipmate.vim │ ├── plugin-yankring.vim │ ├── vim-sudo-write.vim │ ├── plugin-devicons.vim │ ├── plugin-autotag.vim │ ├── plugin-indent-guides.vim │ ├── plugin-showmarks.vim │ ├── plugin-sideways.vim │ ├── plugin-rg.vim │ ├── vim-gotofile.vim │ ├── plugin-undotree.vim │ ├── vim-tags.vim │ ├── vim-visual-at.vim │ ├── plugin-session.vim │ ├── after │ │ ├── syntax-nerdtree.vim │ │ ├── colorscheme.vim │ │ ├── main.vim │ │ └── syntax-javascript.vim │ ├── plugin-maximizer.vim │ ├── plugin-expand-region.vim │ ├── plugin-cosco.vim │ ├── plugin-gruvbox.vim │ ├── vim-wrapping.vim │ ├── plugin-tagbar.vim │ ├── vim-quickfix.vim │ ├── vim-terminal.vim │ ├── plugin-easymotion.vim │ ├── main.vim │ ├── plugin-tmux-navigator.vim │ ├── vim-appearance.vim │ ├── vim-search.vim │ ├── plugin-fzf.vim │ ├── vim-open-changed-files.vim │ ├── vim-whitespace-killer.vim │ ├── plugin-markdown.vim │ ├── plugin-NERDtree.vim │ ├── before │ │ └── main.vim │ ├── vim-windows.vim │ ├── plugin-fugitive.vim │ ├── plugin-surround.vim │ ├── plugin-lightline.vim │ ├── vim-keymaps-mac.vim │ ├── vim-general.vim │ ├── vim-keymaps-linux.vim │ ├── vim-keymaps.vim │ └── plugin-coc.vim ├── plugins │ ├── project.vim │ ├── git.vim │ ├── search.vim │ ├── textobjects.vim │ ├── appearance.vim │ ├── main.vim │ ├── languages.vim │ └── improvements.vim ├── init.vim ├── coc-settings.json ├── README.md └── dict │ └── javascript.dict ├── ruby ├── rdebugrc ├── README.md └── gemrc ├── fonts ├── Menlo-Powerline.otf ├── mensch-Powerline.otf ├── Fura Code Bold Nerd Font Complete.otf ├── Fura Code Light Nerd Font Complete.otf ├── Fura Code Medium Nerd Font Complete.otf ├── Fura Code Regular Nerd Font Complete.otf └── Fura Code Retina Nerd Font Complete.otf ├── doc ├── screenshot-tmux-gruvbox.png ├── screenshot-iterm-gruvbox.png ├── osx_tools.md └── credits.md ├── .dockerignore ├── git ├── gitattributes ├── gitignore ├── README.md └── gitconfig ├── docker-compose.yml ├── test ├── travis-install.sh ├── Brewfile_ci ├── travis-before-install.sh ├── travis-test-script.sh ├── README.md └── install-smoke-test.sh ├── .editorconfig ├── bin ├── fix_macvim_external_display.sh └── fix-cedilla-in-linux.sh ├── .gitmodules ├── install.sh ├── .travis.yml ├── .gitignore ├── iTerm2 ├── bootstrap-iterm2.sh ├── xterm-256color.terminfo ├── lfilho.itermcolors ├── base16-lfilho.dark.itermcolors ├── base16-lfilho.dark.256.itermcolors ├── hybrid-reduced-contrast.itermcolors └── gruvbox-dark.itermcolors ├── CONTRIBUTING.md ├── Brewfile ├── LICENSE ├── Dockerfile ├── tmux ├── README.md └── tmux.conf └── ctags └── ctags /ranger/plugins/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vimify/inputrc: -------------------------------------------------------------------------------- 1 | set editing-mode vi 2 | -------------------------------------------------------------------------------- /vimrc: -------------------------------------------------------------------------------- 1 | so ~/.yadr/nvim/init.vim 2 | -------------------------------------------------------------------------------- /zsh/colors.zsh: -------------------------------------------------------------------------------- 1 | export GREP_COLOR='1;33' 2 | -------------------------------------------------------------------------------- /nvim/settings/plugin-investigate.vim: -------------------------------------------------------------------------------- 1 | let g:investigate_use_dash=1 2 | -------------------------------------------------------------------------------- /zsh/secrets.zsh: -------------------------------------------------------------------------------- 1 | if [ -e ~/.secrets ]; then 2 | source ~/.secrets 3 | fi 4 | -------------------------------------------------------------------------------- /nvim/settings/plugin-snipmate.vim: -------------------------------------------------------------------------------- 1 | let g:snipMate = { 'snippet_version' : 1 } 2 | -------------------------------------------------------------------------------- /vimify/editrc: -------------------------------------------------------------------------------- 1 | bind -v 2 | bind "^R" em-inc-search-prev 3 | bind \\t rl_complete 4 | -------------------------------------------------------------------------------- /ruby/rdebugrc: -------------------------------------------------------------------------------- 1 | set autolist 2 | set autoeval 3 | set autoreload 4 | set forcestep 5 | -------------------------------------------------------------------------------- /zsh/zmv.zsh: -------------------------------------------------------------------------------- 1 | # Use zmv, which is amazing 2 | autoload -U zmv 3 | alias zmv="noglob zmv -W" 4 | 5 | -------------------------------------------------------------------------------- /fonts/Menlo-Powerline.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lfilho/dotfiles/HEAD/fonts/Menlo-Powerline.otf -------------------------------------------------------------------------------- /fonts/mensch-Powerline.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lfilho/dotfiles/HEAD/fonts/mensch-Powerline.otf -------------------------------------------------------------------------------- /ranger/plugins/__init__.pyo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lfilho/dotfiles/HEAD/ranger/plugins/__init__.pyo -------------------------------------------------------------------------------- /ranger/plugins/devicons.pyo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lfilho/dotfiles/HEAD/ranger/plugins/devicons.pyo -------------------------------------------------------------------------------- /zsh/rm.zsh: -------------------------------------------------------------------------------- 1 | # Override rm -i alias which makes rm prompt for every action 2 | alias rm='nocorrect rm' 3 | -------------------------------------------------------------------------------- /doc/screenshot-tmux-gruvbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lfilho/dotfiles/HEAD/doc/screenshot-tmux-gruvbox.png -------------------------------------------------------------------------------- /doc/screenshot-iterm-gruvbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lfilho/dotfiles/HEAD/doc/screenshot-iterm-gruvbox.png -------------------------------------------------------------------------------- /nvim/settings/plugin-yankring.vim: -------------------------------------------------------------------------------- 1 | let g:yankring_history_file = '.yankring-history' 2 | nnoremap yr :YRShow 3 | -------------------------------------------------------------------------------- /ranger/plugins/devicons_linemode.pyo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lfilho/dotfiles/HEAD/ranger/plugins/devicons_linemode.pyo -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | docker-compose.yml 2 | Dockerfile 3 | bin/fix_macvim_external_display.sh 4 | bin/iterm2-italics.sh 5 | bin/osx 6 | -------------------------------------------------------------------------------- /nvim/settings/vim-sudo-write.vim: -------------------------------------------------------------------------------- 1 | " w!! to write a file as sudo 2 | " stolen from Steve Losh 3 | cmap w!! w !sudo tee % >/dev/null 4 | -------------------------------------------------------------------------------- /zsh/mcfly.zsh: -------------------------------------------------------------------------------- 1 | eval "$(mcfly init zsh)" 2 | export MCFLY_KEY_SCHEME=vim 3 | export MCFLY_FUZZY=true 4 | export MCFLY_RESULTS=50 5 | -------------------------------------------------------------------------------- /fonts/Fura Code Bold Nerd Font Complete.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lfilho/dotfiles/HEAD/fonts/Fura Code Bold Nerd Font Complete.otf -------------------------------------------------------------------------------- /git/gitattributes: -------------------------------------------------------------------------------- 1 | *.png diff=spaceman-diff 2 | *.jpg diff=spaceman-diff 3 | *.jpeg diff=spaceman-diff 4 | *.gif diff=spaceman-diff 5 | -------------------------------------------------------------------------------- /nvim/settings/plugin-devicons.vim: -------------------------------------------------------------------------------- 1 | let g:WebDevIconsUnicodeDecorateFolderNodes = 1 2 | let g:DevIconsEnableFoldersOpenClose = 1 3 | -------------------------------------------------------------------------------- /fonts/Fura Code Light Nerd Font Complete.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lfilho/dotfiles/HEAD/fonts/Fura Code Light Nerd Font Complete.otf -------------------------------------------------------------------------------- /fonts/Fura Code Medium Nerd Font Complete.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lfilho/dotfiles/HEAD/fonts/Fura Code Medium Nerd Font Complete.otf -------------------------------------------------------------------------------- /fonts/Fura Code Regular Nerd Font Complete.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lfilho/dotfiles/HEAD/fonts/Fura Code Regular Nerd Font Complete.otf -------------------------------------------------------------------------------- /fonts/Fura Code Retina Nerd Font Complete.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lfilho/dotfiles/HEAD/fonts/Fura Code Retina Nerd Font Complete.otf -------------------------------------------------------------------------------- /nvim/settings/plugin-autotag.vim: -------------------------------------------------------------------------------- 1 | " AutoTag 2 | " Seems to have problems with some vim files 3 | let g:autotagExcludeSuffixes="tml.xml.text.txt.vim" 4 | -------------------------------------------------------------------------------- /nvim/settings/plugin-indent-guides.vim: -------------------------------------------------------------------------------- 1 | let g:indent_guides_auto_colors = 1 2 | let g:indent_guides_start_level = 2 3 | let g:indent_guides_guide_size = 1 4 | -------------------------------------------------------------------------------- /zsh/git.zsh: -------------------------------------------------------------------------------- 1 | # Makes git auto completion faster favouring for local completions 2 | __git_files () { 3 | _wanted files expl 'local files' _files 4 | } 5 | -------------------------------------------------------------------------------- /ruby/README.md: -------------------------------------------------------------------------------- 1 | # RubyGems 2 | 3 | A .gemrc is included. Never again type `gem install whatever --no-ri --no-rdoc`. `--no-ri --no-rdoc` is done by default. 4 | -------------------------------------------------------------------------------- /zsh/noglob.zsh: -------------------------------------------------------------------------------- 1 | # Don't try to glob with zsh so you can do 2 | # stuff like ga *foo* and correctly have 3 | # git add the right stuff 4 | alias git='noglob git' 5 | -------------------------------------------------------------------------------- /zsh/zshrc: -------------------------------------------------------------------------------- 1 | source $HOME/.yadr/zsh/theme.zsh 2 | 3 | source $HOME/.zprezto/runcoms/zshrc 4 | 5 | for config_file ($HOME/.yadr/zsh/*.zsh) source $config_file 6 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | services: 3 | dotfiles: 4 | build: 5 | context: . 6 | image: yadr 7 | volumes: 8 | - ./:/root/.yadr/ 9 | -------------------------------------------------------------------------------- /ruby/gemrc: -------------------------------------------------------------------------------- 1 | --- 2 | :update_sources: true 3 | :sources: 4 | - http://rubygems.org 5 | :benchmark: false 6 | :backtrace: false 7 | :verbose: true 8 | gem: --no-document 9 | -------------------------------------------------------------------------------- /test/travis-install.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then 3 | cd ~/.yadr 4 | rake install 5 | else 6 | docker build -t yadr . 7 | fi 8 | -------------------------------------------------------------------------------- /nvim/settings/plugin-showmarks.vim: -------------------------------------------------------------------------------- 1 | " Tell showmarks to not include the various brace marks (),{}, etc 2 | let g:showmarks_include = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY" 3 | -------------------------------------------------------------------------------- /zsh/vi-mode.zsh: -------------------------------------------------------------------------------- 1 | set -o vi 2 | export EDITOR=nvim 3 | export VISUAL=nvim 4 | export MANPAGER="nvim +Man!" 5 | 6 | source $(brew --prefix)/opt/zsh-vi-mode/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh 7 | -------------------------------------------------------------------------------- /nvim/settings/plugin-sideways.vim: -------------------------------------------------------------------------------- 1 | " ============================ 2 | " Sideways Plugin 3 | " ============================ 4 | nnoremap g :SidewaysRight 5 | nnoremap g :SidewaysLeft 6 | -------------------------------------------------------------------------------- /nvim/settings/plugin-rg.vim: -------------------------------------------------------------------------------- 1 | "Use RipGrep for lightning fast Gsearch command 2 | set grepprg=rg\ --vimgrep\ --smart-case\ --follow 3 | set grepformat=%f:%l:%c:%m,%f:%l:%m 4 | let g:grep_cmd_opts = '--line-number' 5 | -------------------------------------------------------------------------------- /nvim/settings/vim-gotofile.vim: -------------------------------------------------------------------------------- 1 | " use ,gf to go to file in a vertical split 2 | nnoremap gf :vertical botright wincmd F 3 | 4 | " Externally open a file 5 | nnoremap gO :!open 6 | -------------------------------------------------------------------------------- /zsh/custom_prompt_path.zsh: -------------------------------------------------------------------------------- 1 | #Load themes from yadr and from user's custom prompts (themes) in ~/.zsh.prompts 2 | autoload promptinit 3 | fpath=($HOME/.yadr/zsh/prezto-themes $HOME/.zsh.prompts $fpath) 4 | promptinit 5 | -------------------------------------------------------------------------------- /nvim/settings/plugin-undotree.vim: -------------------------------------------------------------------------------- 1 | nmap u :UndotreeToggle 2 | 3 | " open on the right so as not to compete with the nerdtree 4 | let g:undotree_WindowLayout = 4 5 | 6 | let g:undotree_SetFocusWhenToggle = 1 7 | -------------------------------------------------------------------------------- /zsh/zzzz_after.zsh: -------------------------------------------------------------------------------- 1 | # Load any custom after code 2 | if [ -d $HOME/.zsh.after/ ]; then 3 | if [ "$(ls -A $HOME/.zsh.after/)" ]; then 4 | for config_file ($HOME/.zsh.after/*.zsh) source $config_file 5 | fi 6 | fi 7 | -------------------------------------------------------------------------------- /nvim/settings/vim-tags.vim: -------------------------------------------------------------------------------- 1 | " use ,F to jump to tag in a vertical split 2 | " Mnemonic: *F*ind the current tag under the cursor 3 | nnoremap F :let word=expand(""):vsp:wincmd w:exec("tag ". word) 4 | -------------------------------------------------------------------------------- /nvim/settings/vim-visual-at.vim: -------------------------------------------------------------------------------- 1 | xnoremap @ :call ExecuteMacroOverVisualRange() 2 | 3 | function! ExecuteMacroOverVisualRange() 4 | echo "@".getcmdline() 5 | execute ":'<,'>normal @".nr2char(getchar()) 6 | endfunction 7 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # top-most EditorConfig file 2 | root = true 3 | 4 | [*] 5 | end_of_line = lf 6 | insert_final_newline = true 7 | trim_trailing_whitespace = true 8 | indent_style = space 9 | indent_size = 2 10 | charset = utf-8 11 | -------------------------------------------------------------------------------- /bin/fix_macvim_external_display.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | rm ~/Library/Preferences/org.vim.MacVim.LSSharedFileList.plist && \ 3 | rm ~/Library/Preferences/org.vim.MacVim.plist && \ 4 | echo "Files deleted sucessfully. You may have to restart OSX." 5 | -------------------------------------------------------------------------------- /nvim/plugins/project.vim: -------------------------------------------------------------------------------- 1 | Plug 'scrooloose/nerdtree' " Tree-style file navigation and handling 2 | Plug 'xolox/vim-misc' " Miscellaneous auto-load Vim scripts for other plugins 3 | Plug 'xolox/vim-session' " Extended session management for Vim 4 | -------------------------------------------------------------------------------- /zsh/0000_before.zsh: -------------------------------------------------------------------------------- 1 | # Load any user customizations prior to load 2 | # 3 | if [ -d $HOME/.zsh.before/ ]; then 4 | if [ "$(ls -A $HOME/.zsh.before/)" ]; then 5 | for config_file ($HOME/.zsh.before/*.zsh) source $config_file 6 | fi 7 | fi 8 | -------------------------------------------------------------------------------- /test/Brewfile_ci: -------------------------------------------------------------------------------- 1 | tap 'homebrew/bundle' 2 | tap 'homebrew/completions' 3 | tap 'homebrew/core' 4 | 5 | brew 'fasd' 6 | brew 'gh' 7 | brew 'neovim' 8 | brew 'python3' 9 | brew 'ripgrep' 10 | brew 'zsh' 11 | brew 'reattach-to-user-namespace' 12 | -------------------------------------------------------------------------------- /nvim/plugins/git.vim: -------------------------------------------------------------------------------- 1 | Plug 'gregsexton/gitv', {'on': ['Gitv']} " gitk for vim. Extends vim fugitive 2 | Plug 'tpope/vim-fugitive' " Git commands and workflow for vim 3 | Plug 'tpope/vim-git' " syntax, indent, and filetype plugin files for git related buffers 4 | -------------------------------------------------------------------------------- /nvim/settings/plugin-session.vim: -------------------------------------------------------------------------------- 1 | " Prevent vim-session from asking us to load the session. 2 | " If you want to load the session, use :SaveSession and :OpenSession 3 | let g:session_autosave = 'no' 4 | let g:session_directory = '~/.local/share/nvim/sessions' 5 | -------------------------------------------------------------------------------- /nvim/settings/after/syntax-nerdtree.vim: -------------------------------------------------------------------------------- 1 | hi! link NERDTreeDirSlash Comment 2 | " hi! link NERDTreeDir Comment 3 | hi! link NERDTreeFile Normal 4 | " hi! link NERDTreeOpenable Statement 5 | " hi! link NERDTreeClosable Statement 6 | hi! link NERDTreeExecFile String 7 | -------------------------------------------------------------------------------- /nvim/settings/plugin-maximizer.vim: -------------------------------------------------------------------------------- 1 | let g:maximizer_set_default_mapping = 0 2 | let g:maximizer_set_mapping_with_bang = 0 3 | " Mnemonic: *Z*oom *T*oggle 4 | nnoremap zt :MaximizerToggle! 5 | vnoremap zt :MaximizerToggle!gv 6 | -------------------------------------------------------------------------------- /zsh/last-command.zsh: -------------------------------------------------------------------------------- 1 | # Use Ctrl-x,Ctrl-l to get the output of the last command 2 | zmodload -i zsh/parameter 3 | insert-last-command-output() { 4 | LBUFFER+="$(eval $history[$((HISTCMD-1))])" 5 | } 6 | zle -N insert-last-command-output 7 | bindkey "^X^L" insert-last-command-output 8 | -------------------------------------------------------------------------------- /doc/osx_tools.md: -------------------------------------------------------------------------------- 1 | ## Recommended OSX Tools 2 | 3 | * Vimium for Chrome - vim style browsing. The `f` to type the two char alias of any link is worth it. 4 | * "Edit with..." plugin for Alfred. Created by Carlos Alberto Sztoltz - gives you the ability to edit any OSX text field in vim. 5 | -------------------------------------------------------------------------------- /nvim/settings/plugin-expand-region.vim: -------------------------------------------------------------------------------- 1 | map (expand_region_expand) 2 | map (expand_region_shrink) 3 | 4 | call expand_region#custom_text_objects({ 5 | \ 'a]' :1, 6 | \ 'ab' :1, 7 | \ 'aB' :1, 8 | \ 'ii' :0, 9 | \ 'ai' :0, 10 | \ }) 11 | -------------------------------------------------------------------------------- /vimify/README.md: -------------------------------------------------------------------------------- 1 | # Vimification 2 | 3 | This means you can navigate and edit text vim-like in your command line. 4 | For example, after typing a long command, you can type Esc and navigate around the line with vim shortcuts like 0, b, w, e, A, etc. 5 | -------------------------------------------------------------------------------- /nvim/settings/plugin-cosco.vim: -------------------------------------------------------------------------------- 1 | autocmd FileType c,cpp,css,java,javascript,perl,php,jade,matlab nmap ; (cosco-commaOrSemiColon) 2 | autocmd FileType c,cpp,css,java,javascript,perl,php,jade,matlab imap ; (cosco-commaOrSemiColon) 3 | 4 | let g:cosco_ignore_comment_lines = 1 5 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "zsh/prezto"] 2 | path = zsh/prezto 3 | url = https://github.com/sorin-ionescu/prezto.git 4 | ignore = dirty 5 | 6 | [submodule "ranger/plugins/ranger_devicons"] 7 | path = ranger/plugins/ranger_devicons 8 | url = https://github.com/alexanderjeurissen/ranger_devicons 9 | ignore = dirty 10 | -------------------------------------------------------------------------------- /nvim/init.vim: -------------------------------------------------------------------------------- 1 | " Custom Settings: BEFORE 2 | source ~/.config/nvim/settings/before/main.vim 3 | 4 | " Plugins Installation 5 | source ~/.config/nvim/plugins/main.vim 6 | 7 | " Main Settings & Plugins Configuration 8 | source ~/.config/nvim/settings/main.vim 9 | 10 | " Custom Settings: AFTER 11 | source ~/.config/nvim/settings/after/main.vim 12 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ ! -d "$HOME/.yadr" ]; then 4 | echo "Installing lfilho's YADR for the first time" 5 | git clone --depth=1 https://github.com/lfilho/dotfiles.git "$HOME/.yadr" 6 | cd "$HOME/.yadr" 7 | [ "$1" = "ask" ] && export ASK="true" 8 | rake install 9 | else 10 | echo "YADR is already installed" 11 | fi 12 | -------------------------------------------------------------------------------- /nvim/settings/plugin-gruvbox.vim: -------------------------------------------------------------------------------- 1 | let g:gruvbox_italic=1 2 | let g:gruvbox_italicize_comments=1 3 | 4 | " Making webicons' folder not purple / green 5 | exec 'autocmd filetype nerdtree hi NERDTreeFlags guifg=#F5C06F ctermfg=gray' 6 | exec 'autocmd filetype nerdtree hi Directory guifg=#F5C06F ctermfg=gray' 7 | exec 'autocmd filetype nerdtree hi NERDTreeDir guifg=#F5C06F ctermfg=gray' 8 | -------------------------------------------------------------------------------- /nvim/settings/vim-wrapping.vim: -------------------------------------------------------------------------------- 1 | " " http://vimcasts.org/episodes/soft-wrapping-text/ 2 | function! SetupWrapping() 3 | setlocal wrap linebreak nolist 4 | setlocal showbreak=… 5 | endfunction 6 | 7 | augroup AutoWrapFiles 8 | autocmd! 9 | autocmd FileType {tex,markdown,text} call SetupWrapping() 10 | augroup END 11 | 12 | command! -nargs=* Wrap call SetupWrapping() 13 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: generic 2 | 3 | services: 4 | - docker 5 | 6 | git: 7 | depth: 1 8 | 9 | matrix: 10 | include: 11 | - os: osx 12 | osx_image: xcode10.1 13 | - os: linux 14 | sudo: required 15 | dist: focal 16 | 17 | before_install: ./test/travis-before-install.sh 18 | 19 | install: ./test/travis-install.sh 20 | 21 | script: ./test/travis-test-script.sh 22 | -------------------------------------------------------------------------------- /nvim/coc-settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "suggest.noselect": false, 3 | "coc.preferences.formatOnSaveFiletypes": [ 4 | "css", 5 | "html", 6 | "javascript", 7 | "typescript", 8 | "typescriptreact", 9 | "json", 10 | "javascriptreact", 11 | "typescript.tsx", 12 | "graphql", 13 | "markdown" 14 | ], 15 | "coc.source.file.trimSameExts": [], 16 | "eslint.alwaysShowStatus": true 17 | } 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | custom/zsh 2 | 3 | vim/backups 4 | vim/view 5 | *un~ 6 | vim/.netrwhist 7 | vim/tmp 8 | vim/spell 9 | vim/after/.vimrc.after 10 | vim/.vundles.local 11 | vim/.vundles.local.bak 12 | vim/bundle 13 | vim/sessions 14 | .netrwhist 15 | bin/subl 16 | tags 17 | 18 | nvim/settings/before/*.vim 19 | !nvim/settings/before/main.vim 20 | nvim/settings/after/*.vim 21 | !nvim/settings/after/main.vim 22 | Brewfile.lock.json 23 | -------------------------------------------------------------------------------- /nvim/settings/plugin-tagbar.vim: -------------------------------------------------------------------------------- 1 | nnoremap T :TagbarToggle 2 | 3 | let g:tagbar_autofocus = 1 4 | let g:tagbar_autoclose = 1 5 | let g:tagbar_autopreview = 1 6 | let g:tagbar_iconchars = ['▸', '▾'] 7 | 8 | let g:tagbar_type_markdown = { 9 | \ 'ctagstype' : 'markdown', 10 | \ 'kinds' : [ 11 | \ 'h:headings', 12 | \ 'l:links', 13 | \ 'i:images' 14 | \ ], 15 | \ "sort" : 0 16 | \ } 17 | -------------------------------------------------------------------------------- /nvim/settings/vim-quickfix.vim: -------------------------------------------------------------------------------- 1 | " Mnemonic: *q*uickfix *c*lose 2 | nnoremap qc :cclose 3 | " Mnemonic: *q*uickfix *o*pen 4 | nnoremap qo :copen 5 | " Mnemonic: *q*uickfix *n*ext 6 | nnoremap qn :cn 7 | " Mnemonic: *q*uickfix *p*revious 8 | nnoremap qp :cp 9 | " Mnemonic: *q*uickfix */* 10 | nnoremap q/ :execute 'vimgrep /'.@/.'/g %':copen 11 | -------------------------------------------------------------------------------- /test/travis-before-install.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then 3 | mv $TRAVIS_BUILD_DIR ~/.yadr 4 | else 5 | local DOCKER_COMPOSE_VERSION=1.11.2 6 | sudo rm /usr/local/bin/docker-compose 7 | curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose 8 | chmod +x docker-compose 9 | sudo mv docker-compose /usr/local/bin 10 | fi 11 | -------------------------------------------------------------------------------- /nvim/plugins/search.vim: -------------------------------------------------------------------------------- 1 | Plug 'Lokaltog/vim-easymotion' " Easy / visual motion navigation 2 | Plug 'henrik/vim-indexed-search' " Show 'Match 123 of 456 /search term/' in searches 3 | Plug 'nelstrom/vim-visual-star-search' " Start a * or # search from a visual block 4 | Plug 'skwp/greplace.vim' " skwp/greplace.vim TODO search better one... Maybe Plug 'brooth/far.vim' (waiting for native RipGrep support) 5 | Plug 'junegunn/fzf.vim' 6 | Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } 7 | -------------------------------------------------------------------------------- /nvim/settings/after/colorscheme.vim: -------------------------------------------------------------------------------- 1 | " This file exists under after/ folder because some colorschemes (like 2 | " gruvbox, for example) can take some global configuration options and hence 3 | " they need to be set before choosing the colorscheme. 4 | " So we make sure to only switch on the colorscheme below after we're sure 5 | " it's preconfigured as desidered (under the settings/ folder) 6 | 7 | " Status line colorscheme 8 | let g:lightline.colorscheme='gruvbox' 9 | 10 | colorscheme gruvbox 11 | -------------------------------------------------------------------------------- /zsh/zsh-aliases.zsh: -------------------------------------------------------------------------------- 1 | # Global aliases 2 | alias -g ...='../..' 3 | alias -g ....='../../..' 4 | alias -g .....='../../../..' 5 | alias -g C='| wc -l' 6 | alias -g H='| head' 7 | alias -g L="| less" 8 | alias -g N="| /dev/null" 9 | alias -g S='| sort' 10 | alias -g G='| rg' # now you can do: ls foo G something 11 | alias -g F='| fzf' 12 | 13 | # Functions 14 | # 15 | # (f)ind by (n)ame 16 | # usage: fn foo 17 | # to find all files containing 'foo' in the name 18 | function fn() { ls **/*$1* } 19 | 20 | -------------------------------------------------------------------------------- /zsh/fasd.zsh: -------------------------------------------------------------------------------- 1 | # 2 | # only init if installed. 3 | fasd_cache="$HOME/.fasd-init-bash" 4 | if [ "$(command -v fasd)" -nt "$fasd_cache" -o ! -s "$fasd_cache" ]; then 5 | eval "$(fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install)" >| "$fasd_cache" 6 | fi 7 | source "$fasd_cache" 8 | unset fasd_cache 9 | 10 | 11 | # jump to recently used items 12 | alias a='fasd -a' # any 13 | alias s='fasd -si' # show / search / select 14 | alias d='fasd -d' # directory 15 | alias f='fasd -f' # file 16 | -------------------------------------------------------------------------------- /nvim/settings/vim-terminal.vim: -------------------------------------------------------------------------------- 1 | " Remaps 2x to exit terminal-mode 2 | " - One only will exit command line insert mode to command line normal 3 | " mode (Vim's window will still be in "terminal" mode) 4 | " - Second will exit "terminal" mode on that window and make the whole 5 | " window into normal mode. 6 | if has("nvim") 7 | tnoremap (&filetype == "fzf") ? "" : "" 8 | endif 9 | 10 | " Please also see the mappings for navigating out of a terminal window in 11 | " plugin-tmux-navigator.vim file 12 | -------------------------------------------------------------------------------- /ranger/plugins/devicons_linemode.py: -------------------------------------------------------------------------------- 1 | import ranger.api 2 | from ranger.core.linemode import LinemodeBase 3 | from .devicons import * 4 | 5 | @ranger.api.register_linemode 6 | class DevIconsLinemode(LinemodeBase): 7 | name = "devicons" 8 | 9 | uses_metadata = False 10 | 11 | def filetitle(self, file, metadata): 12 | return devicon(file) + ' ' + file.relative_path 13 | 14 | @ranger.api.register_linemode 15 | class DevIconsLinemodeFile(LinemodeBase): 16 | name = "filename" 17 | 18 | def filetitle(self, file, metadata): 19 | return devicon(file) + ' ' + file.relative_path 20 | -------------------------------------------------------------------------------- /test/travis-test-script.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then 3 | # The following is a caveat: we're forcing a zsh command (with the shebang), 4 | # as we can't simulate a login shell on Travis running the script (not that I'm aware of). 5 | # Ideally, after the chsh command (during the installation process) 6 | # we would enter a new shell session, now with zsh as our default shell, 7 | # and the execute the test script... ¯\_(ツ)_/¯ 8 | ./test/install-smoke-test.sh 9 | else 10 | docker run yadr bash -c "~/.yadr/test/install-smoke-test.sh" 11 | fi 12 | -------------------------------------------------------------------------------- /zsh/0_path.zsh: -------------------------------------------------------------------------------- 1 | # path, the 0 in the filename causes this to load first 2 | # 3 | # If you have duplicate entries on your PATH, run this command to fix it: 4 | # PATH=$(echo "$PATH" | awk -v RS=':' -v ORS=":" '!a[$1]++{if (NR > 1) printf ORS; printf $a[$1]}') 5 | 6 | pathAppend() { 7 | # Only adds to the path if it's not already there 8 | if ! echo $PATH | egrep -q "(^|:)$1($|:)" ; then 9 | PATH=$PATH:$1 10 | fi 11 | } 12 | 13 | [[ "$OSTYPE" == linux* ]] && [[ -f /home/linuxbrew/.linuxbrew/bin/brew ]] && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv) 14 | 15 | pathAppend "$HOME/.yadr/bin" 16 | -------------------------------------------------------------------------------- /zsh/key-bindings.zsh: -------------------------------------------------------------------------------- 1 | # http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html 2 | # http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Zle-Builtins 3 | # http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Standard-Widgets 4 | 5 | bindkey -v # Use vi key bindings 6 | 7 | # emacs style 8 | bindkey '^a' beginning-of-line 9 | bindkey '^e' end-of-line 10 | 11 | # Make numpad enter work 12 | bindkey -s "^[Op" "0" 13 | bindkey -s "^[Ol" "." 14 | bindkey -s "^[OM" "^M" 15 | 16 | 17 | # Accept Autosuggestions 18 | bindkey '^N' autosuggest-accept 19 | 20 | -------------------------------------------------------------------------------- /zsh/nvm.zsh: -------------------------------------------------------------------------------- 1 | autoload -U add-zsh-hook 2 | load-nvmrc() { 3 | local node_version="$(nvm version)" 4 | local nvmrc_path="$(nvm_find_nvmrc)" 5 | 6 | if [ -n "$nvmrc_path" ]; then 7 | local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")") 8 | 9 | if [ "$nvmrc_node_version" = "N/A" ]; then 10 | nvm install 11 | elif [ "$nvmrc_node_version" != "$node_version" ]; then 12 | nvm use 13 | fi 14 | elif [ "$node_version" != "$(nvm version default)" ]; then 15 | echo "Reverting to nvm default version" 16 | nvm use default 17 | fi 18 | } 19 | add-zsh-hook chpwd load-nvmrc 20 | load-nvmrc 21 | -------------------------------------------------------------------------------- /nvim/plugins/textobjects.vim: -------------------------------------------------------------------------------- 1 | Plug 'austintaylor/vim-indentobject' 2 | Plug 'kana/vim-textobj-datetime' 3 | Plug 'kana/vim-textobj-entire' 4 | Plug 'kana/vim-textobj-function' 5 | Plug 'kana/vim-textobj-lastpat' " last searched pattern 6 | Plug 'kana/vim-textobj-user' " required by the some of the other textobjects above 7 | Plug 'lucapette/vim-textobj-underscore' 8 | Plug 'terryma/vim-expand-region' " allows you to visually select increasingly larger regions of text using the same key combination 9 | Plug 'thinca/vim-textobj-function-javascript' 10 | Plug 'wellle/targets.vim' " provides additional text objects (see their full description!) 11 | -------------------------------------------------------------------------------- /test/README.md: -------------------------------------------------------------------------------- 1 | # Tests 2 | 3 | Right now we have Travis configured to do some basic testing: 4 | 5 | - It runs the installation for the following OSes: 6 | - MacOS El Capitan (XCode 8) 7 | - MacOS Sierra (XCode 8.3.3) 8 | - Ubuntu 16.04 (via Docker) 9 | - And afterwards it does some smoke testing to see if installation did what's expected of it. 10 | 11 | See [.travis.yml](../.travis.yml) and the other files in this folder for details. 12 | 13 | It's a very basic testing and we could definetely use some help to improve it ;-) 14 | 15 | **IDEA:** 16 | 17 | - Maybe we could add a step with https://github.com/koalaman/shellcheck ? 18 | -------------------------------------------------------------------------------- /nvim/settings/plugin-easymotion.vim: -------------------------------------------------------------------------------- 1 | " These keys are easier to type than the default set 2 | " We exclude semicolon because it's hard to read and 3 | " i and l are too easy to mistake for each other slowing 4 | " down recognition. The home keys and the immediate keys 5 | " accessible by middle fingers are available 6 | let g:EasyMotion_keys='asdfjkloweiopqrnv' 7 | let g:EasyMotion_smartcase = 1 "With this, v will match both v and V, but V will match V only 8 | let g:EasyMotion_use_smartsign_us = 1 " Same as above, but for symbols and numerals. 1 will match 1 and !; ! matches ! only 9 | nmap (easymotion-bd-w) 10 | nmap (easymotion-bd-b) 11 | -------------------------------------------------------------------------------- /nvim/settings/main.vim: -------------------------------------------------------------------------------- 1 | let settingsPath = '~/.config/nvim/settings' 2 | let expandedSettingsPath = expand(settingsPath) 3 | let uname = system("uname -s") 4 | 5 | for fpath in split(globpath(settingsPath, '*.vim'), '\n') 6 | if (fpath != expandedSettingsPath . "/main.vim") " skip main.vim (this file) 7 | if (fpath == expandedSettingsPath . "/vim-keymaps-mac.vim") && uname[:4] ==? "linux" 8 | continue " skip mac mappings for linux 9 | endif 10 | 11 | if (fpath == expandedSettingsPath . "/vim-keymaps-linux.vim") && uname[:4] !=? "linux" 12 | continue " skip linux mappings for mac 13 | endif 14 | 15 | exe 'source' fpath 16 | end 17 | endfor 18 | 19 | -------------------------------------------------------------------------------- /nvim/settings/plugin-tmux-navigator.vim: -------------------------------------------------------------------------------- 1 | " Don't allow any default key-mappings. 2 | let g:tmux_navigator_no_mappings = 1 3 | 4 | " Re-enable tmux_navigator.vim default bindings, minus . 5 | " conflicts with NERDTree "current file". 6 | 7 | nnoremap :TmuxNavigateLeft 8 | nnoremap :TmuxNavigateDown 9 | nnoremap :TmuxNavigateUp 10 | nnoremap :TmuxNavigateRight 11 | tnoremap :TmuxNavigateLeft 12 | tnoremap :TmuxNavigateDown 13 | tnoremap :TmuxNavigateUp 14 | tnoremap :TmuxNavigateRight 15 | -------------------------------------------------------------------------------- /nvim/settings/after/main.vim: -------------------------------------------------------------------------------- 1 | " This is where you can configure anything that needs to be loaded or 2 | " configured after everything else was configured. For example, overriding a 3 | " plugin configuration or a mapping, etc. 4 | " 5 | " Just put a new .vim file in this folder and it will get sourced here. Those 6 | " files will be ignored by git so you don't need to fork the repo just for 7 | " these kind of customizations. 8 | 9 | let customSettingsPath = '~/.config/nvim/settings/after' 10 | 11 | for fpath in split(globpath(customSettingsPath, '*.vim'), '\n') 12 | if (fpath != expand(customSettingsPath) . "/main.vim") " skip main.vim (this file) 13 | exe 'source' fpath 14 | endif 15 | endfor 16 | -------------------------------------------------------------------------------- /nvim/plugins/appearance.vim: -------------------------------------------------------------------------------- 1 | Plug 'chrisbra/color_highlight' " Use `:ColorCodes` to see hex colors highlighted 2 | Plug 'chriskempson/base16-vim' " Famous base16 color schemes for your choosing 3 | Plug 'godlygeek/csapprox' " Required for Gblame in terminal vim 4 | Plug 'itchyny/lightline.vim' " Fancy Status bar 5 | Plug 'morhetz/gruvbox' " My current favorite colorscheme 6 | Plug 'w0ng/vim-hybrid' " Another favorite colorscheme 7 | Plug 'xsunsmile/showmarks' "visual representation of the location marks 8 | Plug 'nathanaelkane/vim-indent-guides' " Visual representation of indentation levels 9 | Plug 'ryanoasis/vim-devicons' " Icons on NERDTree, Denite, Lightline, etc 10 | Plug 'tiagofumo/vim-nerdtree-syntax-highlight' 11 | -------------------------------------------------------------------------------- /iTerm2/bootstrap-iterm2.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Make iTerm understand italics 4 | tic ~/.yadr/iTerm2/xterm-256color.terminfo 5 | 6 | # Specify the preferences directory 7 | defaults write com.googlecode.iterm2.plist PrefsCustomFolder -string "~/.yadr/iTerm2" 8 | # Tell iTerm2 to use the custom preferences in the directory 9 | defaults write com.googlecode.iterm2.plist LoadPrefsFromCustomFolder -bool true 10 | 11 | # Add shortcut to Dock 12 | defaults write com.apple.dock persistent-apps -array-add "tile-datafile-data_CFURLString/Applications/iTerm.app_CFURLStringType0" 13 | 14 | # reset the preferences cache 15 | killall cfprefsd 16 | -------------------------------------------------------------------------------- /nvim/settings/vim-appearance.vim: -------------------------------------------------------------------------------- 1 | " colorscheme base16-lfilho 2 | " let base16colorspace=256 3 | " let g:hybrid_custom_term_colors = 1 4 | " let g:hybrid_reduced_contrast = 1 5 | 6 | if has("termguicolors") 7 | set termguicolors 8 | endif 9 | 10 | set background=dark 11 | 12 | if has("gui_running") 13 | if has("gui_gtk2") 14 | set guifont=Fira\ Code\ h12 15 | else 16 | set guifont=Fira\ Code:h12 17 | end 18 | endif 19 | 20 | " Highlight VCS conflict markers 21 | match ErrorMsg '^\(<\|=\|>\)\{7\}\([^=].\+\)\?$' 22 | " Hide ~ for blank lines 23 | hi NonText guifg=bg 24 | set cursorline 25 | 26 | " Don't try to highlight lines longer than 800 characters. 27 | set synmaxcol=800 28 | 29 | " Resize splits when the window is resized 30 | au VimResized * :wincmd = 31 | -------------------------------------------------------------------------------- /nvim/plugins/main.vim: -------------------------------------------------------------------------------- 1 | if (!has('nvim')) 2 | " Make traditional vim aware of this folder so Plug can install itself in 3 | " there as well 4 | let &rtp = &rtp . ', ~/.local/share/nvim/site/' 5 | endif 6 | 7 | if empty(glob('~/.local/share/nvim/site/autoload/plug.vim')) 8 | silent !curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 9 | autocmd VimEnter * PlugInstall --sync 10 | endif 11 | 12 | call plug#begin('~/.local/share/nvim/site/plugged') 13 | 14 | let pluginPath = '~/.config/nvim/plugins' 15 | 16 | for fpath in split(globpath(pluginPath, '*.vim'), '\n') 17 | if (fpath != expand(pluginPath) . "/main.vim") " skip main.vim (this file) 18 | exe 'source' fpath 19 | endif 20 | endfor 21 | 22 | call plug#end() 23 | -------------------------------------------------------------------------------- /nvim/settings/vim-search.vim: -------------------------------------------------------------------------------- 1 | function! GetVisual() 2 | let reg_save = getreg('"') 3 | let regtype_save = getregtype('"') 4 | let cb_save = &clipboard 5 | set clipboard& 6 | normal! ""gvy 7 | let selection = getreg('"') 8 | call setreg('"', reg_save, regtype_save) 9 | let &clipboard = cb_save 10 | return selection 11 | endfunction 12 | 13 | " File search mappings: 14 | " Please check plugin-fzf.vim for file searching mappings 15 | 16 | set wrapscan " Search wrap the file 17 | set showmatch 18 | 19 | " Using Perl/Python regex style by default when searching 20 | nnoremap / /\v 21 | vnoremap / /\v 22 | 23 | " Keep search matches in the middle of the window. 24 | let g:indexed_search_center = 1 25 | 26 | " Same when jumping around 27 | nnoremap g; g;zz 28 | nnoremap g, g,zz 29 | nnoremap zz 30 | -------------------------------------------------------------------------------- /nvim/settings/plugin-fzf.vim: -------------------------------------------------------------------------------- 1 | " MAPPINGS: 2 | " Mnemonic: *F*ind *F*iles (file name) 3 | nnoremap ff :Files 4 | " Mnemonic: *F*ind *B*uffers 5 | nnoremap fb :Buffers 6 | " Mnemonic: *F*ind by *G*reping (file contents) 7 | nnoremap fg :Rg 8 | " Mnemonic: *F*ind usages of *T*his file 9 | nnoremap ft :exec "Rg ". expand("%:t:r") 10 | 11 | "Mnemonic: `j` is like clicking a link (down). 12 | vnoremap j :exec "Rg ". GetVisual() 13 | nmap j :exec "Rg ".expand('') 14 | 15 | " The below is necessary so :Rg won´t consider file names for grepping, 16 | " only file contents: 17 | command! -bang -nargs=* Rg call fzf#vim#grep("rg --column --line-number --no-heading --color=always --smart-case ".shellescape(), 1, {'options': '--delimiter : --nth 4..'}, 0) 18 | -------------------------------------------------------------------------------- /test/install-smoke-test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env zsh 2 | # This is a very basic test file, 3 | # meant for smoke testing the installation process in a CI environment 4 | 5 | # Sanity test for ZSH: 6 | running_shell=`ps -p $$ -ocomm= | tail -1 | awk '{print $NF}'` 7 | if [[ ! "$running_shell" =~ "zsh" ]]; then 8 | echo "Your shell seems not to have changed to zsh." 9 | exit 1 10 | fi 11 | 12 | # Testing the existance of a few packages we install 13 | # (via Brew on OSX, apt-get on Linux) 14 | if [[ "`type fasd`" =~ "not found" ]]; then 15 | echo "FASD not found. Looks like the default packages were not installed." 16 | exit 1 17 | fi 18 | 19 | if [[ "`type nvim`" =~ "not found" ]]; then 20 | echo "NeoVim (nvim) not found. Looks like the default packages were not installed." 21 | exit 1 22 | fi 23 | 24 | echo "Smoke tests are ok." 25 | exit 0 26 | -------------------------------------------------------------------------------- /nvim/settings/vim-open-changed-files.vim: -------------------------------------------------------------------------------- 1 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 2 | " OpenChangedFiles COMMAND 3 | " Open a split for each dirty file in git 4 | " 5 | " Shamelessly stolen from Gary Bernhardt: https://github.com/garybernhardt/dotfiles 6 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 7 | function! OpenChangedFiles() 8 | only " Close all windows, unless they're modified 9 | let status = system('git status -s | grep "^ \?\(M\|A\)" | cut -d " " -f 3') 10 | let filenames = split(status, "\n") 11 | if len(filenames) > 0 12 | exec "edit " . filenames[0] 13 | for filename in filenames[1:] 14 | exec "sp " . filename 15 | endfor 16 | end 17 | endfunction 18 | command! OpenChangedFiles :call OpenChangedFiles() 19 | 20 | nnoremap ocf :OpenChangedFiles 21 | -------------------------------------------------------------------------------- /nvim/settings/vim-whitespace-killer.vim: -------------------------------------------------------------------------------- 1 | " via: http://rails-bestpractices.com/posts/60-remove-trailing-whitespace 2 | " Strip trailing whitespace 3 | function! StripTrailingWhitespaces() 4 | " Preparation: save last search, and cursor position. 5 | let _s=@/ 6 | let l = line(".") 7 | let c = col(".") 8 | " Do the business: 9 | %s/\s\+$//e 10 | " Clean up: restore previous search history, and cursor position 11 | let @/=_s 12 | call cursor(l, c) 13 | endfunction 14 | command! StripTrailingWhitespaces call StripTrailingWhitespaces() 15 | 16 | autocmd BufWritePre * :call StripTrailingWhitespaces() 17 | 18 | " Delete blank lines after a { or before a } 19 | function! StripBlockPadding() 20 | %s/^\s*\n\ze\s*}//ge 21 | %s/{\n\s*\ze\n/{/ge 22 | endfunction 23 | 24 | command! StripBlockPadding call StripBlockPadding() 25 | -------------------------------------------------------------------------------- /nvim/settings/plugin-markdown.vim: -------------------------------------------------------------------------------- 1 | augroup markdown 2 | au! 3 | let g:markdown_fenced_languages = ['shell=sh', 'bash=sh', 'sh', 'viml=vim', 'java', 'coffee', 'css', 'erb=eruby', 'javascript', 'js=javascript', 'json=javascript', 'ruby', 'sass', 'xml', 'html'] 4 | 5 | " Assumes you have `vmd` installed on your system 6 | command! MarkdownPreview :!vmd % 7 | augroup END 8 | 9 | " This function/command will surround keymappings with the tag, so it 10 | " can look nicer on github (or any markdown viewer) 11 | " Examples: 12 | " Ctrl-b will become Ctrl-b 13 | " `Ctrl-x` (surrounded by backticks) will become Ctrl-x 14 | function! SelectionToKbdTags() range 15 | s#\%V`\?\(Space\|Spacebar\|Shift\|Esc\|Alt\|Cmd\|Ctrl\|[^-]\)`\?#\1#gi 16 | endfunction 17 | command! -range SelectionToKbdTags call SelectionToKbdTags() 18 | -------------------------------------------------------------------------------- /nvim/settings/after/syntax-javascript.vim: -------------------------------------------------------------------------------- 1 | " " hi DiffDelete guifg=#ff2c4b ctermfg=196 guibg=#45413b ctermbg=238 2 | " " hi DiffAdd guifg=#272822 ctermfg=00 guibg=#66d9ef ctermbg=04 3 | " " hi DiffChange guibg=#49483e ctermbg=02 guifg=#a59f85 ctermfg=20 4 | " " hi DiffText guibg=#49483e ctermbg=02 guifg=#fd971f ctermfg=16 gui=bold cterm=bold 5 | " " hi Todo guifg=#8cffba ctermfg=121 gui=bold cterm=bold 6 | " 7 | " " 8 | " " JavaScript 9 | " " 10 | " hi! link jsFuncArgs jsFuncName 11 | " hi! link jsFuncBraces jsFunction 12 | " hi! link jsBraces Normal 13 | " hi! link jsParens Number 14 | " hi! link jsFuncParens Number 15 | " hi! link jsBrackets Normal 16 | " hi! link jsOperator jsFuncName 17 | " hi StorageClass gui=bold cterm=bold ctermfg=16 guifg=#d08770 18 | " hi Exception gui=bold cterm=bold 19 | " hi! link jsCommentTodo Exception 20 | " hi! link jsGlobalObjects Conditional 21 | " 22 | " syntax keyword jsGlobalObjects require module process 23 | -------------------------------------------------------------------------------- /doc/credits.md: -------------------------------------------------------------------------------- 1 | I can't take credit for all of this. The vim files are a combination of work by tpope, scrooloose, and many hours of scouring blogs, vimscripts, and other places for the cream of the crop of vim awesomeness. 2 | 3 | * https://github.com/astrails/dotvim 4 | * https://github.com/carlhuda/janus 5 | * https://github.com/tpope 6 | * https://github.com/scrooloose 7 | * https://github.com/kana 8 | * https://github.com/sorin-ionescu 9 | * https://github.com/nelstrom 10 | 11 | And everything that's in the plugins we use, of course. Please explore these people's work. 12 | 13 | ### Contributors 14 | 15 | Yadr is made possible by many awesome people, too many to list :) But here are a few of the bigger contributors and core committers. 16 | 17 | * Initial Version: @[skwp](https://github.com/skwp) 18 | * This fork: @[lfilho](https://github.com/lfilho) 19 | * And everyone listed here: https://github.com/lfilho/dotfiles/graphs/contributors 20 | -------------------------------------------------------------------------------- /nvim/settings/plugin-NERDtree.vim: -------------------------------------------------------------------------------- 1 | " Make nerdtree look nice 2 | let NERDTreeMinimalUI = 1 3 | 4 | " Ignore Node.js `node_modules` folder 5 | let NERDTreeIgnore=['^node_modules$[[dir]]'] 6 | 7 | " Open the project tree and expose current file in the nerdtree 8 | " calls NERDTreeFind if NERDTree is active, current window contains a modifiable file, and we're not in vimdiff 9 | function! OpenNerdTree() 10 | if &modifiable && strlen(expand('%')) > 0 && !&diff 11 | NERDTreeFind 12 | else 13 | NERDTreeToggle 14 | endif 15 | endfunction 16 | 17 | " Mnemonic: *p*roject 18 | " Open or close a NERDTree window: 19 | nnoremap p :NERDTreeToggle 20 | " Open or close a NERDTree window in the current file node: 21 | nnoremap P :call OpenNerdTree() 22 | 23 | " When using DevIcons, we want to remove the pre padding. 24 | " If we stop using DevIcons, make the following a single space. 25 | let g:WebDevIconsNerdTreeBeforeGlyphPadding = '' 26 | -------------------------------------------------------------------------------- /zsh/fzf.zsh: -------------------------------------------------------------------------------- 1 | # Auto-completion 2 | # --------------- 3 | [[ $- == *i* ]] && source "${HOMEBREW_PREFIX}/opt/fzf/shell/completion.zsh" 2> /dev/null 4 | 5 | # Key bindings 6 | # ------------ 7 | source "$(brew --prefix)/opt/fzf/shell/key-bindings.zsh" 8 | 9 | # fasd & fzf change directory - jump using `fasd` if given argument, filter output of `fasd` using `fzf` else 10 | unalias z #removing fasd's alias for z first 11 | 12 | z() { 13 | [ $# -gt 0 ] && fasd_cd -d "$*" && return 14 | local dir 15 | dir="$(fasd -Rdl "$1" | fzf -1 -0 --no-sort +m)" && cd "${dir}" || return 1 16 | } 17 | 18 | if type rg &> /dev/null; then 19 | export FZF_DEFAULT_COMMAND='rg --files' 20 | # Colors below are gruvbox 21 | export FZF_DEFAULT_OPTS=' 22 | -m --height 50% --border 23 | --color fg:#ebdbb2,bg:#424242,hl:#fabd2f,fg+:#ebdbb2,bg+:#3c3836,hl+:#fabd2f 24 | --color info:#83a598,prompt:#bdae93,spinner:#fabd2f,pointer:#83a598,marker:#fe8019,header:#665c54 25 | ' 26 | fi 27 | 28 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thanks for your insterest in contributing back to this repo. We all appreciate it. 4 | 5 | Please remember: 6 | - Always test your changes (preferably creating some kind of automated test to back it up - see [tests/README.md](./test/README.md) for more details) 7 | - When creating an issue, be eloquent: 8 | - If it's a bug: 9 | - What were you doing? 10 | - What have you done in order to fix the issue? 11 | - Did you try running the Docker container and reproducing the issue there? 12 | - What are the steps to reproduce it? 13 | - If it's a question: 14 | - Are you sure here is the correct place to ask it? Maybe google or stackoverflow already has your answer. Make sure it's related to this dotfile repo work. 15 | - Beware of http://xyproblem.info/ 16 | - If it's a feature request or idea: 17 | - Consider retro compatibility and cohesiveness 18 | - Beware of http://xyproblem.info/ 19 | 20 | Welcome and thanks again! 21 | -------------------------------------------------------------------------------- /zsh/theme.zsh: -------------------------------------------------------------------------------- 1 | # Disable dir/git icons 2 | POWERLEVEL9K_HOME_ICON='' 3 | POWERLEVEL9K_HOME_SUB_ICON='' 4 | POWERLEVEL9K_FOLDER_ICON='' 5 | 6 | DISABLE_AUTO_TITLE="true" 7 | 8 | POWERLEVEL9K_VCS_GIT_ICON='' 9 | POWERLEVEL9K_VCS_STAGED_ICON='\u00b1' 10 | POWERLEVEL9K_VCS_UNTRACKED_ICON='\u25CF' 11 | POWERLEVEL9K_VCS_UNSTAGED_ICON='\u00b1' 12 | POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON='\u2193' 13 | POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON='\u2191' 14 | 15 | POWERLEVEL9K_VCS_MODIFIED_BACKGROUND='yellow' 16 | POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND='yellow' 17 | #POWERLEVEL9K_VCS_UNTRACKED_ICON='?' 18 | 19 | POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(status context dir vcs) 20 | POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(command_execution_time time) 21 | 22 | POWERLEVEL9K_EXECUTION_TIME_ICON='\u23F1' 23 | 24 | POWERLEVEL9K_SHORTEN_STRATEGY="truncate_middle" 25 | POWERLEVEL9K_SHORTEN_DIR_LENGTH=4 26 | 27 | POWERLEVEL9K_TIME_FORMAT="%D{%Y-%m-%d %H:%M:%S}" 28 | POWERLEVEL9K_STATUS_VERBOSE=true 29 | export DEFAULT_USER="$USER" 30 | 31 | POWERLEVEL9K_PROMPT_ON_NEWLINE=true 32 | POWERLEVEL9K_PROMPT_ADD_NEWLINE=true 33 | -------------------------------------------------------------------------------- /nvim/settings/before/main.vim: -------------------------------------------------------------------------------- 1 | " This is where you can configure anything that needs to be loaded or 2 | " configured before the rest of the configuration and/or before some plugin 3 | " get loaded. For example, changing the leader key to your desire. 4 | " 5 | " Just put a new .vim file in this folder and it will get sourced here. Those 6 | " files will be ignored by git so you don't need to fork the repo just for 7 | " these kind of customizations. 8 | 9 | let customSettingsPath = '~/.config/nvim/settings/before' 10 | 11 | " Change leader to a comma because the backslash is too far away 12 | " That means all \x commands turn into ,x 13 | " The mapleader has to be set before loading all the plugins. 14 | let mapleader="," 15 | 16 | " This line prevents polyglot from loading markdown packages and needs to be 17 | " defined before everything else 18 | let g:polyglot_disabled = ['md', 'markdown'] 19 | 20 | for fpath in split(globpath(customSettingsPath, '*.vim'), '\n') 21 | if (fpath != expand(customSettingsPath) . "/main.vim") " skip main.vim (this file) 22 | exe 'source' fpath 23 | endif 24 | endfor 25 | -------------------------------------------------------------------------------- /Brewfile: -------------------------------------------------------------------------------- 1 | 2 | tap 'cantino/mcfly' 3 | tap 'homebrew/bundle' 4 | tap 'homebrew/cask' 5 | tap 'homebrew/cask-fonts' 6 | tap 'homebrew/core' 7 | 8 | if OS.linux? 9 | tap 'gromgit/fuse' 10 | end 11 | 12 | cask 'firefox' 13 | cask 'font-fira-code' 14 | cask 'google-chrome' 15 | cask 'inkscape' 16 | if OS.mac? 17 | brew 'ntfs-3g' 18 | brew 'reattach-to-user-namespace' 19 | cask 'iterm2' 20 | cask 'karabiner-elements' 21 | cask 'osxfuse' 22 | cask 'steam' 23 | end 24 | cask 'qlmarkdown' 25 | cask 'vlc' 26 | 27 | brew 'automake' 28 | brew 'bat' 29 | brew 'coreutils' 30 | brew 'ctags' 31 | brew 'fasd' 32 | brew 'ffmpeg' 33 | brew 'findutils' 34 | brew 'fzf' 35 | brew 'gh' 36 | brew 'git' 37 | brew 'git-delta' 38 | brew 'git-extras' 39 | brew 'highlight' 40 | brew 'lame' 41 | brew 'mcfly' 42 | brew 'neovim' 43 | brew 'openssl' 44 | brew 'podofo' 45 | brew 'python3' 46 | brew 'ranger' 47 | brew 'readline' 48 | brew 'rename' 49 | brew 'ripgrep' 50 | brew 'spaceman-diff' 51 | brew 'tidy-html5' 52 | brew 'tmux' 53 | brew 'tree' 54 | brew 'x264' 55 | brew 'xvid' 56 | brew 'youtube-dl' 57 | brew 'zsh' 58 | brew 'zsh-vi-mode' 59 | -------------------------------------------------------------------------------- /nvim/settings/vim-windows.vim: -------------------------------------------------------------------------------- 1 | " Use Q to intelligently close a window 2 | " (if there are multiple windows into the same buffer) 3 | " or kill the buffer entirely if it's the last window looking into that buffer 4 | function! CloseWindowOrKillBuffer() 5 | let number_of_windows_to_this_buffer = len(filter(range(1, winnr('$')), "winbufnr(v:val) == bufnr('%')")) 6 | 7 | " We should never bdelete a nerd tree 8 | if matchstr(expand("%"), 'NERD') == 'NERD' 9 | wincmd c 10 | return 11 | endif 12 | 13 | if number_of_windows_to_this_buffer > 1 14 | wincmd c 15 | else 16 | bdelete 17 | endif 18 | endfunction 19 | 20 | nnoremap Q :call CloseWindowOrKillBuffer() 21 | 22 | """""""""""""""" 23 | " Easier window resizing 24 | nnoremap + 25 | nnoremap - 26 | nnoremap < 27 | nnoremap > 28 | 29 | " Create window splits easier. The default 30 | " way is Ctrl-w,v and Ctrl-w,s. I remap 31 | " this to vv and ss 32 | nnoremap vv v 33 | nnoremap ss s 34 | 35 | """"""""""""""""""" 36 | " Splits 37 | set splitright " Vertical split on right 38 | set splitbelow " Horizontal split on below 39 | 40 | -------------------------------------------------------------------------------- /nvim/settings/plugin-fugitive.vim: -------------------------------------------------------------------------------- 1 | " The tree buffer makes it easy to drill down through the directories of your 2 | " git repository, but it’s not obvious how you could go up a level to the 3 | " parent directory. Here’s a mapping of .. to the above command, but 4 | " only for buffers containing a git blob or tree 5 | autocmd User fugitive 6 | \ if fugitive#buffer().type() =~# '^\%(tree\|blob\)$' | 7 | \ nnoremap .. :edit %:h | 8 | \ endif 9 | 10 | " Every time you open a git object using fugitive it creates a new buffer. 11 | " This means that your buffer listing can quickly become swamped with 12 | " fugitive buffers. This prevents this from becomming an issue: 13 | 14 | autocmd BufReadPost fugitive://* set bufhidden=delete 15 | 16 | " Mappings 17 | " ============================ 18 | nnoremap gd :Gdiff 19 | nnoremap gs :Gstatus 20 | nnoremap gw :Gwrite 21 | nnoremap ga :Gadd 22 | nnoremap gb :Gblame 23 | nnoremap gco :Gcheckout 24 | nnoremap gci :Gcommit 25 | nnoremap gm :Gmove 26 | nnoremap gr :Gremove 27 | 28 | " For fugitive.git, dp means :diffput. Define dg to mean :diffget 29 | nnoremap dg :diffget 30 | nnoremap dp :diffput 31 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2012, Yan Pritzker 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | 1. Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 2. Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 17 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 20 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 22 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /nvim/plugins/languages.vim: -------------------------------------------------------------------------------- 1 | Plug 'Slava/vim-spacebars' " support for spacebars, mustache and handlebars files 2 | " Plug 'garbas/vim-snipmate' " snippets engine 3 | Plug 'honza/vim-snippets' " snippets 4 | Plug 'josuesasilva/vim-spell-pt-br' " brazillian portuguese dict 5 | " Plug 'othree/javascript-libraries-syntax.vim' " Syntax for JavaScript libraries 6 | Plug 'rstacruz/sparkup', {'rtp': 'vim'} " Write HTML code in a breeze 7 | " Plug 'w0rp/ale' " syntax checking 8 | Plug 'plasticboy/vim-markdown' " The version in vim-polyglot doesn't play nice so we need to load separeltly here. https://github.com/sheerun/vim-polyglot/issues/152#issuecomment-497419925 9 | Plug 'sheerun/vim-polyglot' " syntax highlighting and indentation for many languages at once 10 | Plug 'skwp/vim-html-escape' " (un)escape of html entities 11 | Plug 'neoclide/coc.nvim', {'branch': 'release'} 12 | Plug 'neoclide/coc-eslint', { 'do': 'yarn install --frozen-lockfile' } 13 | Plug 'neoclide/coc-html', { 'do': 'yarn install --frozen-lockfile' } 14 | Plug 'neoclide/coc-json', { 'do': 'yarn install --frozen-lockfile' } 15 | Plug 'neoclide/coc-css', { 'do': 'yarn install --frozen-lockfil' } 16 | Plug 'neoclide/coc-prettier', { 'do': 'yarn install --frozen-lockfile' } 17 | Plug 'neoclide/coc-snippets', { 'do': 'yarn install --frozen-lockfile' } 18 | Plug 'neoclide/coc-tsserver', { 'do': 'yarn install --frozen-lockfile' } 19 | Plug 'neoclide/coc-yaml', { 'do': 'yarn install --frozen-lockfile' } 20 | -------------------------------------------------------------------------------- /nvim/settings/plugin-surround.vim: -------------------------------------------------------------------------------- 1 | " via: http://whynotwiki.com/Vim 2 | " Ruby 3 | " Use v or # to get a variable interpolation (inside of a string)} 4 | " ysiw# Wrap the token under the cursor in #{} 5 | " v...s# Wrap the selection in #{} 6 | let g:surround_113 = "#{\r}" " v 7 | let g:surround_35 = "#{\r}" " # 8 | 9 | " Select text in an ERb file with visual mode and then press s- or s= 10 | " Or yss- to do entire line. 11 | let g:surround_45 = "<% \r %>" " - 12 | let g:surround_61 = "<%= \r %>" " = 13 | 14 | 15 | """"""""""" 16 | " ,# Surround a word with #{ruby interpolation} 17 | map # ysiw# 18 | vmap # c#{"} 19 | 20 | " ," Surround a word with "quotes" 21 | map " ysiw" 22 | vmap " c""" 23 | 24 | " ,' Surround a word with 'single quotes' 25 | map ' ysiw' 26 | vmap ' c'"' 27 | 28 | " ,) or ,( Surround a word with (parens) 29 | " The difference is in whether a space is put in 30 | map ( ysiw( 31 | map ) ysiw) 32 | vmap ( c( " ) 33 | vmap ) c(") 34 | 35 | " ,[ Surround a word with [brackets] 36 | map ] ysiw] 37 | map [ ysiw[ 38 | vmap [ c[ " ] 39 | vmap ] c["] 40 | 41 | " ,{ Surround a word with {braces} 42 | map } ysiw} 43 | map { ysiw{ 44 | vmap } c{ " } 45 | vmap { c{"} 46 | 47 | map ` ysiw` 48 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:20.04 2 | LABEL maintainer="Luiz Filho " 3 | 4 | ENV TERM xterm-256color 5 | 6 | # Bootstrapping packages needed for installation 7 | RUN \ 8 | apt-get update && \ 9 | apt-get install -yqq \ 10 | locales \ 11 | lsb-release \ 12 | software-properties-common && \ 13 | apt-get clean 14 | 15 | # Set locale to UTF-8 16 | ENV LANGUAGE en_US.UTF-8 17 | ENV LANG en_US.UTF-8 18 | RUN localedef -i en_US -f UTF-8 en_US.UTF-8 && \ 19 | /usr/sbin/update-locale LANG=$LANG 20 | 21 | # Install dependencies 22 | # `universe` is needed for ruby 23 | # `security` is needed for fontconfig and fc-cache 24 | # `noninteractive` is to let the container know that there is no tty 25 | RUN DEBIAN_FRONTEND noninteractive \ 26 | add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe security" && \ 27 | add-apt-repository ppa:aacebedo/fasd && \ 28 | apt-get update && \ 29 | apt-get -yqq install \ 30 | autoconf \ 31 | build-essential \ 32 | curl \ 33 | fasd \ 34 | fontconfig \ 35 | git \ 36 | neovim \ 37 | python \ 38 | python-setuptools \ 39 | python-dev \ 40 | ruby-full \ 41 | sudo \ 42 | tmux \ 43 | vim \ 44 | wget \ 45 | zsh && \ 46 | apt-get clean && \ 47 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 48 | 49 | # Install dotfiles 50 | COPY . /root/.yadr 51 | RUN cd /root/.yadr && rake install 52 | 53 | # Run a zsh session 54 | CMD [ "/bin/zsh" ] 55 | -------------------------------------------------------------------------------- /git/gitignore: -------------------------------------------------------------------------------- 1 | # OSX taken from: https://github.com/github/gitignore/blob/master/Global/OSX.gitignore 2 | # ---------------------------------------------------------------------------------------------- 3 | .DS_Store 4 | # Thumbnails 5 | ._* 6 | # Files that might appear on external disk 7 | .Spotlight-V100 8 | .Trashes 9 | 10 | # Windows taken from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore 11 | # ---------------------------------------------------------------------------------------------- 12 | # Windows image file caches 13 | Thumbs.db 14 | 15 | # Folder config file 16 | Desktop.ini 17 | 18 | # Tags taken from: https://github.com/github/gitignore/blob/master/Global/Tags.gitignore 19 | # ---------------------------------------------------------------------------------------------- 20 | # Ignore tags created by etags, ctags, gtags (GNU global) and cscope 21 | TAGS 22 | !TAGS/ 23 | tags 24 | !tags/ 25 | .tags 26 | .tags1 27 | gtags.files 28 | GTAGS 29 | GRTAGS 30 | GPATH 31 | cscope.files 32 | cscope.out 33 | cscope.in.out 34 | cscope.po.out 35 | 36 | # Vim taken from: https://github.com/github/gitignore/blob/master/Global/vim.gitignore 37 | # ---------------------------------------------------------------------------------------------- 38 | [._]*.s[a-w][a-z] 39 | [._]s[a-w][a-z] 40 | *.un~ 41 | Session.vim 42 | .netrwhist 43 | *~ 44 | 45 | # SASS 46 | # ---------------------------------------------------------------------------------------------- 47 | .sass-cache 48 | -------------------------------------------------------------------------------- /tmux/README.md: -------------------------------------------------------------------------------- 1 | # Tmux configuration 2 | 3 | `tmux.conf` provides some sane defaults for tmux on Mac OS like a powerful status bar and vim keybindings. 4 | 5 | You can customize the configuration in `~/.tmux.conf.user`. 6 | 7 | Note: In order to have True Color support you must have tmux > 2.2 installed 8 | 9 | # Learning Tmux 10 | 11 | If you're new to tmux you can read their man page or a more palatable introduction as [this book](https://leanpub.com/the-tao-of-tmux/read). In there you can find a nice cheatsheet. 12 | 13 | Then make sure to see the bindings we customize in `tmux.conf` file. 14 | 15 | You can also see bind available by typing: Ctrl-b-? 16 | 17 | # Tmuxp 18 | 19 | We use [`tmuxp`](https://github.com/tony/tmuxp) here. That means you can run `tmuxp load my-cool-project` and it will load a new (or attach to a previously loaded) session and create all windows and panes and run commands in those panes as you wish. 20 | 21 | Example config: 22 | 23 | ```yaml 24 | session_name: 4-pane-split 25 | windows: 26 | - window_name: dev window 27 | layout: main-vertical 28 | shell_command_before: 29 | - cd ~/ # run as a first command in all panes 30 | panes: 31 | - shell_command: # pane no. 1 32 | - cd /var/log # run multiple commands in this pane 33 | - ls -al | grep \.log 34 | - git status # pane no. 2 35 | - ./run-my-server # pane no. 3 36 | - ./run-my-tests # pane no. 4 37 | ``` 38 | -------------------------------------------------------------------------------- /bin/fix-cedilla-in-linux.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # @see 4 | # https://superuser.com/questions/1075992/cedilla-under-c-%c3%a7-in-us-international-with-dead-keys-keyboard-layout-in-linu/1683563#1683563 5 | 6 | # Setting vars up 7 | COMPOSE_FILE='/usr/share/X11/locale/en_US.UTF-8/Compose' 8 | GTK2_FILE='/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/immodules.cache' 9 | GTK3_FILE='/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache' 10 | ENV_FILE='/etc/environment' 11 | 12 | # Backing up files 13 | sudo cp ${COMPOSE_FILE} ${COMPOSE_FILE}.bak 14 | sudo cp ${GTK2_FILE} ${GTK2_FILE}.bak 15 | sudo cp ${GTK3_FILE} ${GTK3_FILE}.bak 16 | 17 | # Fixing cedilla in Compose 18 | sudo sed --in-place -e 's/ć/ç/g' ${COMPOSE_FILE} 19 | sudo sed --in-place -e 's/Ć/Ç/g' ${COMPOSE_FILE} 20 | 21 | # Fixing cedilla in GTK files 22 | GTK_FILE_SEARCH_FOR='^"cedilla".*:en' 23 | GTK_FILE_SED_EXP='s/^\(\"cedilla\".*:wa\)/\1:en/g' 24 | 25 | grep -q ${GTK_FILE_SEARCH_FOR} ${GTK2_FILE} 26 | [ $? -eq 1 ] && sudo sed --in-place -e ${GTK_FILE_SED_EXP} ${GTK2_FILE} 27 | grep -q ${GTK_FILE_SEARCH_FOR} ${GTK3_FILE} 28 | [ $? -eq 1 ] && sudo sed --in-place -e ${GTK_FILE_SED_EXP} ${GTK3_FILE} 29 | 30 | # Fixing cedilla in environment file 31 | ENV_FILE_GTK_LINE='GTK_IM_MODULE=cedilla' 32 | ENV_FILE_QT_LINE='QT_IM_MODULE=cedilla' 33 | 34 | grep -q ${ENV_FILE_GTK_LINE} ${ENV_FILE} 35 | [ $? -eq 1 ] && echo ${ENV_FILE_GTK_LINE} | sudo tee -a ${ENV_FILE} > /dev/null 36 | grep -q ${ENV_FILE_QT_LINE} ${ENV_FILE} 37 | [ $? -eq 1 ] && echo ${ENV_FILE_QT_LINE} | sudo tee -a ${ENV_FILE} > /dev/null 38 | -------------------------------------------------------------------------------- /git/README.md: -------------------------------------------------------------------------------- 1 | # Git Customizations: 2 | 3 | YADR will take over your `~/.gitconfig`, so if you want to store your usernames or anything personal, please put them into `~/.gitconfig.user`. For example: 4 | 5 | ``` 6 | [user] 7 | name = "Luiz Gonzaga dos Santos Filho" 8 | email = lfilho@gmail.com 9 | [github] 10 | user = lfilho 11 | ``` 12 | 13 | It is recommended to use this file to set your user info. Alternately, you can set the appropriate environment variables in your `~/.secrets`. 14 | 15 | Some aliases. For the full list, check [the config file](./gitconfig). 16 | Also note that all zsh auto adds `g` as an alias for `git` so any git command could be written in the form of `g ` (example: , `g status`, `g s`, `g l`, `g nb`, etc). 17 | 18 | * `g l` or `gl`- a much more usable git log 19 | * `g b` or `gb`- a list of branches with summary of last commit 20 | * `g r` - a list of remotes with info 21 | * `g t` or `gt`- a list of tags with info 22 | * `g nb` or `gnb`- a (n)ew (b)ranch - like checkout -b 23 | * `g cp` or `gcp`- cherry-pick -x (showing what was cherrypicked) 24 | * `g simple` - a clean format for creating changelogs 25 | * `g recent-branches` - if you forgot what you've been working on 26 | * `g unstage` / `guns` (remove from index) and `git uncommit` / `gunc` (revert to the time prior to the last commit - dangerous if already pushed) aliases 27 | * Some sensible default configs, such as improving merge messages, push only pushes the current branch, removing status hints, and using mnemonic prefixes in diff: (i)ndex, (w)ork tree, (c)ommit and (o)bject 28 | * Slightly improved colors for diff 29 | * `gdmb` (g)it (d)elete (m)erged (b)ranches - Deletes all branches already merged on current branch 30 | 31 | -------------------------------------------------------------------------------- /zsh/prezto-themes/prompt_kylewest_setup: -------------------------------------------------------------------------------- 1 | # 2 | # A theme based on sorin theme 3 | # * ruby info shown on the right 4 | # * git info on the left 5 | # * editor mode as $> or <# 6 | # * single line prompt 7 | # 8 | # Authors: 9 | # Sorin Ionescu 10 | # Kyle West 11 | 12 | function prompt_kylewest_precmd { 13 | setopt LOCAL_OPTIONS 14 | unsetopt XTRACE KSH_ARRAYS 15 | 16 | # Get Git repository information. 17 | if (( $+functions[git-info] )); then 18 | git-info on 19 | git-info 20 | fi 21 | 22 | # Get ruby information 23 | if (( $+functions[ruby-info] )); then 24 | ruby-info 25 | fi 26 | } 27 | 28 | function prompt_kylewest_setup { 29 | setopt LOCAL_OPTIONS 30 | unsetopt XTRACE KSH_ARRAYS 31 | prompt_opts=(cr percent subst) 32 | 33 | # Load required functions. 34 | autoload -Uz add-zsh-hook 35 | 36 | # Add hook for calling git-info before each command. 37 | add-zsh-hook precmd prompt_kylewest_precmd 38 | 39 | # editor 40 | zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b' 41 | zstyle ':prezto:module:editor:info:keymap:primary' format "%B%F{green}$>%f%b" 42 | zstyle ':prezto:module:editor:info:keymap:alternate' format "%B%F{magenta}<#%f%b" 43 | 44 | # ruby info (rvm, rbenv) 45 | zstyle ':prezto:module:ruby:info:version' format '[ %v ]' 46 | 47 | # vcs 48 | zstyle ':prezto:module:git:info:branch' format '%F{yellow}%b%f' 49 | zstyle ':prezto:module:git:info:dirty' format '%B%F{red}!%f%b' 50 | zstyle ':prezto:module:git:info:keys' format 'prompt' '- %b%D ' 51 | 52 | # prompts 53 | PROMPT='%F{cyan}%c%f ${git_info[prompt]}${editor_info[keymap]} ' 54 | RPROMPT='%F{blue}${ruby_info[version]}' 55 | } 56 | 57 | prompt_kylewest_setup "$@" 58 | -------------------------------------------------------------------------------- /zsh/README.md: -------------------------------------------------------------------------------- 1 | # ZSH 2 | 3 | Think of Zsh as a more awesome bash without having to learn anything new. 4 | Automatic spell correction for your commands, syntax highlighting, and more. 5 | We've also provided lots of enhancements: 6 | 7 | * Vim mode and bash style Ctrl-R for reverse history finder 8 | * Ctrl-x,Ctrl-l to insert output of last command 9 | * Fuzzy matching - if you mistype a directory name, tab completion will fix it 10 | * [fasd](https://github.com/clvv/fasd) integration - hit z and partial match for recently used directory. Tab completion enabled. 11 | * [Prezto - the power behind YADR's zsh](http://github.com/sorin-ionescu/prezto) 12 | * [How to add your own ZSH theme](doc/zsh/themes.md) 13 | 14 | ## Customizing ZSH with ~/.zsh.after/ and ~/.zsh.before/ 15 | 16 | If you want to customize your zsh experience, yadr provides two hooks via `~/.zsh.after/` and `~/.zsh.before/` directories. 17 | In these directories, you can place files to customize things that load before and after other zsh customizations that come from `~/.yadr/zsh/*` 18 | 19 | ## Aliases 20 | 21 | Lots of things we do every day are done with two or three character mnemonic aliases. Please feel free to edit them: 22 | 23 | ```bash 24 | ae # alias edit 25 | ar # alias reload 26 | ``` 27 | 28 | ## Adding your own ZSH theme 29 | 30 | If you want to add your own zsh theme, you can place it in `~/.zsh.prompts` and it will automatically be picked up by the prompt loader. 31 | 32 | Make sure you follow the naming convention of `prompt_[name]_setup` 33 | 34 | ``` 35 | touch ~/.zsh.prompts/prompt_mytheme_setup 36 | ``` 37 | 38 | See also the [Prezto](https://github.com/sorin-ionescu/prezto) project for more info on themes. 39 | 40 | ## Overriding the theme 41 | 42 | To override the theme, you can do something like this: 43 | 44 | ``` 45 | echo "prompt yourprompt" > ~/.zsh.after/prompt.zsh 46 | ``` 47 | 48 | Next time you load your shell, this file will be read and your prompt will be the youprompt prompt. Use `prompt -l` to see the available prompts. 49 | -------------------------------------------------------------------------------- /zsh/prezto-themes/prompt_skwp_setup: -------------------------------------------------------------------------------- 1 | # 2 | # A theme based on steeef theme 3 | # * RVM/Rbenv info shown on the right 4 | # * Git branch info on the left 5 | # * Single line prompt 6 | # 7 | # Authors: 8 | # Steve Losh 9 | # Bart Trojanowski 10 | # Brian Carper 11 | # steeef 12 | # Sorin Ionescu 13 | # Yan Pritzker 14 | 15 | function prompt_skwp_precmd { 16 | setopt LOCAL_OPTIONS 17 | unsetopt XTRACE KSH_ARRAYS 18 | 19 | # Get Git repository information. 20 | if (( $+functions[git-info] )); then 21 | git-info on 22 | git-info 23 | fi 24 | 25 | # Get ruby information 26 | if (( $+functions[ruby-info] )); then 27 | ruby-info 28 | fi 29 | } 30 | 31 | function prompt_skwp_setup { 32 | setopt LOCAL_OPTIONS 33 | unsetopt XTRACE KSH_ARRAYS 34 | prompt_opts=(cr percent subst) 35 | 36 | autoload -Uz add-zsh-hook 37 | 38 | add-zsh-hook precmd prompt_skwp_precmd 39 | 40 | # Use extended color pallete if available. 41 | if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then 42 | __PROMPT_SKWP_COLORS=( 43 | "%F{81}" # turquoise 44 | "%F{166}" # orange 45 | "%F{135}" # purple 46 | "%F{161}" # hotpink 47 | "%F{118}" # limegreen 48 | ) 49 | else 50 | __PROMPT_SKWP_COLORS=( 51 | "%F{cyan}" 52 | "%F{yellow}" 53 | "%F{magenta}" 54 | "%F{red}" 55 | "%F{green}" 56 | ) 57 | fi 58 | 59 | # git 60 | zstyle ':prezto:module:git:info:branch' format "${__PROMPT_SKWP_COLORS[1]}%b%f" 61 | zstyle ':prezto:module:git:info:added' format "${__PROMPT_SKWP_COLORS[5]}●%f" 62 | zstyle ':prezto:module:git:info:deleted' format "${__PROMPT_SKWP_COLORS[2]}●%f" 63 | zstyle ':prezto:module:git:info:modified' format "${__PROMPT_SKWP_COLORS[4]}●%f" 64 | zstyle ':prezto:module:git:info:untracked' format "${__PROMPT_SKWP_COLORS[3]}●%f" 65 | zstyle ':prezto:module:git:info:keys' format 'prompt' '(%b%d%a%m%u)' 66 | 67 | # ruby info (rvm, rbenv) 68 | zstyle ':prezto:module:ruby:info:version' format '[%v]' 69 | 70 | PROMPT="${__PROMPT_SKWP_COLORS[3]}%n%f@${__PROMPT_SKWP_COLORS[2]}%m%f ${__PROMPT_SKWP_COLORS[5]}%~%f "'$git_info[prompt]'"$ " 71 | RPROMPT='%F{blue}${ruby_info[version]}' 72 | } 73 | 74 | prompt_skwp_setup "$@" 75 | -------------------------------------------------------------------------------- /ctags/ctags: -------------------------------------------------------------------------------- 1 | 2 | --langdef=js 3 | --langmap=js:.js 4 | --regex-js=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\{/\1/,object/ 5 | --regex-js=/([A-Za-z0-9._$()]+)[ \t]*[:=][ \t]*function[ \t]*\(/\1/,function/ 6 | --regex-js=/function[ \t]+([A-Za-z0-9._$]+)[ \t]*([^)])/\1/,function/ 7 | --regex-js=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\[/\1/,array/ 8 | --regex-js=/([^= ]+)[ \t]*=[ \t]*[^"]'[^']*/\1/,string/ 9 | --regex-js=/([^= ]+)[ \t]*=[ \t]*[^']"[^"]*/\1/,string/ 10 | 11 | --regex-ruby=/(^|[:;])[ \t]*([A-Z][[:alnum:]_]+) *=/\2/c,class,constant/ 12 | --regex-ruby=/(^|;)[ \t]*(has_many|belongs_to|has_one|has_and_belongs_to_many)\(? *:([[:alnum:]_]+)/\3/f,function,association/ 13 | --regex-ruby=/(^|;)[ \t]*(named_)?scope\(? *:([[:alnum:]_]+)/\3/f,function,named_scope/ 14 | --regex-ruby=/(^|;)[ \t]*expose\(? *:([[:alnum:]_]+)/\2/f,function,exposure/ 15 | --regex-ruby=/(^|;)[ \t]*event\(? *:([[:alnum:]_]+)/\2/f,function,aasm_event/ 16 | --regex-ruby=/(^|;)[ \t]*event\(? *:([[:alnum:]_]+)/\2!/f,function,aasm_event/ 17 | --regex-ruby=/(^|;)[ \t]*event\(? *:([[:alnum:]_]+)/\2?/f,function,aasm_event/ 18 | 19 | --langdef=markdown 20 | --langmap=markdown:.md.markdown.mdown.mkd.mkdn 21 | --regex-markdown=/^(#+)[ \t]+([^#]*)/\1 \2/h,header,Markdown Headers/ 22 | --regex-markdown=/\[([^\[]+)\]\(([^\)]+)\)/\1/l,link,Markdown Links/ 23 | --regex-markdown=/!\[\]\(.*[\/ ](.*\.[a-z]{3})\)/\1/i,image,Markdown Image/ 24 | 25 | --langdef=coffee 26 | --langmap=coffee:.coffee 27 | --regex-coffee=/^[ \t]*([A-Za-z.]+)[ \t]+=.*->.*$/\1/f,function/ 28 | --regex-coffee=/^[ \t]*([A-Za-z.]+)[ \t]+=[^->\n]*$/\1/v,variable/ 29 | 30 | --langdef=css 31 | --langmap=css:.css 32 | --langmap=css:+.scss 33 | --langmap=css:+.sass 34 | --langmap=css:+.styl 35 | --langmap=css:+.less 36 | --regex-css=/^[ \t]*(([A-Za-z0-9_-]+[ \t\n,]+)+)\{/\1/t,tag,tags/ 37 | --regex-css=/^[ \t]*#([A-Za-z0-9_-]+)/#\1/i,id,ids/ 38 | --regex-css=/^[ \t]*\.([A-Za-z0-9_-]+)/.\1/c,class,classes/ 39 | 40 | --langdef=less 41 | --langmap=less:.less 42 | --regex-less=/^[ t]*.([A-Za-z0-9_-]+)/1/c,class,classes/ 43 | --regex-less=/^[ t]*#([A-Za-z0-9_-]+)/1/i,id,ids/ 44 | --regex-less=/^[ t]*(([A-Za-z0-9_-]+[ tn,]+)+){/1/t,tag,tags/ 45 | --regex-less=/^[ t]*@medias+([A-Za-z0-9_-]+)/1/m,media,medias/ 46 | 47 | --recurse=yes 48 | --exclude=.git 49 | --exclude=vendor/* 50 | --exclude=node_modules/* 51 | --exclude=db/* 52 | --exclude=log/* 53 | -------------------------------------------------------------------------------- /nvim/settings/plugin-lightline.vim: -------------------------------------------------------------------------------- 1 | let g:lightline = { 2 | \ 'mode_map': { 'c': 'NORMAL' }, 3 | \ 'active': { 4 | \ 'left': [ [ 'mode', 'paste' ], [ 'cocstatus', 'fugitive', 'filename' ] ] 5 | \ }, 6 | \ 'component_function': { 7 | \ 'modified': 'MyModified', 8 | \ 'readonly': 'MyReadonly', 9 | \ 'fugitive': 'MyFugitive', 10 | \ 'filename': 'MyFilename', 11 | \ 'fileformat': 'MyFileformat', 12 | \ 'filetype': 'MyFiletype', 13 | \ 'fileencoding': 'MyFileencoding', 14 | \ 'mode': 'MyMode', 15 | \ 'cocstatus': 'coc#status', 16 | \ }, 17 | \ 'separator': { 'left': '', 'right': '' }, 18 | \ 'subseparator': { 'left': '', 'right': '' } 19 | \ } 20 | 21 | autocmd User CocStatusChange,CocDiagnosticChange call lightline#update() 22 | 23 | function! MyModified() 24 | return &ft =~ 'help\|vimfiler\|gundo' ? '' : &modified ? '+' : &modifiable ? '' : '-' 25 | endfunction 26 | 27 | function! MyReadonly() 28 | return &ft !~? 'help\|vimfiler\|gundo' && &readonly ? '' : '' 29 | endfunction 30 | 31 | function! MyFilename() 32 | return ('' != MyReadonly() ? MyReadonly() . ' ' : '') . 33 | \ (&ft == 'vimfiler' ? vimfiler#get_status_string() : 34 | \ &ft == 'vimshell' ? vimshell#get_status_string() : 35 | \ '' != expand('%:t') ? expand('%:t') : '[No Name]') . 36 | \ ('' != MyModified() ? ' ' . MyModified() : '') 37 | endfunction 38 | 39 | function! MyFugitive() 40 | if &ft !~? 'vimfiler\|gundo' && exists("*FugitiveHead") 41 | let _ = FugitiveHead() 42 | return strlen(_) ? ' '._ : '' 43 | endif 44 | return '' 45 | endfunction 46 | 47 | function! MyFileformat() 48 | return '' " Experimenting leaving without this section for now (it almost never changes...) 49 | return winwidth(0) > 70 ? &fileformat : '' 50 | " return winwidth(0) > 70 ? &fileformat . ' ' . WebDevIconsGetFileFormatSymbol() : '' 51 | endfunction 52 | 53 | function! MyFiletype() 54 | return winwidth(0) > 70 ? (strlen(&filetype) ? &filetype . ' ' . WebDevIconsGetFileTypeSymbol() : 'no ft') : '' 55 | endfunction 56 | 57 | function! MyFileencoding() 58 | return '' " Experimenting leaving without this section for now (it almost never changes...) 59 | return winwidth(0) > 70 ? (strlen(&fenc) ? &fenc : &enc) : '' 60 | endfunction 61 | 62 | function! MyMode() 63 | return winwidth('.') > 60 ? lightline#mode() : '' 64 | endfunction 65 | -------------------------------------------------------------------------------- /nvim/settings/vim-keymaps-mac.vim: -------------------------------------------------------------------------------- 1 | " ======================================== 2 | " Mac specific General vim sanity improvements 3 | " ======================================== 4 | " 5 | " ======================================== 6 | " RSI Prevention - keyboard remaps 7 | " ======================================== 8 | " Certain things we do every day as programmers stress 9 | " out our hands. For example, typing underscores and 10 | " dashes are very common, and in position that require 11 | " a lot of hand movement. Vim to the rescue 12 | " 13 | " Now using the middle finger of either hand you can type 14 | " underscores with apple-k or apple-d, and add Shift 15 | " to type dashes 16 | imap _ 17 | imap _ 18 | imap - 19 | imap - 20 | 21 | " Change inside various enclosures with Cmd-" and Cmd-' 22 | " The f makes it find the enclosure so you don't have 23 | " to be standing inside it 24 | nnoremap f'ci' 25 | nnoremap f"ci" 26 | nnoremap f(ci( 27 | nnoremap f)ci) 28 | nnoremap f[ci[ 29 | nnoremap f]ci] 30 | 31 | " ==== NERD tree 32 | " Cmd-Shift-N for nerd tree 33 | nmap :NERDTreeToggle 34 | 35 | " move up/down quickly by using Cmd-j, Cmd-k 36 | " which will move us around by functions 37 | nnoremap } 38 | nnoremap { 39 | autocmd FileType ruby map ]m 40 | autocmd FileType ruby map [m 41 | autocmd FileType rspec map } 42 | autocmd FileType rspec map { 43 | autocmd FileType javascript map } 44 | autocmd FileType javascript map { 45 | 46 | " Command-/ to toggle comments 47 | map :TComment 48 | imap :TCommenti 49 | 50 | " Use numbers to pick the tab you want (like iTerm) 51 | map :tabn 1 52 | map :tabn 2 53 | map :tabn 3 54 | map :tabn 4 55 | map :tabn 5 56 | map :tabn 6 57 | map :tabn 7 58 | map :tabn 8 59 | map :tabn 9 60 | 61 | " Resize windows with arrow keys 62 | nnoremap + 63 | nnoremap - 64 | nnoremap < 65 | nnoremap > 66 | 67 | " ============================ 68 | " Tabularize - alignment 69 | " ============================ 70 | " Hit Cmd-Shift-A then type a character you want to align by 71 | nmap :Tabularize / 72 | vmap :Tabularize / 73 | 74 | " Source current file Cmd-% (good for vim development) 75 | map :so % 76 | -------------------------------------------------------------------------------- /nvim/settings/vim-general.vim: -------------------------------------------------------------------------------- 1 | set relativenumber number 2 | 3 | set diffopt+=vertical 4 | set clipboard+=unnamedplus 5 | set list listchars=tab:\ \ ,trail:· 6 | 7 | set gcr=a:blinkon0 "Disable cursor blink 8 | set visualbell "No sounds 9 | 10 | " This makes vim act like all other editors, buffers can 11 | " exist in the background without being in a window. 12 | " http://items.sjbach.com/319/configuring-vim-right 13 | set hidden 14 | 15 | " ================ Turn Off Swap Files ============== 16 | 17 | set noswapfile 18 | set nobackup 19 | set nowritebackup 20 | set nowb 21 | 22 | " ================ Persistent Undo ================== 23 | 24 | " Keep undo history across sessions, by storing in file. 25 | " Only works all the time. 26 | set undofile 27 | 28 | " ================ Indentation ====================== 29 | 30 | set smartindent 31 | set shiftwidth=4 32 | set softtabstop=4 33 | set tabstop=4 34 | set expandtab 35 | " Some file types use real tabs 36 | au FileType {make,gitconfig} set noexpandtab sw=4 37 | 38 | " Auto indent pasted text 39 | nnoremap p p=`] 40 | nnoremap P P=`] 41 | 42 | set nowrap "Don't wrap lines 43 | set linebreak "Wrap lines at convenient points 44 | 45 | " ================ Folds ============================ 46 | 47 | set foldenable 48 | set foldmethod=manual "fold based on indent 49 | set foldlevelstart=10 "Open most of the folds by default. If set to 0, all folds will be closed. 50 | set foldnestmax=10 "Folds can be nested. Setting a max value protects you from too many folds. 51 | 52 | " ================ Completion ======================= 53 | 54 | set wildmode=list:longest 55 | set wildignore=*.o,*.obj,*~ "stuff to ignore when tab completing 56 | set wildignore+=*vim/backups* 57 | set wildignore+=*sass-cache* 58 | set wildignore+=*DS_Store* 59 | set wildignore+=vendor/rails/** 60 | set wildignore+=vendor/cache/** 61 | set wildignore+=*.gem 62 | set wildignore+=log/** 63 | set wildignore+=tmp/** 64 | set wildignore+=*.png,*.jpg,*.gif 65 | 66 | " ================ Scrolling ======================== 67 | 68 | set scrolloff=6 "Start scrolling when we're 8 lines away from margins 69 | set sidescrolloff=15 70 | set sidescroll=1 71 | 72 | " ================ Search =========================== 73 | 74 | set ignorecase " Ignore case when searching... 75 | set smartcase " ...unless we type a capital 76 | 77 | " ================ Formatting ======================= 78 | set formatoptions+=j " Delete comment character when joining commented lines 79 | 80 | 81 | " Better display for messages 82 | set cmdheight=2 83 | " You will have bad experience for diagnostic messages when it's default 4000. 84 | set updatetime=300 85 | 86 | " don't give |ins-completion-menu| messages. 87 | set shortmess+=c 88 | 89 | " Recently vim can merge signcolumn and number column into one 90 | set signcolumn=number 91 | -------------------------------------------------------------------------------- /nvim/plugins/improvements.vim: -------------------------------------------------------------------------------- 1 | Plug 'AndrewRadev/sideways.vim' " move function arguments (and other delimited-by-something items) left and right 2 | Plug 'AndrewRadev/splitjoin.vim' " splits or joins lines more smartly 3 | Plug 'Keithbsmiley/investigate.vim' " for looking up documentation 4 | Plug 'MarcWeber/vim-addon-local-vimrc' " local (per project) vim configs 5 | Plug 'MarcWeber/vim-addon-mw-utils' " Vim Script Addons that some plugins depend on 6 | " Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } " Async auto complete 7 | Plug 'bogado/file-line' " Enables opening a file in a given line 8 | Plug 'christoomey/vim-tmux-navigator' " Seamless navigation between vim and tmux windows 9 | Plug 'craigemery/vim-autotag' " Automatically discover and update ctags files on save 10 | Plug 'editorconfig/editorconfig-vim' " per project code style configs (tabs, spaces, line breaks, etc) 11 | Plug 'godlygeek/tabular' " Commands for easily aligning tabular data 12 | Plug 'goldfeld/ctrlr.vim' "Ex command history reverse-i-search for Vim 13 | " Plug 'jby/tmux.vim' " Syntax for tmux files 14 | Plug 'jiangmiao/auto-pairs' " insert or delete brackets, parens, quotes in pair 15 | Plug 'lfilho/cosco.vim' "VIM colon and semicolon insertion bliss Edit 16 | " Plug 'majutsushi/tagbar' " displays tags in a window, ordered by scope 17 | Plug 'mattn/webapi-vim' " web api for vim. Required by some plugins 18 | Plug 'mbbill/undotree' " visualize your Vim undo tree 19 | Plug 'szw/vim-maximizer' "Maximizes and restores the current window 20 | Plug 'tommcdo/vim-exchange' " Easy text exchange operator 21 | Plug 'tomtom/tlib_vim' " Utility functions used by some plugins 22 | Plug 'tpope/vim-abolish' " search for, substitute, and abbreviate multiple variants of a word 23 | Plug 'tpope/vim-commentary' 24 | Plug 'tpope/vim-endwise' " wisely add `end` in ruby, endfunction/endif/more in vim script, etc 25 | Plug 'tpope/vim-ragtag' " mappings for HTML, XML, PHP, ASP, eRuby, JSP, etc 26 | Plug 'tpope/vim-repeat' " enable repeating supported plugin maps with `.` 27 | Plug 'tpope/vim-surround' " quoting/parenthesizing made simple 28 | Plug 'tpope/vim-unimpaired' " does too much to describe here :). Check the full description at its github page 29 | Plug 'vim-scripts/AnsiEsc.vim' " ansi escape sequences concealed. Used by some plugins. I think. 30 | Plug 'vim-scripts/YankRing.vim' " Maintains and handles a history of previous yanks, changes and deletes 31 | Plug 'vim-scripts/camelcasemotion' " Motion through CamelCaseWords and underscore_notation 32 | Plug 'vim-scripts/lastpos.vim' " Passive. Last position jump improved. 33 | Plug 'vim-scripts/matchit.zip' "extended % matching for HTML, LaTeX, and many other languages 34 | if system('uname')=~'Darwin' 35 | Plug 'zerowidth/vim-copy-as-rtf' " Does what it says. Useful for copying colored code ready to be pasted on slides, for example. 36 | endif 37 | -------------------------------------------------------------------------------- /nvim/settings/vim-keymaps-linux.vim: -------------------------------------------------------------------------------- 1 | " ======================================== 2 | " Linux specific General vim sanity improvements 3 | " ======================================== 4 | " 5 | " ======================================== 6 | " RSI Prevention - keyboard remaps 7 | " ======================================== 8 | " Certain things we do every day as programmers stress 9 | " out our hands. For example, typing underscores and 10 | " dashes are very common, and in position that require 11 | " a lot of hand movement. Vim to the rescue 12 | " 13 | " Now using the middle finger of either hand you can type 14 | " underscores with ,k or ,d, and add Shift 15 | " to type dashes 16 | imap ,k _ 17 | imap ,d _ 18 | imap ,K - 19 | imap ,D - 20 | 21 | " Change inside various enclosures with \" and \' 22 | " The f makes it find the enclosure so you don't have 23 | " to be standing inside it 24 | nnoremap \' f'ci' 25 | nnoremap \" f"ci" 26 | nnoremap \( f(ci( 27 | nnoremap \) f)ci) 28 | nnoremap \[ f[ci[ 29 | nnoremap \] f]ci] 30 | 31 | " ==== NERD tree 32 | " ,N for nerd tree 33 | nmap \N :NERDTreeToggle 34 | 35 | " move up/down quickly by using Alt-j, Alt-k 36 | " which will move us around by functions 37 | nnoremap \j } 38 | nnoremap \k { 39 | autocmd FileType ruby map \j ]m 40 | autocmd FileType ruby map \k [m 41 | autocmd FileType rspec map \j } 42 | autocmd FileType rspec map \k { 43 | autocmd FileType javascript map \j } 44 | autocmd FileType javascript map \k { 45 | 46 | " ,/ to toggle comments 47 | map ,/ :TComment 48 | imap ,/ :TCommenti 49 | 50 | " Use Alt- numbers to pick the tab you want 51 | map :tabn 1 52 | map :tabn 2 53 | map :tabn 3 54 | map :tabn 4 55 | map :tabn 5 56 | map :tabn 6 57 | map :tabn 7 58 | map :tabn 8 59 | map :tabn 9 60 | 61 | " Use ,t numbers to pick the tab you want 62 | map ,t1 :tabn 1 63 | map ,t2 :tabn 2 64 | map ,t3 :tabn 3 65 | map ,t4 :tabn 4 66 | map ,t5 :tabn 5 67 | map ,t6 :tabn 6 68 | map ,t7 :tabn 7 69 | map ,t8 :tabn 8 70 | map ,t9 :tabn 9 71 | 72 | " Resize windows with arrow keys 73 | nnoremap + 74 | nnoremap - 75 | nnoremap < 76 | nnoremap > 77 | 78 | " ============================ 79 | " Tabularize - alignment 80 | " ============================ 81 | " Hit ,A then type a character you want to align by 82 | nmap ,A :Tabularize / 83 | vmap ,A :Tabularize / 84 | 85 | " highlight all occurrences of current word 86 | " (similar to regular * except doesn't move) 87 | map *N 88 | 89 | " Source current file Alt-% or ,vr (good for vim development) 90 | map :so % 91 | -------------------------------------------------------------------------------- /nvim/settings/vim-keymaps.vim: -------------------------------------------------------------------------------- 1 | " ======================================== 2 | " General vim sanity improvements 3 | " ======================================== 4 | " 5 | 6 | "make Y consistent with C and D 7 | nnoremap Y y$ 8 | function! YRRunAfterMaps() 9 | nnoremap Y :YRYankCount 'y$' 10 | endfunction 11 | 12 | " Make 0 go to the first character rather than the beginning 13 | " of the line. When we're programming, we're almost always 14 | " interested in working with text rather than empty space. If 15 | " you want the traditional beginning of line, use ^ 16 | nnoremap 0 ^ 17 | nnoremap ^ 0 18 | 19 | " gary bernhardt's hashrocket 20 | imap => 21 | 22 | "Go to last edit location with ,. 23 | nnoremap . '. 24 | "When typing a string, your quotes auto complete. Move past the quote 25 | "while still in insert mode by hitting Ctrl-a. Example: 26 | " 27 | " type 'foo 28 | " 29 | " the first quote will autoclose so you'll get 'foo' and hitting will 30 | " put the cursor right after the quote 31 | imap wa 32 | 33 | " ============================ 34 | " Shortcuts for everyday tasks 35 | " ============================ 36 | 37 | " copy current filename into system clipboard 38 | " this is helpful to paste someone the path you're looking at 39 | " Mnemonic: (c)urrent (f)ull filename (Eg.: ~/.yadr/nvim/settings/vim-keymaps.vim) 40 | nnoremap cf :let @* = expand("%:~") 41 | " Mnemonic: (c)urrent (r)elative filename (Eg.: nvim/settings/vim-keymaps.vim) 42 | nnoremap cr :let @* = expand("%") 43 | " Mnemonic: (c)urrent (n)ame of the file (Eg.: vim-keymaps.vim) 44 | nnoremap cn :let @* = expand("%:t") 45 | 46 | "(v)im (c)ommand - execute current line as a vim command 47 | nmap vc yy:p 48 | 49 | "(v)im (r)eload 50 | nmap vr :so % 51 | 52 | " Type ,hl to toggle highlighting on/off, and show current value. 53 | noremap hl :set hlsearch! hlsearch? 54 | 55 | " These are very similar keys. Typing 'a will jump to the line in the current 56 | " file marked with `ma`. However, `a will jump to the line and column marked 57 | " with ma. It’s more useful in any case I can imagine, but it’s located way 58 | " off in the corner of the keyboard. The best way to handle this is just to 59 | " swap them: http://items.sjbach.com/319/configuring-vim-right 60 | nnoremap ' ` 61 | nnoremap ` ' 62 | 63 | " Get the current highlight group. Useful for then remapping the color 64 | map hi :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<' . synIDattr(synID(line("."),col("."),0),"name") . "> lo<" . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">" . " FG:" . synIDattr(synIDtrans(synID(line("."),col("."),1)),"fg#") 65 | 66 | " ,hp = html preview 67 | if has('macos') 68 | map hp :!open -a Safari % 69 | endif 70 | 71 | " Switch buffers with Backspace key instead of C-^ 72 | nnoremap 73 | -------------------------------------------------------------------------------- /zsh/prezto-themes/prompt_steeef_simplified_setup: -------------------------------------------------------------------------------- 1 | # 2 | # A theme based on Steve Losh's Extravagant Prompt with vcs_info integration. 3 | # 4 | # Authors: 5 | # Steve Losh 6 | # Bart Trojanowski 7 | # Brian Carper 8 | # steeef_simplified 9 | # Sorin Ionescu 10 | # 11 | # Screenshots: 12 | # http://i.imgur.com/HyRvv.png 13 | # 14 | 15 | function prompt_steeef_simplified_precmd { 16 | # Check for untracked files or updated submodules since vcs_info does not. 17 | if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then 18 | branch_format="(${_prompt_steeef_simplified_colors[1]}%b%f%u%c${_prompt_steeef_simplified_colors[4]}●%f)" 19 | else 20 | branch_format="(${_prompt_steeef_simplified_colors[1]}%b%f%u%c)" 21 | fi 22 | 23 | zstyle ':vcs_info:*:prompt:*' formats "${branch_format}" 24 | 25 | vcs_info 'prompt' 26 | 27 | if (( $+functions[python-info] )); then 28 | python-info 29 | fi 30 | 31 | # Get ruby information 32 | if (( $+functions[ruby-info] )); then 33 | ruby-info 34 | fi 35 | } 36 | 37 | function prompt_steeef_simplified_setup { 38 | setopt LOCAL_OPTIONS 39 | unsetopt XTRACE KSH_ARRAYS 40 | prompt_opts=(cr percent subst) 41 | 42 | # Load required functions. 43 | autoload -Uz add-zsh-hook 44 | autoload -Uz vcs_info 45 | 46 | # Add hook for calling vcs_info before each command. 47 | add-zsh-hook precmd prompt_steeef_simplified_precmd 48 | 49 | # Use extended color pallete if available. 50 | if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then 51 | _prompt_steeef_simplified_colors=( 52 | "%F{81}" # Turquoise 53 | "%F{166}" # Orange 54 | "%F{135}" # Purple 55 | "%F{161}" # Hotpink 56 | "%F{118}" # Limegreen 57 | ) 58 | else 59 | _prompt_steeef_simplified_colors=( 60 | "%F{cyan}" 61 | "%F{yellow}" 62 | "%F{magenta}" 63 | "%F{red}" 64 | "%F{green}" 65 | ) 66 | fi 67 | 68 | # Formats: 69 | # %b - branchname 70 | # %u - unstagedstr (see below) 71 | # %c - stagedstr (see below) 72 | # %a - action (e.g. rebase-i) 73 | # %R - repository path 74 | # %S - path in the repository 75 | local branch_format="(${_prompt_steeef_simplified_colors[1]}%b%f%u%c)" 76 | local action_format="(${_prompt_steeef_simplified_colors[5]}%a%f)" 77 | local unstaged_format="${_prompt_steeef_simplified_colors[2]}●%f" 78 | local staged_format="${_prompt_steeef_simplified_colors[5]}●%f" 79 | 80 | # Set vcs_info parameters. 81 | zstyle ':vcs_info:*' enable bzr git hg svn 82 | zstyle ':vcs_info:*:prompt:*' check-for-changes true 83 | zstyle ':vcs_info:*:prompt:*' unstagedstr "${unstaged_format}" 84 | zstyle ':vcs_info:*:prompt:*' stagedstr "${staged_format}" 85 | zstyle ':vcs_info:*:prompt:*' actionformats "${branch_format}${action_format}" 86 | zstyle ':vcs_info:*:prompt:*' formats "${branch_format}" 87 | zstyle ':vcs_info:*:prompt:*' nvcsformats "" 88 | 89 | # Set python-info parameters. 90 | zstyle ':prezto:module:python:info:virtualenv' format '(%v)' 91 | 92 | # Define prompts. 93 | PROMPT="${_prompt_steeef_simplified_colors[3]}%n%f@${_prompt_steeef_simplified_colors[2]}%m%f ${_prompt_steeef_simplified_colors[5]}%~%f "'${vcs_info_msg_0_}'"$ " 94 | RPROMPT='%F{blue}${ruby_info[version]}' 95 | } 96 | 97 | prompt_steeef_simplified_setup "$@" 98 | 99 | -------------------------------------------------------------------------------- /zsh/prezto-override/zpreztorc: -------------------------------------------------------------------------------- 1 | # 2 | # Sets Prezto options. 3 | # 4 | # Authors: 5 | # Sorin Ionescu 6 | # 7 | 8 | # 9 | # General 10 | # 11 | 12 | # Set case-sensitivity for completion, history lookup, etc. 13 | zstyle ':prezto:*:*' case-sensitive 'no' 14 | 15 | # Color output (auto set to 'no' on dumb terminals). 16 | zstyle ':prezto:*:*' color 'yes' 17 | 18 | # Set the Zsh modules to load (man zshmodules). 19 | # zstyle ':prezto:load' zmodule 'attr' 'stat' 20 | 21 | # Set the Zsh functions to load (man zshcontrib). 22 | # zstyle ':prezto:load' zfunction 'zargs' 'zmv' 23 | 24 | # Set the Prezto modules to load (browse modules). 25 | # The order matters. 26 | zstyle ':prezto:load' pmodule \ 27 | 'environment' \ 28 | 'terminal' \ 29 | 'editor' \ 30 | 'history' \ 31 | 'directory' \ 32 | 'spectrum' \ 33 | 'utility' \ 34 | 'completion' \ 35 | 'archive' \ 36 | 'fasd' \ 37 | 'git' \ 38 | 'osx' \ 39 | 'node' \ 40 | 'syntax-highlighting' \ 41 | 'history-substring-search' \ 42 | 'tmux' \ 43 | 'ssh' \ 44 | 'prompt' \ 45 | 'autosuggestions' 46 | 47 | # 48 | # Editor 49 | # 50 | 51 | # Set the key mapping style to 'emacs' or 'vi'. 52 | zstyle ':prezto:module:editor' key-bindings 'vi' 53 | 54 | # Auto convert .... to ../.. 55 | # zstyle ':prezto:module:editor' dot-expansion 'yes' 56 | 57 | # 58 | # Git 59 | # 60 | 61 | # Ignore submodules when they are 'dirty', 'untracked', 'all', or 'none'. 62 | # zstyle ':prezto:module:git:status:ignore' submodules 'all' 63 | 64 | # 65 | # GNU Utility 66 | # 67 | 68 | # Set the command prefix on non-GNU systems. 69 | # zstyle ':prezto:module:gnu-utility' prefix 'g' 70 | 71 | # 72 | # Pacman 73 | # 74 | 75 | # Set the Pacman frontend. 76 | # zstyle ':prezto:module:pacman' frontend 'yaourt' 77 | 78 | # 79 | # Prompt 80 | # 81 | 82 | # Set the prompt theme to load. 83 | # Setting it to 'random' loads a random theme. 84 | # Auto set to 'off' on dumb terminals. 85 | zstyle ':prezto:module:prompt' theme 'powerlevel9k' 86 | 87 | # 88 | # Screen 89 | # 90 | 91 | # Auto start a session when Zsh is launched. 92 | # zstyle ':prezto:module:screen' auto-start 'yes' 93 | 94 | # 95 | # GPG-Agent 96 | # 97 | 98 | # Enable SSH-Agent protocol emulation. 99 | # zstyle ':prezto:module:gpg-agent' ssh-support 'yes' 100 | 101 | # 102 | # SSH-Agent 103 | # 104 | 105 | # Enable ssh-agent forwarding. 106 | zstyle ':prezto:module:ssh-agent' forwarding 'yes' 107 | 108 | # Set ssh-agent identities to load. 109 | # zstyle ':prezto:module:ssh-agent' identities 'id_rsa' 'id_rsa2' 'id_github' 110 | 111 | # 112 | # Syntax Highlighting 113 | # 114 | 115 | # Set syntax highlighters. 116 | # By default main, brackets, and cursor are enabled. 117 | # zstyle ':prezto:module:syntax-highlighting' highlighters \ 118 | # 'main' \ 119 | # 'brackets' \ 120 | # 'pattern' \ 121 | # 'cursor' \ 122 | # 'root' 123 | 124 | # 125 | # Terminal 126 | # 127 | 128 | # Auto set the tab and window titles. 129 | zstyle ':prezto:module:terminal' auto-title 'yes' 130 | 131 | # 132 | # Tmux 133 | # 134 | 135 | # Auto start a session when Zsh is launched in a local terminal. 136 | # zstyle ':prezto:module:tmux:auto-start' local 'yes' 137 | 138 | # Auto start a session when Zsh is launched in a SSH connection. 139 | # zstyle ':prezto:module:tmux:auto-start' remote 'yes' 140 | 141 | # Instead of 'prezto', name the default session as 'default' 142 | # zstyle ':prezto:module:tmux:session' name 'default' 143 | -------------------------------------------------------------------------------- /iTerm2/xterm-256color.terminfo: -------------------------------------------------------------------------------- 1 | # Reconstructed via infocmp from file: /Users/marelo/.terminfo/78/xterm-256color 2 | xterm-256color|xterm with 256 colors, 3 | am, 4 | bce, 5 | ccc, 6 | km, 7 | mc5i, 8 | mir, 9 | msgr, 10 | npc, 11 | xenl, 12 | colors#256, 13 | cols#80, 14 | it#8, 15 | lines#24, 16 | pairs#32767, 17 | acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, 18 | bel=^G, 19 | blink=\E[5m, 20 | bold=\E[1m, 21 | cbt=\E[Z, 22 | civis=\E[?25l, 23 | clear=\E[H\E[2J, 24 | cnorm=\E[?12l\E[?25h, 25 | cr=^M, 26 | csr=\E[%i%p1%d;%p2%dr, 27 | cub=\E[%p1%dD, 28 | cub1=^H, 29 | cud=\E[%p1%dB, 30 | cud1=^J, 31 | cuf=\E[%p1%dC, 32 | cuf1=\E[C, 33 | cup=\E[%i%p1%d;%p2%dH, 34 | cuu=\E[%p1%dA, 35 | cuu1=\E[A, 36 | cvvis=\E[?12;25h, 37 | dch=\E[%p1%dP, 38 | dch1=\E[P, 39 | dl=\E[%p1%dM, 40 | dl1=\E[M, 41 | ech=\E[%p1%dX, 42 | ed=\E[J, 43 | el=\E[K, 44 | el1=\E[1K, 45 | flash=\E[?5h$<100/>\E[?5l, 46 | home=\E[H, 47 | hpa=\E[%i%p1%dG, 48 | ht=^I, 49 | hts=\EH, 50 | ich=\E[%p1%d@, 51 | il=\E[%p1%dL, 52 | il1=\E[L, 53 | ind=^J, 54 | indn=\E[%p1%dS, 55 | initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\, 56 | invis=\E[8m, 57 | is2=\E[!p\E[?3;4l\E[4l\E>, 58 | kDC=\E[3;2~, 59 | kEND=\E[1;2F, 60 | kHOM=\E[1;2H, 61 | kIC=\E[2;2~, 62 | kLFT=\E[1;2D, 63 | kNXT=\E[6;2~, 64 | kPRV=\E[5;2~, 65 | kRIT=\E[1;2C, 66 | kb2=\EOE, 67 | kbs=^H, 68 | kcbt=\E[Z, 69 | kcub1=\EOD, 70 | kcud1=\EOB, 71 | kcuf1=\EOC, 72 | kcuu1=\EOA, 73 | kdch1=\E[3~, 74 | kend=\EOF, 75 | kent=\EOM, 76 | kf1=\EOP, 77 | kf10=\E[21~, 78 | kf11=\E[23~, 79 | kf12=\E[24~, 80 | kf13=\E[1;2P, 81 | kf14=\E[1;2Q, 82 | kf15=\E[1;2R, 83 | kf16=\E[1;2S, 84 | kf17=\E[15;2~, 85 | kf18=\E[17;2~, 86 | kf19=\E[18;2~, 87 | kf2=\EOQ, 88 | kf20=\E[19;2~, 89 | kf21=\E[20;2~, 90 | kf22=\E[21;2~, 91 | kf23=\E[23;2~, 92 | kf24=\E[24;2~, 93 | kf25=\E[1;5P, 94 | kf26=\E[1;5Q, 95 | kf27=\E[1;5R, 96 | kf28=\E[1;5S, 97 | kf29=\E[15;5~, 98 | kf3=\EOR, 99 | kf30=\E[17;5~, 100 | kf31=\E[18;5~, 101 | kf32=\E[19;5~, 102 | kf33=\E[20;5~, 103 | kf34=\E[21;5~, 104 | kf35=\E[23;5~, 105 | kf36=\E[24;5~, 106 | kf37=\E[1;6P, 107 | kf38=\E[1;6Q, 108 | kf39=\E[1;6R, 109 | kf4=\EOS, 110 | kf40=\E[1;6S, 111 | kf41=\E[15;6~, 112 | kf42=\E[17;6~, 113 | kf43=\E[18;6~, 114 | kf44=\E[19;6~, 115 | kf45=\E[20;6~, 116 | kf46=\E[21;6~, 117 | kf47=\E[23;6~, 118 | kf48=\E[24;6~, 119 | kf49=\E[1;3P, 120 | kf5=\E[15~, 121 | kf50=\E[1;3Q, 122 | kf51=\E[1;3R, 123 | kf52=\E[1;3S, 124 | kf53=\E[15;3~, 125 | kf54=\E[17;3~, 126 | kf55=\E[18;3~, 127 | kf56=\E[19;3~, 128 | kf57=\E[20;3~, 129 | kf58=\E[21;3~, 130 | kf59=\E[23;3~, 131 | kf6=\E[17~, 132 | kf60=\E[24;3~, 133 | kf61=\E[1;4P, 134 | kf62=\E[1;4Q, 135 | kf63=\E[1;4R, 136 | kf7=\E[18~, 137 | kf8=\E[19~, 138 | kf9=\E[20~, 139 | khome=\EOH, 140 | kich1=\E[2~, 141 | kind=\E[1;2B, 142 | kmous=\E[M, 143 | knp=\E[6~, 144 | kpp=\E[5~, 145 | kri=\E[1;2A, 146 | mc0=\E[i, 147 | mc4=\E[4i, 148 | mc5=\E[5i, 149 | op=\E[39;49m, 150 | rc=\E8, 151 | rev=\E[7m, 152 | ri=\EM, 153 | rin=\E[%p1%dT, 154 | ritm=\E[23m, 155 | rmacs=\E(B, 156 | rmam=\E[?7l, 157 | rmcup=\E[?1049l, 158 | rmir=\E[4l, 159 | rmkx=\E[?1l\E>, 160 | rmm=\E[?1034l, 161 | rmso=\E[27m, 162 | rmul=\E[24m, 163 | rs1=\Ec, 164 | rs2=\E[!p\E[?3;4l\E[4l\E>, 165 | sc=\E7, 166 | setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m, 167 | setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m, 168 | sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m, 169 | sgr0=\E(B\E[m, 170 | sitm=\E[3m, 171 | smacs=\E(0, 172 | smam=\E[?7h, 173 | smcup=\E[?1049h, 174 | smir=\E[4h, 175 | smkx=\E[?1h\E=, 176 | smm=\E[?1034h, 177 | smso=\E[7m, 178 | smul=\E[4m, 179 | tbc=\E[3g, 180 | u6=\E[%i%d;%dR, 181 | u7=\E[6n, 182 | u8=\E[?1;2c, 183 | u9=\E[c, 184 | vpa=\E[%i%p1%dd, 185 | sitm=\E[3m, 186 | ritm=\E[23m, 187 | -------------------------------------------------------------------------------- /zsh/base16-shell/base16-lfilho.dark.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Base16 Marelo - Shell color setup script 3 | # Luiz Gonzaga dos Santos Filho (http://luiz.in) 4 | 5 | if [ "${TERM%%-*}" = 'linux' ]; then 6 | # This script doesn't support linux console (use 'vconsole' template instead) 7 | return 2>/dev/null || exit 0 8 | fi 9 | 10 | color00="3d/46/50" # Base 00 - Black 11 | color01="E5/68/74" # Base 08 - Red 12 | color02="8b/cb/70" # Base 0B - Green 13 | color03="D0/C9/80" # Base 0A - Yellow 14 | color04="5F/B3/CD" # Base 0D - Blue 15 | color05="b4/8e/ad" # Base 0E - Magenta 16 | color06="eb/e2/8d" # Base 0C - Cyan 17 | color07="df/e1/e8" # Base 05 - White 18 | color08="a7/ad/ba" # Base 03 - Bright Black 19 | color09=$color01 # Base 08 - Bright Red 20 | color10=$color02 # Base 0B - Bright Green 21 | color11=$color03 # Base 0A - Bright Yellow 22 | color12=$color04 # Base 0D - Bright Blue 23 | color13=$color05 # Base 0E - Bright Magenta 24 | color14=$color06 # Base 0C - Bright Cyan 25 | color15="ef/f1/f5" # Base 07 - Bright White 26 | color16="d0/87/70" # Base 09 27 | color17="ab/79/67" # Base 0F 28 | color18="34/3d/46" # Base 01 29 | color19="4f/5b/66" # Base 02 30 | color20="65/73/7e" # Base 04 31 | color21="c0/c5/ce" # Base 06 32 | color_foreground="df/e1/e8" # Base 05 33 | color_background="3d/46/50" # Base 00 34 | color_cursor="df/e1/e8" # Base 05 35 | 36 | if [ -n "$TMUX" ]; then 37 | # tell tmux to pass the escape sequences through 38 | # (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324) 39 | printf_template="\033Ptmux;\033\033]4;%d;rgb:%s\007\033\\" 40 | printf_template_var="\033Ptmux;\033\033]%d;rgb:%s\007\033\\" 41 | printf_template_custom="\033Ptmux;\033\033]%s%s\007\033\\" 42 | elif [ "${TERM%%-*}" = "screen" ]; then 43 | # GNU screen (screen, screen-256color, screen-256color-bce) 44 | printf_template="\033P\033]4;%d;rgb:%s\007\033\\" 45 | printf_template_var="\033P\033]%d;rgb:%s\007\033\\" 46 | printf_template_custom="\033P\033]%s%s\007\033\\" 47 | else 48 | printf_template="\033]4;%d;rgb:%s\033\\" 49 | printf_template_var="\033]%d;rgb:%s\033\\" 50 | printf_template_custom="\033]%s%s\033\\" 51 | fi 52 | 53 | # 16 color space 54 | printf $printf_template 0 $color00 55 | printf $printf_template 1 $color01 56 | printf $printf_template 2 $color02 57 | printf $printf_template 3 $color03 58 | printf $printf_template 4 $color04 59 | printf $printf_template 5 $color05 60 | printf $printf_template 6 $color06 61 | printf $printf_template 7 $color07 62 | printf $printf_template 8 $color08 63 | printf $printf_template 9 $color09 64 | printf $printf_template 10 $color10 65 | printf $printf_template 11 $color11 66 | printf $printf_template 12 $color12 67 | printf $printf_template 13 $color13 68 | printf $printf_template 14 $color14 69 | printf $printf_template 15 $color15 70 | 71 | # 256 color space 72 | printf $printf_template 16 $color16 73 | printf $printf_template 17 $color17 74 | printf $printf_template 18 $color18 75 | printf $printf_template 19 $color19 76 | printf $printf_template 20 $color20 77 | printf $printf_template 21 $color21 78 | 79 | # foreground / background / cursor color 80 | if [ -n "$ITERM_SESSION_ID" ]; then 81 | # iTerm2 proprietary escape codes 82 | printf $printf_template_custom Pg dfe1e8 # forground 83 | printf $printf_template_custom Ph 3d4650 # background 84 | printf $printf_template_custom Pi dfe1e8 # bold color 85 | printf $printf_template_custom Pj 4f5b66 # selection color 86 | printf $printf_template_custom Pk dfe1e8 # selected text color 87 | printf $printf_template_custom Pl dfe1e8 # cursor 88 | printf $printf_template_custom Pm 3d4650 # cursor text 89 | else 90 | printf $printf_template_var 10 $color_foreground 91 | printf $printf_template_var 11 $color_background 92 | printf $printf_template_custom 12 ";7" # cursor (reverse video) 93 | fi 94 | 95 | # clean up 96 | unset printf_template 97 | unset printf_template_var 98 | unset color00 99 | unset color01 100 | unset color02 101 | unset color03 102 | unset color04 103 | unset color05 104 | unset color06 105 | unset color07 106 | unset color08 107 | unset color09 108 | unset color10 109 | unset color11 110 | unset color12 111 | unset color13 112 | unset color14 113 | unset color15 114 | unset color16 115 | unset color17 116 | unset color18 117 | unset color19 118 | unset color20 119 | unset color21 120 | unset color_foreground 121 | unset color_background 122 | unset color_cursor 123 | -------------------------------------------------------------------------------- /ranger/commands.py: -------------------------------------------------------------------------------- 1 | # This is a sample commands.py. You can add your own commands here. 2 | # 3 | # Please refer to commands_full.py for all the default commands and a complete 4 | # documentation. Do NOT add them all here, or you may end up with defunct 5 | # commands when upgrading ranger. 6 | 7 | # A simple command for demonstration purposes follows. 8 | # ----------------------------------------------------------------------------- 9 | 10 | from __future__ import (absolute_import, division, print_function) 11 | 12 | # You can import any python module as needed. 13 | import os 14 | 15 | # You always need to import ranger.api.commands here to get the Command class: 16 | from ranger.api.commands import Command 17 | 18 | 19 | # Any class that is a subclass of "Command" will be integrated into ranger as a 20 | # command. Try typing ":my_edit" in ranger! 21 | class my_edit(Command): 22 | # The so-called doc-string of the class will be visible in the built-in 23 | # help that is accessible by typing "?c" inside ranger. 24 | """:my_edit 25 | 26 | A sample command for demonstration purposes that opens a file in an editor. 27 | """ 28 | 29 | # The execute method is called when you run this command in ranger. 30 | def execute(self): 31 | # self.arg(1) is the first (space-separated) argument to the function. 32 | # This way you can write ":my_edit somefilename". 33 | if self.arg(1): 34 | # self.rest(1) contains self.arg(1) and everything that follows 35 | target_filename = self.rest(1) 36 | else: 37 | # self.fm is a ranger.core.filemanager.FileManager object and gives 38 | # you access to internals of ranger. 39 | # self.fm.thisfile is a ranger.container.file.File object and is a 40 | # reference to the currently selected file. 41 | target_filename = self.fm.thisfile.path 42 | 43 | # This is a generic function to print text in ranger. 44 | self.fm.notify("Let's edit the file " + target_filename + "!") 45 | 46 | # Using bad=True in fm.notify allows you to print error messages: 47 | if not os.path.exists(target_filename): 48 | self.fm.notify("The given file does not exist!", bad=True) 49 | return 50 | 51 | # This executes a function from ranger.core.acitons, a module with a 52 | # variety of subroutines that can help you construct commands. 53 | # Check out the source, or run "pydoc ranger.core.actions" for a list. 54 | self.fm.edit_file(target_filename) 55 | 56 | # The tab method is called when you press tab, and should return a list of 57 | # suggestions that the user will tab through. 58 | # tabnum is 1 for and -1 for by default 59 | def tab(self, tabnum): 60 | # This is a generic tab-completion function that iterates through the 61 | # content of the current directory. 62 | return self._tab_directory_content() 63 | 64 | # fzf_fasd - Fasd + Fzf + Ranger (Interactive Style) 65 | class fzf_fasd(Command): 66 | """ 67 | :fzf_fasd 68 | 69 | Jump to a file or folder using Fasd and fzf 70 | 71 | URL: https://github.com/clvv/fasd 72 | URL: https://github.com/junegunn/fzf 73 | """ 74 | def execute(self): 75 | import subprocess 76 | if self.quantifier: 77 | command="fasd | fzf -e -i --tac --no-sort | awk '{print $2}'" 78 | else: 79 | command="fasd | fzf -e -i --tac --no-sort | awk '{print $2}'" 80 | fzf = self.fm.execute_command(command, stdout=subprocess.PIPE) 81 | stdout, stderr = fzf.communicate() 82 | if fzf.returncode == 0: 83 | fzf_file = os.path.abspath(stdout.decode('utf-8').rstrip('\n')) 84 | if os.path.isdir(fzf_file): 85 | self.fm.cd(fzf_file) 86 | else: 87 | self.fm.select_file(fzf_file) 88 | 89 | # Fasd with ranger (Command Line Style) 90 | # https://github.com/ranger/ranger/wiki/Commands 91 | class fasd(Command): 92 | """ 93 | :fasd 94 | 95 | Jump to directory using fasd 96 | URL: https://github.com/clvv/fasd 97 | """ 98 | def execute(self): 99 | import subprocess 100 | arg = self.rest(1) 101 | if arg: 102 | directory = subprocess.check_output(["fasd", "-d"]+arg.split(), universal_newlines=True).strip() 103 | self.fm.cd(directory) 104 | -------------------------------------------------------------------------------- /zsh/prezto-themes/prompt_agnoster_setup: -------------------------------------------------------------------------------- 1 | # vim:ft=zsh ts=2 sw=2 sts=2 2 | # 3 | # agnoster's Theme - https://gist.github.com/3712874 4 | # A Powerline-inspired theme for ZSH 5 | # 6 | # # README 7 | # 8 | # In order for this theme to render correctly, you will need a 9 | # [Powerline-patched font](https://gist.github.com/1595572). 10 | # 11 | # In addition, I recommend the 12 | # [Solarized theme](https://github.com/altercation/solarized/) and, if you're 13 | # using it on Mac OS X, [iTerm 2](http://www.iterm2.com/) over Terminal.app - 14 | # it has significantly better color fidelity. 15 | # 16 | # # Goals 17 | # 18 | # The aim of this theme is to only show you *relevant* information. Like most 19 | # prompts, it will only show git information when in a git working directory. 20 | # However, it goes a step further: everything from the current user and 21 | # hostname to whether the last call exited with an error to whether background 22 | # jobs are running in this shell will all be displayed automatically when 23 | # appropriate. 24 | 25 | ### Segment drawing 26 | # A few utility functions to make it easy and re-usable to draw segmented prompts 27 | 28 | CURRENT_BG='NONE' 29 | SEGMENT_SEPARATOR='⮀' 30 | 31 | # Customizations 32 | 33 | # Checks if working tree is dirty 34 | # From robbyrussell/oh-my-zsh 35 | parse_git_dirty() { 36 | local SUBMODULE_SYNTAX='' 37 | local GIT_STATUS='' 38 | local CLEAN_MESSAGE='nothing to commit (working directory clean)' 39 | if [[ "$(command git config --get oh-my-zsh.hide-status)" != "1" ]]; then 40 | if [[ $POST_1_7_2_GIT -gt 0 ]]; then 41 | SUBMODULE_SYNTAX="--ignore-submodules=dirty" 42 | fi 43 | if [[ "$DISABLE_UNTRACKED_FILES_DIRTY" == "true" ]]; then 44 | GIT_STATUS=$(command git status -s ${SUBMODULE_SYNTAX} -uno 2> /dev/null | tail -n1) 45 | else 46 | GIT_STATUS=$(command git status -s ${SUBMODULE_SYNTAX} 2> /dev/null | tail -n1) 47 | fi 48 | if [[ -n $GIT_STATUS ]]; then 49 | echo "$ZSH_THEME_GIT_PROMPT_DIRTY" 50 | else 51 | echo "$ZSH_THEME_GIT_PROMPT_CLEAN" 52 | fi 53 | else 54 | echo "$ZSH_THEME_GIT_PROMPT_CLEAN" 55 | fi 56 | } 57 | 58 | # Takes two arguments, background and foreground. Both can be omitted, 59 | # rendering default background/foreground. 60 | prompt_segment() { 61 | local bg fg 62 | [[ -n $1 ]] && bg="%K{$1}" || bg="%k" 63 | [[ -n $2 ]] && fg="%F{$2}" || fg="%f" 64 | if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then 65 | echo -n " %{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR%{$fg%} " 66 | else 67 | echo -n "%{$bg%}%{$fg%} " 68 | fi 69 | CURRENT_BG=$1 70 | [[ -n $3 ]] && echo -n $3 71 | } 72 | 73 | # End the prompt, closing any open segments 74 | prompt_end() { 75 | if [[ -n $CURRENT_BG ]]; then 76 | echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR" 77 | else 78 | echo -n "%{%k%}" 79 | fi 80 | echo -n "%{%f%}" 81 | CURRENT_BG='' 82 | } 83 | 84 | ### Prompt components 85 | # Each component will draw itself, and hide itself if no information needs to be shown 86 | 87 | # Context: user@hostname (who am I and where am I) 88 | prompt_context() { 89 | local user=`whoami` 90 | 91 | if [[ "$user" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then 92 | prompt_segment black default "%(!.%{%F{yellow}%}.)$user@%m" 93 | fi 94 | } 95 | 96 | # Git: branch/detached head, dirty status 97 | prompt_git() { 98 | local ref dirty 99 | if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then 100 | ZSH_THEME_GIT_PROMPT_DIRTY='±' 101 | dirty=$(parse_git_dirty) 102 | ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="➦ $(git show-ref --head -s --abbrev |head -n1 2> /dev/null)" 103 | if [[ -n $dirty ]]; then 104 | prompt_segment yellow black 105 | else 106 | prompt_segment green black 107 | fi 108 | echo -n "${ref/refs\/heads\//⭠ }$dirty" 109 | fi 110 | } 111 | 112 | # Dir: current working directory 113 | prompt_dir() { 114 | prompt_segment blue black '%~' 115 | } 116 | 117 | # Status: 118 | # - was there an error 119 | # - am I root 120 | # - are there background jobs? 121 | prompt_status() { 122 | local symbols 123 | symbols=() 124 | [[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}✘" 125 | [[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" 126 | [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" 127 | 128 | [[ -n "$symbols" ]] && prompt_segment black default "$symbols" 129 | } 130 | 131 | ## Main prompt 132 | build_prompt() { 133 | RETVAL=$? 134 | prompt_status 135 | prompt_context 136 | prompt_dir 137 | prompt_git 138 | prompt_end 139 | } 140 | 141 | PROMPT='%{%f%b%k%}$(build_prompt) ' 142 | -------------------------------------------------------------------------------- /nvim/settings/plugin-coc.vim: -------------------------------------------------------------------------------- 1 | " Remap keys for gotos 2 | nmap gd (coc-definition) 3 | nmap gy (coc-type-definition) 4 | nmap gi (coc-implementation) 5 | nmap gr (coc-references) 6 | 7 | " Use K to show documentation in preview window 8 | nnoremap K :call show_documentation() 9 | 10 | function! s:show_documentation() 11 | if (index(['vim','help'], &filetype) >= 0) 12 | execute 'h '.expand('') 13 | else 14 | call CocAction('doHover') 15 | endif 16 | endfunction 17 | 18 | " Highlight symbol under cursor on CursorHold 19 | autocmd CursorHold * silent call CocActionAsync('highlight') 20 | hi! CocHighlightText cterm=bold,underline ctermfg=214 gui=bold,underline guifg=#fabd2f 21 | 22 | " Remap for rename current word 23 | nmap rn (coc-rename) 24 | 25 | " Remap for format selected region 26 | xmap f (coc-format-selected) 27 | nmap f (coc-format-selected) 28 | 29 | augroup mygroup 30 | autocmd! 31 | " Setup formatexpr specified filetype(s). 32 | autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') 33 | " Update signature help on jump placeholder 34 | autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') 35 | augroup end 36 | 37 | " Remap for do codeAction of selected region, ex: `aap` for current paragraph 38 | xmap a (coc-codeaction-selected) 39 | nmap a (coc-codeaction-selected) 40 | 41 | " Remap for do codeAction of current line 42 | nmap ac (coc-codeaction) 43 | " Fix autofix problem of current line 44 | nmap qf (coc-fix-current) 45 | 46 | " Map function and class text objects 47 | " NOTE: Requires 'textDocument.documentSymbol' support from the language server. 48 | xmap if (coc-funcobj-i) 49 | omap if (coc-funcobj-i) 50 | xmap af (coc-funcobj-a) 51 | omap af (coc-funcobj-a) 52 | xmap ic (coc-classobj-i) 53 | omap ic (coc-classobj-i) 54 | xmap ac (coc-classobj-a) 55 | omap ac (coc-classobj-a) 56 | 57 | " Remap and for scroll float windows/popups. 58 | if has('nvim-0.4.0') || has('patch-8.2.0750') 59 | nnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" 60 | nnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" 61 | inoremap coc#float#has_scroll() ? "\=coc#float#scroll(1)\" : "\" 62 | inoremap coc#float#has_scroll() ? "\=coc#float#scroll(0)\" : "\" 63 | vnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" 64 | vnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" 65 | endif 66 | 67 | " Use for select selections ranges, needs server support, like: coc-tsserver, coc-python 68 | nmap (coc-range-select) 69 | xmap (coc-range-select) 70 | 71 | " Use `:Format` to format current buffer 72 | command! -nargs=0 Format :call CocAction('format') 73 | 74 | " Use `:Fold` to fold current buffer 75 | command! -nargs=? Fold :call CocAction('fold', ) 76 | 77 | " Add `:OR` command for organize imports of the current buffer. 78 | command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') 79 | 80 | 81 | " Using CocList 82 | " Show all diagnostics 83 | nnoremap a :CocList diagnostics 84 | " Manage extensions 85 | nnoremap e :CocList extensions 86 | " Show commands 87 | nnoremap c :CocList commands 88 | " Find symbol of current document 89 | nnoremap o :CocList outline 90 | " Search workspace symbols 91 | nnoremap s :CocList -I symbols 92 | " Do default action for next item. 93 | nnoremap j :CocNext 94 | " Do default action for previous item. 95 | nnoremap k :CocPrev 96 | " Resume latest coc list 97 | nnoremap p :CocListResume 98 | 99 | " Make trigger completion, completion confirm, snippet expansion and jump like VSCode. 100 | inoremap 101 | \ pumvisible() ? coc#_select_confirm() : 102 | \ coc#expandableOrJumpable() ? "\=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])\" : 103 | \ check_back_space() ? "\" : 104 | \ coc#refresh() 105 | 106 | " use for trigger completion 107 | inoremap coc#refresh() 108 | 109 | function! s:check_back_space() abort 110 | let col = col('.') - 1 111 | return !col || getline('.')[col - 1] =~# '\s' 112 | endfunction 113 | 114 | let g:coc_snippet_next = '' 115 | let g:coc_snippet_prev = '' 116 | 117 | -------------------------------------------------------------------------------- /git/gitconfig: -------------------------------------------------------------------------------- 1 | # set your user tokens as environment variables, such as ~/.secrets 2 | # See the README for examples. 3 | [color] 4 | ui = true 5 | [color "branch"] 6 | current = yellow reverse 7 | local = yellow 8 | remote = green 9 | [alias] 10 | # add 11 | a = add # add 12 | chunkyadd = add --patch # stage commits chunk by chunk 13 | 14 | #via http://stackoverflow.com/questions/5188320/how-can-i-get-a-list-of-git-branches-ordered-by-most-recent-commit 15 | recent-branches = !git for-each-ref --count=5 --sort=-committerdate refs/heads/ --format='%(refname:short)' 16 | 17 | # branch 18 | b = branch -v # branch (verbose) 19 | ren-remote = "!f() { git push origin origin/$1:refs/heads/$2 :$1; } ; f" 20 | ren-local = branch -m 21 | ren = !git ren-local $1 $2 && git ren-remote $1 $2 22 | 23 | # commit 24 | c = commit -m # commit with message 25 | ca = commit -am # commit all with message 26 | ci = commit # commit 27 | amend = commit --amend # ammend your last commit 28 | amend-noedit = commit --amend --no-edit #amend your last commit reusing last commit's message 29 | ammend = commit --amend # ammend your last commit 30 | ammend-noedit = commit --amend --no-edit #amend your last commit reusing last commit's message 31 | 32 | # checkout 33 | co = checkout # checkout 34 | nb = checkout -b # create and switch to a new branch (mnemonic: "git new branch branchname...") 35 | 36 | # cherry-pick 37 | cp = cherry-pick -x # grab a change from a branch 38 | 39 | # diff 40 | d = diff # diff unstaged changes 41 | dc = diff --cached # diff staged changes 42 | last = diff HEAD^ # diff last committed change 43 | 44 | # log 45 | l = log --graph --date=short 46 | changes = log --pretty=format:\"%h %cr %cn %Cgreen%s%Creset\" --name-status 47 | short = log --pretty=format:\"%h %cr %cn %Cgreen%s%Creset\" 48 | simple = log --pretty=format:\" * %s\" 49 | shortnocolor = log --pretty=format:\"%h %cr %cn %s\" 50 | 51 | # pull 52 | pl = pull # pull 53 | 54 | # push 55 | ps = push # push 56 | 57 | # rebase 58 | rc = rebase --continue # continue rebase 59 | rs = rebase --skip # skip rebase 60 | 61 | # remote 62 | r = remote -v # show remotes (verbose) 63 | 64 | # reset 65 | unstage = reset HEAD # remove files from index (tracking) 66 | uncommit = reset --soft HEAD^ # go back before last commit, with files in uncommitted state 67 | filelog = log -u # show changes to a file 68 | mt = mergetool # fire up the merge tool 69 | 70 | # stash 71 | ss = stash # stash changes 72 | sl = stash list # list stashes 73 | sa = stash apply # apply stash (restore changes) 74 | sd = stash drop # drop stashes (destory changes) 75 | 76 | # status 77 | s = status # status 78 | st = status # status 79 | stat = status # status 80 | 81 | # tag 82 | t = tag -n # show tags with lines of each tag message 83 | 84 | # svn helpers 85 | svnr = svn rebase 86 | svnd = svn dcommit 87 | svnl = svn log --oneline --show-commit 88 | [format] 89 | pretty = format:%C(blue)%ad%Creset %C(yellow)%h%C(green)%d%Creset %C(blue)%s %C(magenta) [%an]%Creset 90 | [mergetool] 91 | prompt = false 92 | keepBackup = false 93 | [mergetool "vimdiff"] 94 | cmd="nvim -d -c 'Gvdiffsplit' $MERGED" # use fugitive.vim for 3-way merge 95 | keepbackup=false 96 | [merge] 97 | summary = true 98 | verbosity = 1 99 | tool = vimdiff 100 | [apply] 101 | whitespace = nowarn 102 | [branch] 103 | autosetupmerge = true 104 | [push] 105 | # 'git push' will push the current branch to its tracking branch 106 | # the usual default is to push all branches 107 | default = upstream 108 | [core] 109 | autocrlf = false 110 | editor = nvim 111 | excludesfile = ~/.yadr/git/gitignore 112 | attributesFile = ~/.yadr/git/gitattributes 113 | [advice] 114 | statusHints = false 115 | [diff] 116 | # Git diff will use (i)ndex, (w)ork tree, (c)ommit and (o)bject 117 | # instead of a/b/c/d as prefixes for patches 118 | mnemonicprefix = true 119 | algorithm = patience 120 | compactionHeuristic = true 121 | colorMoved = default 122 | [diff "spaceman-diff"] 123 | command = "spaceman-diff" 124 | [rerere] 125 | # Remember my merges 126 | # http://gitfu.wordpress.com/2008/04/20/git-rerere-rereremember-what-you-did-last-time/ 127 | enabled = true 128 | [pager] 129 | diff = "delta" 130 | show = "delta" 131 | reflog = "delta" 132 | show = "delta" 133 | [delta] 134 | syntax-theme = gruvbox-dark 135 | navigate = true 136 | side-by-side = true 137 | line-numbers = true 138 | 139 | commit-decoration-style = blue ol 140 | commit-style = raw 141 | file-style = omit 142 | hunk-header-decoration-style = blue box 143 | hunk-header-file-style = red 144 | hunk-header-line-number-style = "#067a00" 145 | hunk-header-style = file line-number syntax 146 | dark = true 147 | minus-emph-style = normal "#ffc0c0" 148 | minus-empty-line-marker-style = normal "#ffe0e0" 149 | minus-non-emph-style = normal "#ffe0e0" 150 | minus-style = normal "#ffe0e0" 151 | plus-emph-style = syntax "#a0efa0" 152 | plus-empty-line-marker-style = normal "#d0ffd0" 153 | plus-non-emph-style = syntax "#d0ffd0" 154 | plus-style = syntax "#d0ffd0" 155 | zero-style = syntax 156 | [interactive] 157 | diffFilter = delta --color-only 158 | [init] 159 | defaultBranch = main 160 | [include] 161 | path = .gitconfig.user 162 | -------------------------------------------------------------------------------- /iTerm2/lfilho.itermcolors: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ansi 0 Color 6 | 7 | Blue Component 8 | 0.16369131207466125 9 | Green Component 10 | 0.16369131207466125 11 | Red Component 12 | 0.16369131207466125 13 | 14 | Ansi 1 Color 15 | 16 | Blue Component 17 | 0.44705882668495178 18 | Green Component 19 | 0.14901961386203766 20 | Red Component 21 | 0.97647058963775635 22 | 23 | Ansi 10 Color 24 | 25 | Blue Component 26 | 0.37254902720451355 27 | Green Component 28 | 0.92941176891326904 29 | Red Component 30 | 0.7450980544090271 31 | 32 | Ansi 11 Color 33 | 34 | Blue Component 35 | 0.45490196347236633 36 | Green Component 37 | 0.85882353782653809 38 | Red Component 39 | 0.90196079015731812 40 | 41 | Ansi 12 Color 42 | 43 | Blue Component 44 | 0.80251342058181763 45 | Green Component 46 | 0.64641284942626953 47 | Red Component 48 | 0.22882851958274841 49 | 50 | Ansi 13 Color 51 | 52 | Blue Component 53 | 0.99607843160629272 54 | Green Component 55 | 0.43529412150382996 56 | Red Component 57 | 0.61960786581039429 58 | 59 | Ansi 14 Color 60 | 61 | Blue Component 62 | 0.74514597654342651 63 | Green Component 64 | 0.74901962280273438 65 | Red Component 66 | 0.49503606557846069 67 | 68 | Ansi 15 Color 69 | 70 | Blue Component 71 | 0.94901961088180542 72 | Green Component 73 | 0.97254902124404907 74 | Red Component 75 | 0.97254902124404907 76 | 77 | Ansi 2 Color 78 | 79 | Blue Component 80 | 0.33882614970207214 81 | Green Component 82 | 0.75749433040618896 83 | Red Component 84 | 0.47854971885681152 85 | 86 | Ansi 3 Color 87 | 88 | Blue Component 89 | 0.18268673121929169 90 | Green Component 91 | 0.78761845827102661 92 | Red Component 93 | 0.99215686321258545 94 | 95 | Ansi 4 Color 96 | 97 | Blue Component 98 | 0.96459627151489258 99 | Green Component 100 | 0.44748470187187195 101 | Red Component 102 | 0.23647645115852356 103 | 104 | Ansi 5 Color 105 | 106 | Blue Component 107 | 0.99607843160629272 108 | Green Component 109 | 0.33360788226127625 110 | Red Component 111 | 0.72896194458007812 112 | 113 | Ansi 6 Color 114 | 115 | Blue Component 116 | 0.53190398216247559 117 | Green Component 118 | 0.52802556753158569 119 | Red Component 120 | 0.36310878396034241 121 | 122 | Ansi 7 Color 123 | 124 | Blue Component 125 | 0.90542691946029663 126 | Green Component 127 | 0.92903351783752441 128 | Red Component 129 | 0.92768204212188721 130 | 131 | Ansi 8 Color 132 | 133 | Blue Component 134 | 0.32941177487373352 135 | Green Component 136 | 0.32549020648002625 137 | Red Component 138 | 0.31372550129890442 139 | 140 | Ansi 9 Color 141 | 142 | Blue Component 143 | 0.61568629741668701 144 | Green Component 145 | 0.40000000596046448 146 | Red Component 147 | 1 148 | 149 | Background Color 150 | 151 | Blue Component 152 | 0.24734869599342346 153 | Green Component 154 | 0.21351660788059235 155 | Red Component 156 | 0.18179059028625488 157 | 158 | Bold Color 159 | 160 | Blue Component 161 | 0.88919329643249512 162 | Green Component 163 | 0.88919329643249512 164 | Red Component 165 | 0.88919329643249512 166 | 167 | Cursor Color 168 | 169 | Blue Component 170 | 0.73333334922790527 171 | Green Component 172 | 0.73333334922790527 173 | Red Component 174 | 0.73333334922790527 175 | 176 | Cursor Text Color 177 | 178 | Blue Component 179 | 1 180 | Green Component 181 | 1 182 | Red Component 183 | 1 184 | 185 | Foreground Color 186 | 187 | Blue Component 188 | 0.79118353128433228 189 | Green Component 190 | 0.79118353128433228 191 | Red Component 192 | 0.79118353128433228 193 | 194 | Selected Text Color 195 | 196 | Blue Component 197 | 0.0 198 | Green Component 199 | 0.0 200 | Red Component 201 | 0.0 202 | 203 | Selection Color 204 | 205 | Blue Component 206 | 1 207 | Green Component 208 | 0.8353000283241272 209 | Red Component 210 | 0.70980000495910645 211 | 212 | 213 | 214 | -------------------------------------------------------------------------------- /zsh/aliases.zsh: -------------------------------------------------------------------------------- 1 | # Aliases in this file are bash and zsh compatible 2 | 3 | # Don't change. The following determines where YADR is installed. 4 | yadr=$HOME/.yadr 5 | 6 | # Get operating system 7 | platform='unknown' 8 | unamestr=$(uname) 9 | if [[ $unamestr == 'Linux' ]]; then 10 | platform='linux' 11 | elif [[ $unamestr == 'Darwin' ]]; then 12 | platform='darwin' 13 | fi 14 | 15 | # PS 16 | alias psa="ps aux" 17 | alias psg="ps aux | rg " 18 | alias psr='ps aux | rg ruby' 19 | 20 | # Moving around 21 | alias cdb='cd -' 22 | alias cls='clear;ls' 23 | 24 | # Show human friendly numbers and colors 25 | alias df='df -h' 26 | alias du='du -h -d 2' 27 | 28 | if [[ $platform == 'linux' ]]; then 29 | alias ll='ls -alh --color=auto' 30 | alias ls='ls --color=auto' 31 | elif [[ $platform == 'darwin' ]]; then 32 | alias ll='ls -alGh' 33 | alias ls='ls -Gh' 34 | fi 35 | 36 | # Alias Editing 37 | TRAPHUP() { 38 | source $yadr/zsh/aliases.zsh 39 | } 40 | 41 | alias ae='vim $yadr/zsh/aliases.zsh' #alias edit 42 | alias ar='source $yadr/zsh/aliases.zsh' #alias reload 43 | alias gar="killall -HUP -u \"$USER\" zsh" #global alias reload 44 | 45 | # nvim using 46 | alias vim="nvim" 47 | alias v="nvim" 48 | alias vf='nvim $(fzf)' 49 | 50 | # mimic vim functions 51 | alias :q='exit' 52 | 53 | # vimrc editing 54 | alias ve='vim ~/.vimrc' 55 | 56 | # zsh profile editing 57 | alias ze='vim ~/.zshrc' 58 | 59 | # Git Aliases 60 | alias gs='git status' 61 | alias gstsh='git stash' 62 | alias gst='git stash' 63 | alias gsp='git stash pop' 64 | alias gsa='git stash apply' 65 | alias gsh='git show' 66 | alias gshw='git show' 67 | alias gshow='git show' 68 | alias gi='vim .gitignore' 69 | alias gcm='git ci -m' 70 | alias gcim='git ci -m' 71 | alias gci='git ci' 72 | alias gco='git co' 73 | alias gcp='git cp' 74 | alias ga='git add -A' 75 | alias gap='git add -p' 76 | alias guns='git unstage' 77 | alias gunc='git uncommit' 78 | alias gm='git merge' 79 | alias gms='git merge --squash' 80 | alias gam='git amend --reset-author' 81 | alias grv='git remote -v' 82 | alias grr='git remote rm' 83 | alias grad='git remote add' 84 | alias gr='git rebase' 85 | alias gra='git rebase --abort' 86 | alias ggrc='git rebase --continue' 87 | alias gbi='git rebase --interactive' 88 | alias gl='git l' 89 | alias glg='git l' 90 | alias glog='git l' 91 | alias co='git co' 92 | alias gf='git fetch' 93 | alias gfp='git fetch --prune' 94 | alias gfa='git fetch --all' 95 | alias gfap='git fetch --all --prune' 96 | alias gfch='git fetch' 97 | alias gd='git diff' 98 | alias gb='git b' 99 | # Staged and cached are the same thing 100 | alias gdc='git diff --cached -w' 101 | alias gds='git diff --staged -w' 102 | alias gpub='grb publish' 103 | alias gtr='grb track' 104 | alias gpl='git pull' 105 | alias gplr='git pull --rebase' 106 | alias gps='git push' 107 | alias gpsh='git push -u origin `git rev-parse --abbrev-ref HEAD`' 108 | alias gnb='git nb' # new branch aka checkout -b 109 | alias grs='git reset' 110 | alias grsh='git reset --hard' 111 | alias gcln='git clean' 112 | alias gclndf='git clean -df' 113 | alias gclndfx='git clean -dfx' 114 | alias gsm='git submodule' 115 | alias gsmi='git submodule init' 116 | alias gsmu='git submodule update' 117 | alias gt='git t' 118 | alias gbg='git bisect good' 119 | alias gbb='git bisect bad' 120 | alias gdmb='git branch --merged | rg -v "\*" | xargs -n 1 git branch -d' 121 | 122 | # Common shell functions 123 | alias less='less -r' 124 | alias tf='tail -f' 125 | alias l='less' 126 | alias lh='ls -alt | head' # see the last modified files 127 | alias screen='TERM=screen screen' 128 | alias cl='clear' 129 | alias cat='bat' 130 | 131 | # Zippin 132 | alias gz='tar -zcvf' 133 | 134 | # Ruby 135 | alias c='rails c' # Rails 3 136 | alias co='script/console' # Rails 2 137 | alias cod='script/console --debugger' 138 | 139 | #If you want your thin to listen on a port for local VM development 140 | #export VM_IP=10.0.0.1 <-- your vm ip 141 | alias ts='thin start -a ${VM_IP:-127.0.0.1}' 142 | alias ms='mongrel_rails start' 143 | alias tfdl='tail -f log/development.log' 144 | alias tftl='tail -f log/test.log' 145 | 146 | alias ka9='killall -9' 147 | alias k9='kill -9' 148 | 149 | # Gem install 150 | alias sgi='sudo gem install --no-ri --no-rdoc' 151 | 152 | # TODOS 153 | # This uses NValt (NotationalVelocity alt fork) - http://brettterpstra.com/project/nvalt/ 154 | # to find the note called 'todo' 155 | alias todo='open nvalt://find/todo' 156 | 157 | # Forward port 80 to 3000 158 | alias portforward='sudo ipfw add 1000 forward 127.0.0.1,3000 ip from any to any 80 in' 159 | 160 | alias rdm='rake db:migrate' 161 | alias rdmr='rake db:migrate:redo' 162 | 163 | # Zeus 164 | alias zs='zeus server' 165 | alias zc='zeus console' 166 | alias zr='zeus rspec' 167 | alias zrc='zeus rails c' 168 | alias zrs='zeus rails s' 169 | alias zrdbm='zeus rake db:migrate' 170 | alias zrdbtp='zeus rake db:test:prepare' 171 | alias zzz='rm .zeus.sock; pkill zeus; zeus start' 172 | 173 | # Rspec 174 | alias rs='rspec spec' 175 | alias sr='spring rspec' 176 | alias src='spring rails c' 177 | alias srgm='spring rails g migration' 178 | alias srdm='spring rake db:migrate' 179 | alias srdt='spring rake db:migrate' 180 | alias srdmt='spring rake db:migrate db:test:prepare' 181 | 182 | 183 | # Sprintly - https://github.com/nextbigsoundinc/Sprintly-GitHub 184 | alias sp='sprintly' 185 | # spb = sprintly branch - create a branch automatically based on the bug you're working on 186 | alias spb="git checkout -b \`sp | tail -2 | rg '#' | sed 's/^ //' | sed 's/[^A-Za-z0-9 ]//g' | sed 's/ /-/g' | cut -d"-" -f1,2,3,4,5\`" 187 | 188 | alias hpr='hub pull-request' 189 | alias grb='git recent-branches' 190 | 191 | # Finder 192 | alias showFiles='defaults write com.apple.finder AppleShowAllFiles YES; killall Finder /System/Library/CoreServices/Finder.app' 193 | alias hideFiles='defaults write com.apple.finder AppleShowAllFiles NO; killall Finder /System/Library/CoreServices/Finder.app' 194 | 195 | alias dbtp='spring rake db:test:prepare' 196 | alias dbm='spring rake db:migrate' 197 | alias dbmr='spring rake db:migrate:redo' 198 | alias dbmd='spring rake db:migrate:down' 199 | alias dbmu='spring rake db:migrate:up' 200 | 201 | # Homebrew 202 | alias brewu='brew update && brew upgrade --all && brew cleanup && brew doctor' 203 | 204 | # DockeR 205 | alias dr='docker' 206 | # DockeR Stop All 207 | alias drsa='docker stop $(docker ps -a -q)' 208 | # Docker Remove All Containers 209 | alias drac='docker rm $(docker ps -a -q)' 210 | # Docker Remove All Images 211 | alias drai='docker rmi $(docker images -q)' 212 | 213 | # Ripgrep 214 | # Makes ripgrep use smart-case by default 215 | alias rg='rg -S' 216 | -------------------------------------------------------------------------------- /iTerm2/base16-lfilho.dark.itermcolors: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ansi 0 Color 6 | 7 | Color Space 8 | sRGB 9 | Blue Component 10 | 0.3137254901960784 11 | Green Component 12 | 0.27450980392156865 13 | Red Component 14 | 0.23921568627450981 15 | 16 | Ansi 1 Color 17 | 18 | Color Space 19 | sRGB 20 | Blue Component 21 | 0.4549019607843137 22 | Green Component 23 | 0.40784313725490196 24 | Red Component 25 | 0.8980392156862745 26 | 27 | Ansi 10 Color 28 | 29 | Color Space 30 | sRGB 31 | Blue Component 32 | 0.27450980392156865 33 | Green Component 34 | 0.23921568627450981 35 | Red Component 36 | 0.20392156862745098 37 | 38 | Ansi 11 Color 39 | 40 | Color Space 41 | sRGB 42 | Blue Component 43 | 0.4 44 | Green Component 45 | 0.3568627450980392 46 | Red Component 47 | 0.30980392156862746 48 | 49 | Ansi 12 Color 50 | 51 | Color Space 52 | sRGB 53 | Blue Component 54 | 0.49411764705882355 55 | Green Component 56 | 0.45098039215686275 57 | Red Component 58 | 0.396078431372549 59 | 60 | Ansi 13 Color 61 | 62 | Color Space 63 | sRGB 64 | Blue Component 65 | 0.807843137254902 66 | Green Component 67 | 0.7725490196078432 68 | Red Component 69 | 0.7529411764705882 70 | 71 | Ansi 14 Color 72 | 73 | Color Space 74 | sRGB 75 | Blue Component 76 | 0.403921568627451 77 | Green Component 78 | 0.4745098039215686 79 | Red Component 80 | 0.6705882352941176 81 | 82 | Ansi 15 Color 83 | 84 | Color Space 85 | sRGB 86 | Blue Component 87 | 0.9607843137254902 88 | Green Component 89 | 0.9450980392156862 90 | Red Component 91 | 0.9372549019607843 92 | 93 | Ansi 2 Color 94 | 95 | Color Space 96 | sRGB 97 | Blue Component 98 | 0.4392156862745098 99 | Green Component 100 | 0.796078431372549 101 | Red Component 102 | 0.5450980392156862 103 | 104 | Ansi 3 Color 105 | 106 | Color Space 107 | sRGB 108 | Blue Component 109 | 0.5019607843137255 110 | Green Component 111 | 0.788235294117647 112 | Red Component 113 | 0.8156862745098039 114 | 115 | Ansi 4 Color 116 | 117 | Color Space 118 | sRGB 119 | Blue Component 120 | 0.803921568627451 121 | Green Component 122 | 0.7019607843137254 123 | Red Component 124 | 0.37254901960784315 125 | 126 | Ansi 5 Color 127 | 128 | Color Space 129 | sRGB 130 | Blue Component 131 | 0.6784313725490196 132 | Green Component 133 | 0.5568627450980392 134 | Red Component 135 | 0.7058823529411765 136 | 137 | Ansi 6 Color 138 | 139 | Color Space 140 | sRGB 141 | Blue Component 142 | 0.5529411764705883 143 | Green Component 144 | 0.8862745098039215 145 | Red Component 146 | 0.9215686274509803 147 | 148 | Ansi 7 Color 149 | 150 | Color Space 151 | sRGB 152 | Blue Component 153 | 0.9098039215686274 154 | Green Component 155 | 0.8823529411764706 156 | Red Component 157 | 0.8745098039215686 158 | 159 | Ansi 8 Color 160 | 161 | Color Space 162 | sRGB 163 | Blue Component 164 | 0.7294117647058823 165 | Green Component 166 | 0.6784313725490196 167 | Red Component 168 | 0.6549019607843137 169 | 170 | Ansi 9 Color 171 | 172 | Color Space 173 | sRGB 174 | Blue Component 175 | 0.4392156862745098 176 | Green Component 177 | 0.5294117647058824 178 | Red Component 179 | 0.8156862745098039 180 | 181 | Background Color 182 | 183 | Color Space 184 | sRGB 185 | Blue Component 186 | 0.3137254901960784 187 | Green Component 188 | 0.27450980392156865 189 | Red Component 190 | 0.23921568627450981 191 | 192 | Bold Color 193 | 194 | Color Space 195 | sRGB 196 | Blue Component 197 | 0.9098039215686274 198 | Green Component 199 | 0.8823529411764706 200 | Red Component 201 | 0.8745098039215686 202 | 203 | Cursor Color 204 | 205 | Color Space 206 | sRGB 207 | Blue Component 208 | 0.9098039215686274 209 | Green Component 210 | 0.8823529411764706 211 | Red Component 212 | 0.8745098039215686 213 | 214 | Cursor Text Color 215 | 216 | Color Space 217 | sRGB 218 | Blue Component 219 | 0.3137254901960784 220 | Green Component 221 | 0.27450980392156865 222 | Red Component 223 | 0.23921568627450981 224 | 225 | Foreground Color 226 | 227 | Color Space 228 | sRGB 229 | Blue Component 230 | 0.9098039215686274 231 | Green Component 232 | 0.8823529411764706 233 | Red Component 234 | 0.8745098039215686 235 | 236 | Selected Text Color 237 | 238 | Color Space 239 | sRGB 240 | Blue Component 241 | 0.9098039215686274 242 | Green Component 243 | 0.8823529411764706 244 | Red Component 245 | 0.8745098039215686 246 | 247 | Selection Color 248 | 249 | Color Space 250 | sRGB 251 | Blue Component 252 | 0.4 253 | Green Component 254 | 0.3568627450980392 255 | Red Component 256 | 0.30980392156862746 257 | 258 | 259 | 260 | -------------------------------------------------------------------------------- /iTerm2/base16-lfilho.dark.256.itermcolors: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ansi 0 Color 6 | 7 | Color Space 8 | sRGB 9 | Blue Component 10 | 0.3137254901960784 11 | Green Component 12 | 0.27450980392156865 13 | Red Component 14 | 0.23921568627450981 15 | 16 | Ansi 1 Color 17 | 18 | Color Space 19 | sRGB 20 | Blue Component 21 | 0.4549019607843137 22 | Green Component 23 | 0.40784313725490196 24 | Red Component 25 | 0.8980392156862745 26 | 27 | Ansi 10 Color 28 | 29 | Color Space 30 | sRGB 31 | Blue Component 32 | 0.4392156862745098 33 | Green Component 34 | 0.796078431372549 35 | Red Component 36 | 0.5450980392156862 37 | 38 | Ansi 11 Color 39 | 40 | Color Space 41 | sRGB 42 | Blue Component 43 | 0.5019607843137255 44 | Green Component 45 | 0.788235294117647 46 | Red Component 47 | 0.8156862745098039 48 | 49 | Ansi 12 Color 50 | 51 | Color Space 52 | sRGB 53 | Blue Component 54 | 0.803921568627451 55 | Green Component 56 | 0.7019607843137254 57 | Red Component 58 | 0.37254901960784315 59 | 60 | Ansi 13 Color 61 | 62 | Color Space 63 | sRGB 64 | Blue Component 65 | 0.6784313725490196 66 | Green Component 67 | 0.5568627450980392 68 | Red Component 69 | 0.7058823529411765 70 | 71 | Ansi 14 Color 72 | 73 | Color Space 74 | sRGB 75 | Blue Component 76 | 0.5529411764705883 77 | Green Component 78 | 0.8862745098039215 79 | Red Component 80 | 0.9215686274509803 81 | 82 | Ansi 15 Color 83 | 84 | Color Space 85 | sRGB 86 | Blue Component 87 | 0.9607843137254902 88 | Green Component 89 | 0.9450980392156862 90 | Red Component 91 | 0.9372549019607843 92 | 93 | Ansi 2 Color 94 | 95 | Color Space 96 | sRGB 97 | Blue Component 98 | 0.4392156862745098 99 | Green Component 100 | 0.796078431372549 101 | Red Component 102 | 0.5450980392156862 103 | 104 | Ansi 3 Color 105 | 106 | Color Space 107 | sRGB 108 | Blue Component 109 | 0.5019607843137255 110 | Green Component 111 | 0.788235294117647 112 | Red Component 113 | 0.8156862745098039 114 | 115 | Ansi 4 Color 116 | 117 | Color Space 118 | sRGB 119 | Blue Component 120 | 0.803921568627451 121 | Green Component 122 | 0.7019607843137254 123 | Red Component 124 | 0.37254901960784315 125 | 126 | Ansi 5 Color 127 | 128 | Color Space 129 | sRGB 130 | Blue Component 131 | 0.6784313725490196 132 | Green Component 133 | 0.5568627450980392 134 | Red Component 135 | 0.7058823529411765 136 | 137 | Ansi 6 Color 138 | 139 | Color Space 140 | sRGB 141 | Blue Component 142 | 0.5529411764705883 143 | Green Component 144 | 0.8862745098039215 145 | Red Component 146 | 0.9215686274509803 147 | 148 | Ansi 7 Color 149 | 150 | Color Space 151 | sRGB 152 | Blue Component 153 | 0.9098039215686274 154 | Green Component 155 | 0.8823529411764706 156 | Red Component 157 | 0.8745098039215686 158 | 159 | Ansi 8 Color 160 | 161 | Color Space 162 | sRGB 163 | Blue Component 164 | 0.7294117647058823 165 | Green Component 166 | 0.6784313725490196 167 | Red Component 168 | 0.6549019607843137 169 | 170 | Ansi 9 Color 171 | 172 | Color Space 173 | sRGB 174 | Blue Component 175 | 0.4549019607843137 176 | Green Component 177 | 0.40784313725490196 178 | Red Component 179 | 0.8980392156862745 180 | 181 | Background Color 182 | 183 | Color Space 184 | sRGB 185 | Blue Component 186 | 0.3137254901960784 187 | Green Component 188 | 0.27450980392156865 189 | Red Component 190 | 0.23921568627450981 191 | 192 | Bold Color 193 | 194 | Color Space 195 | sRGB 196 | Blue Component 197 | 0.9098039215686274 198 | Green Component 199 | 0.8823529411764706 200 | Red Component 201 | 0.8745098039215686 202 | 203 | Cursor Color 204 | 205 | Color Space 206 | sRGB 207 | Blue Component 208 | 0.9098039215686274 209 | Green Component 210 | 0.8823529411764706 211 | Red Component 212 | 0.8745098039215686 213 | 214 | Cursor Text Color 215 | 216 | Color Space 217 | sRGB 218 | Blue Component 219 | 0.3137254901960784 220 | Green Component 221 | 0.27450980392156865 222 | Red Component 223 | 0.23921568627450981 224 | 225 | Foreground Color 226 | 227 | Color Space 228 | sRGB 229 | Blue Component 230 | 0.9098039215686274 231 | Green Component 232 | 0.8823529411764706 233 | Red Component 234 | 0.8745098039215686 235 | 236 | Selected Text Color 237 | 238 | Color Space 239 | sRGB 240 | Blue Component 241 | 0.9098039215686274 242 | Green Component 243 | 0.8823529411764706 244 | Red Component 245 | 0.8745098039215686 246 | 247 | Selection Color 248 | 249 | Color Space 250 | sRGB 251 | Blue Component 252 | 0.4 253 | Green Component 254 | 0.3568627450980392 255 | Red Component 256 | 0.30980392156862746 257 | 258 | 259 | 260 | -------------------------------------------------------------------------------- /tmux/tmux.conf: -------------------------------------------------------------------------------- 1 | # Ring the bell if any background window rang a bell 2 | set -g bell-action any 3 | 4 | # force tmux to use utf-8 5 | setw -gq utf8 on 6 | set -gq status-utf8 on 7 | 8 | # Make sure we have true colors 9 | set -g default-terminal 'xterm-256color' 10 | set-option -ga terminal-overrides ',xterm-256color:Tc' 11 | 12 | # Screen like binding 13 | unbind C-b 14 | set -g prefix C-a 15 | bind a send-prefix 16 | 17 | # Keep your finger on ctrl, or don't 18 | bind-key ^D detach-client 19 | 20 | # Create splits and vertical splits 21 | bind-key ^V split-window -h -c '#{pane_current_path}' 22 | bind-key ^S split-window -v -c '#{pane_current_path}' 23 | 24 | # Pane resize in all four directions using vi bindings. 25 | # Can use these raw but I map them to shift-ctrl- in iTerm. 26 | bind -r H resize-pane -L 5 27 | bind -r J resize-pane -D 5 28 | bind -r K resize-pane -U 5 29 | bind -r L resize-pane -R 5 30 | 31 | # Break out the current pane to a window 32 | bind b break-pane -d 33 | 34 | 35 | # Smart pane switching with awareness of Vim splits. 36 | # See: https://github.com/christoomey/vim-tmux-navigator 37 | is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ 38 | | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" 39 | bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' 40 | bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' 41 | bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' 42 | bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' 43 | 44 | tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")' 45 | if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \ 46 | "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'" 47 | if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \ 48 | "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'" 49 | 50 | bind-key -T copy-mode-vi 'C-h' select-pane -L 51 | bind-key -T copy-mode-vi 'C-j' select-pane -D 52 | bind-key -T copy-mode-vi 'C-k' select-pane -U 53 | bind-key -T copy-mode-vi 'C-l' select-pane -R 54 | bind-key -T copy-mode-vi 'C-\' select-pane -l 55 | 56 | # Restore clear screen keybind mapped over by tmux-navigator 57 | bind C-l send-keys C-l 58 | 59 | 60 | # Use vi keybindings for tmux commandline input. 61 | # Note that to get command mode you need to hit ESC twice... 62 | set -g status-keys vi 63 | 64 | # Use vi keybindings in copy and choice modes 65 | setw -g mode-keys vi 66 | 67 | # easily toggle synchronization (mnemonic: e is for echo) 68 | # sends input to all panes in a given window. 69 | bind e setw synchronize-panes on 70 | bind E setw synchronize-panes off 71 | 72 | # set first window to index 1 (not 0) to map more to the keyboard layout... 73 | set-option -g base-index 1 74 | set-window-option -g pane-base-index 1 75 | set -g renumber-windows on 76 | 77 | set-window-option -g mouse on 78 | 79 | # Patch for OS X pbpaste and pbcopy under tmux. 80 | set-option -g default-command "which reattach-to-user-namespace > /dev/null && reattach-to-user-namespace -l $SHELL || $SHELL" 81 | 82 | 83 | # Fix VISUAL shortcuts for TMUX 84 | bind-key -T edit-mode-vi Up send-keys -X history-up 85 | bind-key -T edit-mode-vi Down send-keys -X history-down 86 | bind-key -T copy-mode-vi Escape send-keys -X clear-selection 87 | bind-key -T copy-mode-vi i send-keys -X cancel 88 | unbind-key -T copy-mode-vi p ; bind-key -T copy-mode-vi p send-keys -X paste-buffer 89 | unbind-key -T copy-mode-vi Space ; bind-key -T copy-mode-vi v send-keys -X begin-selection 90 | unbind-key -T copy-mode-vi V ; bind-key -T copy-mode-vi V send-keys -X start-of-line \; send-keys -X begin-selection \; send-keys -X end-of-line 91 | unbind-key -T copy-mode-vi Enter ; bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" 92 | unbind-key -T copy-mode-vi Y ; bind-key -T copy-mode-vi Y send-keys -X start-of-line \; send-keys -X begin-selection \; send-keys -X end-of-line \; send-keys -X copy-pipe-and-cancel 'reattach-to-user-namespace pbcopy' 93 | unbind-key -T copy-mode-vi C-v ; bind-key -T copy-mode-vi C-v send-keys -X begin-selection \; send-keys -X rectangle-toggle 94 | unbind-key -T copy-mode-vi [ ; bind-key -T copy-mode-vi [ send-keys -X begin-selection 95 | unbind-key -T copy-mode-vi ] ; bind-key -T copy-mode-vi ] send-keys -X copy-selection 96 | 97 | # Setup 'v' to begin selection as in Vim 98 | bind -T copy-mode-vi v send -X begin-selection 99 | bind -T copy-mode-vi y send -X copy-pipe-and-cancel 'reattach-to-user-namespace pbcopy' 100 | 101 | # Update default binding of `Enter` to also use copy-pipe 102 | unbind -T copy-mode-vi Enter 103 | bind -T copy-mode-vi Enter send -X copy-pipe-and-cancel 'reattach-to-user-namespace pbcopy' 104 | 105 | 106 | # No escape time for vi mode 107 | set -sg escape-time 0 108 | 109 | # Screen like binding for last window 110 | unbind l 111 | bind C-b last-window 112 | 113 | # Bigger history 114 | set -g history-limit 10000 115 | 116 | # New windows/pane in $PWD 117 | bind c new-window -c '#{pane_current_path}' 118 | 119 | # Fix key bindings broken in tmux 2.1 120 | set -g assume-paste-time 0 121 | 122 | # force a reload of the config file 123 | unbind r 124 | bind r source-file ~/.tmux.conf \; display 'Reloaded!' 125 | 126 | 127 | # Status styles 128 | set-option -g status 'on' 129 | set-option -g status-interval 2 130 | set-option -g status-style none,align=left 131 | set-option -g status-left-style none 132 | set-option -g status-left-length '80' 133 | set-option -g status-right-style none 134 | set-option -g status-right-length '80' 135 | set-window-option -g window-status-activity-style none 136 | set-window-option -g window-status-separator '' 137 | 138 | 139 | ############################ 140 | ## COLORSCHEME: gruvbox dark 141 | ############################ 142 | 143 | # default statusbar colors 144 | set-option -ga status-style bg=colour237,fg=colour223 #bg=bg1 fg=fg1 145 | 146 | # pane border 147 | set-option -g pane-active-border-style fg=colour250 #fg2 148 | set-option -g pane-border-style fg=colour237 #bg1 149 | 150 | # message infos 151 | set-option -g message-style bg=colour239,fg=colour223 #bg=bg2 fg=fg1 152 | 153 | # writting commands inactive 154 | set-option -g message-command-style bg=colour239,fg=colour223 #bg=fg3 fg=bg1 155 | 156 | # pane number display 157 | set-option -g display-panes-active-colour colour250 #fg2 158 | set-option -g display-panes-colour colour237 #bg1 159 | 160 | # clock 161 | set-window-option -g clock-mode-colour colour109 #blue 162 | 163 | # bell 164 | set-window-option -g window-status-bell-style fg=colour235,bg=colour167 #bg, red 165 | 166 | # default window title colors 167 | set-window-option -ga window-status-style bg=colour214,fg=colour237 #bg=yellow fg=bg1 168 | # Set status line style for windows with an activity alert 169 | set-window-option -ga window-status-activity-style bg=colour237,fg=colour248 #bg=bg1 fg=fg3 170 | # active window title colors 171 | set-window-option -ga window-status-current-style bg=default,fg=colour237 #fg=bg1 172 | 173 | # window titles 174 | set-window-option -g window-status-format '#[fg=colour237,bg=colour239,none]#[fg=colour223,bg=colour239] #I  #W #[fg=colour239, bg=colour237, none]' 175 | set-window-option -g window-status-current-format '#[fg=colour237,bg=colour214,none]#[fg=colour239, bg=colour214,bold]#{?window_zoomed_flag,#[fg=colour132],#[none]} #I  #W #[fg=colour214,bg=colour237,none]' 176 | 177 | ## Theme settings mixed with colors (unfortunately, but there is no cleaner way) 178 | set-option -g status-left '#[fg=colour248,bg=colour241] #S #[fg=colour241, bg=colour237, none]' 179 | set-option -g status-right '#[fg=colour239,bg=colour237,none]#[fg=colour246,bg=colour239] %Y-%m-%d  %H:%M #[fg=colour248, bg=colour239,none]#[fg=colour237, bg=colour248] #h ' 180 | 181 | ##################### 182 | ## End of COLORSCHEME 183 | ##################### 184 | 185 | # Local config 186 | if-shell "[ -f ~/.tmux.conf.user ]" 'source ~/.tmux.conf.user' 187 | -------------------------------------------------------------------------------- /nvim/README.md: -------------------------------------------------------------------------------- 1 | # What's included, How to learn? etc 2 | 3 | Browse the `plugins/*.vim` files to see which plugins we have. 4 | 5 | Files in `nvim/settings` are our configurations or customizations. 6 | - `nvim/settings/plugin-*.vim` are configs for a specific plugin. 7 | - `nvim/settings/vim-*.vim` are general vim configs. 8 | - Whatever you **don't** see in the above files (or if a plugin doesn't have a correspondent file in there) means that we use that plugin's (or vim's) defaults. 9 | 10 | If you are having an unexpected behavior, wondering why a particular key works the way it does, use: `:map [keycombo]` (e.g. `:map `) to see what the key is mapped to. For bonus points, you can see where the mapping was set by using `:verbose map [keycombo]`. If you omit the key combo, you'll get a list of all the maps. You can do the same thing with `nmap`, `imap`, `vmap`, etc. 11 | 12 | ## How to customize 13 | 14 | You can place any number of `*.vim` files inside the folders `before` and `after` in the `settings` dir. They'll be loaded, accordingly, before or after the main installation and configuration steps. 15 | If you think something could benefit everybody, feel free to open a Pull Request. 16 | 17 | ## Search/Code Navigation 18 | 19 | * ,f - instantly Find definition of class (must have exuberant ctags installed) 20 | * ,F - same as ,f but in a vertical split 21 | * ,gf or Ctrl-f - same as vim normal gf (go to file), but in a vertical split (works with file.rb:123 line numbers also) 22 | * gF - standard vim mapping, here for completeness (go to file at line number) 23 | * K - Search the current word under the cursor and show results in quickfix window 24 | * ,K - Grep the current word up to next exclamation point (useful for ruby foo! methods) 25 | * Cmd-\* - highlight all occurrences of current word (similar to regular \* except doesn't move) 26 | * ,hl - toggle search highlight on and off 27 | * ,gg or ,rg - Grep command line, type between quotes. Uses RipGrep. 28 | * After searching with ,gg you can navigate the results with Ctrl-x and Ctrl-z (or standard vim `:cn` and `:cp`) 29 | * ,gd - Grep def (greps for 'def [function name]') when cursor is over the function name 30 | * ,gcf - Grep Current File to find references to the current file 31 | * // - clear the search 32 | * ,,w (alias ,esc) or ,,b (alias ,shiftesc) - EasyMotion, a vimium/vimperator style tool that highlights jump-points on the screen and lets you type to get there. 33 | * ,mc - mark this word for MultiCursor (like sublime). Use Ctrl-n (next), Ctrl-p (prev), Ctrl-x(skip) to add more cursors, then do normal vim things like edit the word. 34 | * gK - Opens the documentation for the word under the cursor. 35 | * Space - Sneak - type two characters to move there in a line. Kind of like vim's f but more accurate. 36 | * `:Gsearch foo` - global search, then do your normal `%s/search/replace/g` and follow up with `:Greplace` to replace across all files. When done use `:wall` to write all the files. 37 | 38 | ## Better keystrokes for common editing commands 39 | 40 | * Tab for snipmate snippets. 41 | * ,#,,",,',,],,),,} to surround a word in these common wrappers. the # does `#{ruby interpolation}`. works in visual mode (thanks @cj). Normally these are done with something like ysw# 42 | * Cmd-', Cmd-", Cmd-], Cmd-), etc to change content inside those surrounding marks. You don't have to be inside them (Alt in Linux) 43 | * ,. to go to last edit location (same as '.) because the apostrophe is hard on the pinky 44 | * ,ci to change inside any set of quotes/brackets/etc 45 | 46 | ## Tabs, Windows, Splits 47 | 48 | * Use Cmd-1 thru Cmd-9 to switch to a specific tab number (like iTerm and Chrome) - and tabs have been set up to show numbers (Alt in Linux) 49 | * Ctrl-h,l,j,k - to move left, right, down, up between splits. This also works between vim and tmux splits thanks to `vim-tmux-navigator`. 50 | * Q - Intelligent Window Killer. Close window `wincmd c` if there are multiple windows to same buffer, or kill the buffer `bwipeout` if this is the last window into it. 51 | * vv - vertical split (Ctrl-w,v) 52 | * ss - horizontal split (Ctrl-w,s) 53 | * ,qo - open quickfix window (this is where output from Grep goes) 54 | * ,qc - close quickfix 55 | 56 | ## Utility 57 | 58 | * Ctrl-p after pasting - Use p to paste and Ctrl-p to cycle through previous pastes. Provided by YankRing. 59 | * ,yr - view the yankring - a list of your previous copy commands. also you can paste and hit ctrl-p for cycling through previous copy commands 60 | * crs, crc, cru via abolish.vim, coerce to snake_case, camelCase, and UPPERCASE. There are more `:help abolish` 61 | * ,ig - toggle visual indentation guides 62 | * ,cf - Copy Filename of current file (full path) into system (not vi) paste buffer 63 | * ,cn - Copy Filename of current file (name only, no path) 64 | * ,yw - yank a word from anywhere within the word (so you don't have to go to the beginning of it) 65 | * ,ow - overwrite a word with whatever is in your yank buffer - you can be anywhere on the word. saves having to visually select it 66 | * ,ocf - open changed files (stolen from @garybernhardt). open all files with git changes in splits 67 | * ,w - strip trailing whitespaces 68 | * sj - split a line such as a hash {:foo => {:bar => :baz}} into a multiline hash (j = down) 69 | * sk - unsplit a link (k = up) 70 | * ,he - Html Escape 71 | * ,hu - Html Unescape 72 | * ,hp - Html Preview (open in Safari) 73 | * Cmd-Shift-A - align things (type a character/expression to align by, works in visual mode or by itself) (Alt in Linux) 74 | * `:ColorToggle` - turn on #abc123 color highlighting (useful for css) 75 | * `:Gitv` - Git log browsers 76 | * ,hi - show current Highlight group. if you don't like the color of something, use this, then use `hi! link [groupname] [anothergroupname]` in your vimrc.after to remap the color. You can see available colors using `:hi` 77 | * ,gt - Go Tidy - tidy up your html code (works on a visual selection) 78 | * `:Wrap` - wrap long lines (e.g. when editing markdown files) 79 | * Cmd-/ - toggle comments (usually gcc from tComment) (`Alt` in Linux) 80 | * gcp (comment a paragraph) 81 | 82 | ## Vim Dev 83 | 84 | * ,vc - (Vim Command) copies the command under your cursor and executes it in vim. Great for testing single line changes to vimrc. 85 | * ,vr - (Vim Reload) source current file as a vim file 86 | -------------------------------------------------------------------------------- /ranger/scope.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -o noclobber -o noglob -o nounset -o pipefail 4 | IFS=$'\n' 5 | 6 | # If the option `use_preview_script` is set to `true`, 7 | # then this script will be called and its output will be displayed in ranger. 8 | # ANSI color codes are supported. 9 | # STDIN is disabled, so interactive scripts won't work properly 10 | 11 | # This script is considered a configuration file and must be updated manually. 12 | # It will be left untouched if you upgrade ranger. 13 | 14 | # Meanings of exit codes: 15 | # code | meaning | action of ranger 16 | # -----+------------+------------------------------------------- 17 | # 0 | success | Display stdout as preview 18 | # 1 | no preview | Display no preview at all 19 | # 2 | plain text | Display the plain content of the file 20 | # 3 | fix width | Don't reload when width changes 21 | # 4 | fix height | Don't reload when height changes 22 | # 5 | fix both | Don't ever reload 23 | # 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview 24 | # 7 | image | Display the file directly as an image 25 | 26 | # Script arguments 27 | FILE_PATH="${1}" # Full path of the highlighted file 28 | PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters) 29 | PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters) 30 | IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview 31 | PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise. 32 | 33 | FILE_EXTENSION="${FILE_PATH##*.}" 34 | FILE_EXTENSION_LOWER=$(echo ${FILE_EXTENSION} | tr '[:upper:]' '[:lower:]') 35 | 36 | # Settings 37 | HIGHLIGHT_SIZE_MAX=262143 # 256KiB 38 | HIGHLIGHT_TABWIDTH=8 39 | HIGHLIGHT_STYLE='pablo' 40 | PYGMENTIZE_STYLE='autumn' 41 | 42 | 43 | handle_extension() { 44 | case "${FILE_EXTENSION_LOWER}" in 45 | # Archive 46 | a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ 47 | rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) 48 | atool --list -- "${FILE_PATH}" && exit 5 49 | bsdtar --list --file "${FILE_PATH}" && exit 5 50 | exit 1;; 51 | rar) 52 | # Avoid password prompt by providing empty password 53 | unrar lt -p- -- "${FILE_PATH}" && exit 5 54 | exit 1;; 55 | 7z) 56 | # Avoid password prompt by providing empty password 57 | 7z l -p -- "${FILE_PATH}" && exit 5 58 | exit 1;; 59 | 60 | # PDF 61 | pdf) 62 | # Preview as text conversion 63 | pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | fmt -w ${PV_WIDTH} && exit 5 64 | mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | fmt -w ${PV_WIDTH} && exit 5 65 | exiftool "${FILE_PATH}" && exit 5 66 | exit 1;; 67 | 68 | # BitTorrent 69 | torrent) 70 | transmission-show -- "${FILE_PATH}" && exit 5 71 | exit 1;; 72 | 73 | # OpenDocument 74 | odt|ods|odp|sxw) 75 | # Preview as text conversion 76 | odt2txt "${FILE_PATH}" && exit 5 77 | exit 1;; 78 | 79 | # HTML 80 | htm|html|xhtml) 81 | # Preview as text conversion 82 | w3m -dump "${FILE_PATH}" && exit 5 83 | lynx -dump -- "${FILE_PATH}" && exit 5 84 | elinks -dump "${FILE_PATH}" && exit 5 85 | ;; # Continue with next handler on failure 86 | esac 87 | } 88 | 89 | handle_image() { 90 | local mimetype="${1}" 91 | case "${mimetype}" in 92 | # SVG 93 | # image/svg+xml) 94 | # convert "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6 95 | # exit 1;; 96 | 97 | # Image 98 | image/*) 99 | local orientation 100 | orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )" 101 | # If orientation data is present and the image actually 102 | # needs rotating ("1" means no rotation)... 103 | if [[ -n "$orientation" && "$orientation" != 1 ]]; then 104 | # ...auto-rotate the image according to the EXIF data. 105 | convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6 106 | fi 107 | 108 | # `w3mimgdisplay` will be called for all images (unless overriden as above), 109 | # but might fail for unsupported types. 110 | exit 7;; 111 | 112 | # Video 113 | # video/*) 114 | # # Thumbnail 115 | # ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6 116 | # exit 1;; 117 | # PDF 118 | # application/pdf) 119 | # pdftoppm -f 1 -l 1 \ 120 | # -scale-to-x 1920 \ 121 | # -scale-to-y -1 \ 122 | # -singlefile \ 123 | # -jpeg -tiffcompression jpeg \ 124 | # -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \ 125 | # && exit 6 || exit 1;; 126 | 127 | # Preview archives using the first image inside. 128 | # (Very useful for comic book collections for example.) 129 | # application/zip|application/x-rar|application/x-7z-compressed|\ 130 | # application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar) 131 | # local fn=""; local fe="" 132 | # local zip=""; local rar=""; local tar=""; local bsd="" 133 | # case "${mimetype}" in 134 | # application/zip) zip=1 ;; 135 | # application/x-rar) rar=1 ;; 136 | # application/x-7z-compressed) ;; 137 | # *) tar=1 ;; 138 | # esac 139 | # { [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \ 140 | # { fn=$(bsdtar --list --file "${FILE_PATH}") && bsd=1 && tar=""; } || \ 141 | # { [ "$rar" ] && fn=$(unrar lb -p- -- "${FILE_PATH}"); } || \ 142 | # { [ "$zip" ] && fn=$(zipinfo -1 -- "${FILE_PATH}"); } || return 143 | # 144 | # fn=$(echo "$fn" | python -c "import sys; import mimetypes as m; \ 145 | # [ print(l, end='') for l in sys.stdin if \ 146 | # (m.guess_type(l[:-1])[0] or '').startswith('image/') ]" |\ 147 | # sort -V | head -n 1) 148 | # [ "$fn" = "" ] && return 149 | # [ "$bsd" ] && fn=$(printf '%b' "$fn") 150 | # 151 | # [ "$tar" ] && tar --extract --to-stdout \ 152 | # --file "${FILE_PATH}" -- "$fn" > "${IMAGE_CACHE_PATH}" && exit 6 153 | # fe=$(echo -n "$fn" | sed 's/[][*?\]/\\\0/g') 154 | # [ "$bsd" ] && bsdtar --extract --to-stdout \ 155 | # --file "${FILE_PATH}" -- "$fe" > "${IMAGE_CACHE_PATH}" && exit 6 156 | # [ "$bsd" ] || [ "$tar" ] && rm -- "${IMAGE_CACHE_PATH}" 157 | # [ "$rar" ] && unrar p -p- -inul -- "${FILE_PATH}" "$fn" > \ 158 | # "${IMAGE_CACHE_PATH}" && exit 6 159 | # [ "$zip" ] && unzip -pP "" -- "${FILE_PATH}" "$fe" > \ 160 | # "${IMAGE_CACHE_PATH}" && exit 6 161 | # [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}" 162 | # ;; 163 | esac 164 | } 165 | 166 | handle_mime() { 167 | local mimetype="${1}" 168 | case "${mimetype}" in 169 | # Text 170 | text/* | */xml) 171 | # Syntax highlight 172 | if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then 173 | exit 2 174 | fi 175 | if [[ "$( tput colors )" -ge 256 ]]; then 176 | local pygmentize_format='terminal256' 177 | local highlight_format='xterm256' 178 | else 179 | local pygmentize_format='terminal' 180 | local highlight_format='ansi' 181 | fi 182 | highlight --replace-tabs="${HIGHLIGHT_TABWIDTH}" --out-format="${highlight_format}" \ 183 | --style="${HIGHLIGHT_STYLE}" --force -- "${FILE_PATH}" && exit 5 184 | # pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}" -- "${FILE_PATH}" && exit 5 185 | exit 2;; 186 | 187 | # Image 188 | image/*) 189 | # Preview as text conversion 190 | # img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 191 | exiftool "${FILE_PATH}" && exit 5 192 | exit 1;; 193 | 194 | # Video and audio 195 | video/* | audio/*) 196 | mediainfo "${FILE_PATH}" && exit 5 197 | exiftool "${FILE_PATH}" && exit 5 198 | exit 1;; 199 | esac 200 | } 201 | 202 | handle_fallback() { 203 | echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5 204 | exit 1 205 | } 206 | 207 | 208 | MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )" 209 | if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then 210 | handle_image "${MIMETYPE}" 211 | fi 212 | handle_extension 213 | handle_mime "${MIMETYPE}" 214 | handle_fallback 215 | 216 | exit 1 217 | -------------------------------------------------------------------------------- /zsh/prezto-themes/prompt_lfilho_setup: -------------------------------------------------------------------------------- 1 | # A multi-line, Powerline-inspired theme for ZSH 2 | # - Based on double-up's Theme 3 | # --- Based on agnoster's Theme 4 | 5 | # Settings 6 | LC_ALL="" 7 | LC_CTYPE="en_US.UTF-8" 8 | CURRENT_BG="NONE" 9 | DOUBLEUP_TIME_FORMAT=${DOUBLEUP_TIME_FORMAT:-"%D{%H:%M:%S}"} 10 | DOUBLEUP_VCS_INTERNAL_HASH_LENGTH=${DOUBLEUP_VCS_INTERNAL_HASH_LENGTH:-8} 11 | DOUBLEUP_VCS_HIDE_TAGS=${DOUBLEUP_VCS_HIDE_TAGS:-true} 12 | DOUBLEUP_VCS_SHOW_CHANGESET=${DOUBLEUP_VCS_SHOW_CHANGESET:-false} 13 | DOUBLEUP_VERBOSE_BG_JOBS=${DOUBLEUP_VERBOSE_BG_JOBS:-true} 14 | DOUBLEUP_VERBOSE_STATUS=${DOUBLEUP_VERBOSE_STATUS:-true} 15 | 16 | # Special Powerline characters 17 | # NOTE: The icons are defined using Unicode escape sequences so it is 18 | # unambiguously readable, regardless of what font the user is viewing this 19 | # source code in. Do not replace the escape sequence with a single literal 20 | # character. 21 | SEGMENT_SEPARATOR=$'\ue0b0' #  22 | ICON_BG_JOBS=$'\u2699' # ⚙ 23 | ICON_ROOT=$'\u26A1' # ⚡ 24 | ICON_USER='›' # $'\u009b' 25 | ICON_OK=$'\u2713' # ✓ 26 | ICON_FAIL=$'\u2718' # ✘ 27 | ICON_VCS_UNTRACKED='?' 28 | ICON_VCS_UNSTAGED=$'\u25CF' # ● 29 | ICON_VCS_STAGED=$'\u271A' # ✚ 30 | ICON_VCS_STASH=$'\u235F' # ⍟ 31 | ICON_VCS_INCOMING_CHANGES=$'\u2193' # ↓ 32 | ICON_VCS_OUTGOING_CHANGES=$'\u2191' # ↑ 33 | ICON_VCS_BRANCH=$'\uE0A0' #  34 | ICON_VCS_DETACHED_BRANCH=$'\u27A6' # ➦ 35 | ICON_VCS_REMOTE_BRANCH=$'\u2192' # → 36 | ICON_VCS_TAG='' 37 | 38 | ### Segment drawing 39 | # A few utility functions to make it easy and re-usable to draw segmented prompts 40 | 41 | # Begin a segment 42 | # Takes two arguments, background and foreground. Both can be omitted, 43 | # rendering default background/foreground. 44 | prompt_segment() { 45 | local bg fg 46 | [[ -n $1 ]] && bg="%K{$1}" || bg="%k" 47 | [[ -n $2 ]] && fg="%F{$2}" || fg="%f" 48 | if [[ "$CURRENT_BG" != 'NONE' && $1 != "$CURRENT_BG" ]]; then 49 | echo -n " %{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR%{$fg%} " 50 | else 51 | echo -n "%{$bg%}%{$fg%} " 52 | fi 53 | CURRENT_BG=$1 54 | [[ -n $3 ]] && echo -n "$3" 55 | } 56 | 57 | # End the prompt, closing any open segments 58 | prompt_end() { 59 | if [[ -n $CURRENT_BG ]]; then 60 | echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR" 61 | else 62 | echo -n "%{%k%}" 63 | fi 64 | echo -n "%{%f%}" 65 | CURRENT_BG='' 66 | } 67 | 68 | ### Prompt components 69 | # Each component will draw itself, and hide itself if no information needs to be shown 70 | 71 | # Caret: change prompt character based on UID 72 | prompt_caret() { 73 | if [[ $UID -eq 0 ]]; then 74 | prompt_segment 239 default "%{%F{yellow}%}$ICON_ROOT" 75 | else 76 | prompt_segment 239 default "%{%F{white}%}$ICON_USER" 77 | fi 78 | } 79 | 80 | # Context: user on hostname (who am I and where am I) 81 | prompt_context() { 82 | if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then 83 | prompt_segment 239 default "%{%F{magenta}%}$USER%{%F{white}%}@%{%F{yellow}%}%m" 84 | fi 85 | } 86 | 87 | # Dir: current working directory 88 | prompt_dir() { 89 | prompt_segment blue black '%~' 90 | } 91 | 92 | # Status: was there an error on previous command 93 | prompt_status() { 94 | if [[ "$RETVAL" -ne 0 ]]; then 95 | local return_value="" 96 | if [[ "$DOUBLEUP_VERBOSE_STATUS" == true ]]; then 97 | return_value="$RETVAL " 98 | fi 99 | prompt_segment black default "%{%F{red}%}$return_value$ICON_FAIL" 100 | fi 101 | } 102 | 103 | # Jobs: are there background jobs? 104 | prompt_background_jobs() { 105 | local jobs_number=${$(jobs -l | wc -l)// /} 106 | if [[ jobs_number -gt 0 ]]; then 107 | local jobs_number_print="" 108 | if [[ "$DOUBLEUP_VERBOSE_BG_JOBS" == "true" ]] && [[ jobs_number -gt 1 ]]; then 109 | jobs_number_print="$jobs_number " 110 | fi 111 | prompt_segment black default "%{%F{cyan}%}$jobs_number_print$ICON_BG_JOBS" 112 | fi 113 | } 114 | 115 | # Time: render system time 116 | prompt_time() { 117 | local time_format="%D{%H:%M:%S}" 118 | if [[ -n "$DOUBLEUP_TIME_FORMAT" ]]; then 119 | time_format="$DOUBLEUP_TIME_FORMAT" 120 | fi 121 | prompt_segment black yellow "$time_format" 122 | } 123 | 124 | # Git: status information for repository 125 | prompt_vcs() { 126 | # if no git, do not run 127 | (( $+commands[git] )) || return 128 | 129 | typeset -gAH vcs_states 130 | vcs_states=( 131 | 'clean' 'green' 132 | 'modified' 'yellow' 133 | 'untracked' 'green' 134 | ) 135 | 136 | # used by hooks to render dirty colors 137 | current_state="" 138 | VCS_WORKDIR_DIRTY=false 139 | VCS_WORKDIR_HALF_DIRTY=false 140 | VCS_CHANGESET_PREFIX='' 141 | if [[ "$DOUBLEUP_VCS_SHOW_CHANGESET" == true ]]; then 142 | VCS_CHANGESET_PREFIX="%0.$DOUBLEUP_VCS_INTERNAL_HASH_LENGTH""i " 143 | fi 144 | 145 | autoload -Uz vcs_info 146 | zstyle ':vcs_info:*' enable git 147 | zstyle ':vcs_info:*' check-for-changes true 148 | zstyle ':vcs_info:*' formats "$VCS_CHANGESET_PREFIX%b%c%u%m" 149 | zstyle ':vcs_info:*' actionformats "%{%F{white}%}%a%{%f%} %{%F{black}%}$ICON_VCS_DETACHED_BRANCH %m%c%u" 150 | zstyle ':vcs_info:*' stagedstr "$ICON_VCS_STAGED" 151 | zstyle ':vcs_info:*' unstagedstr "$ICON_VCS_UNSTAGED" 152 | zstyle ':vcs_info:*' patch-format "%$DOUBLEUP_VCS_INTERNAL_HASH_LENGTH>>%p%<< (%n applied)" 153 | zstyle ':vcs_info:git*+set-message:*' hooks vcs-detect-changes git-untracked git-aheadbehind git-stash git-remotebranch git-tagname 154 | 155 | if [[ "$DOUBLEUP_VCS_SHOW_CHANGESET" == true ]]; then 156 | zstyle ':vcs_info:*' get-revision true 157 | fi 158 | 159 | # Actually invoke vcs_info manually to gather all information. 160 | vcs_info 161 | local vcs_prompt="${vcs_info_msg_0_}" 162 | 163 | if [[ -n "$vcs_prompt" ]]; then 164 | if [[ "$VCS_WORKDIR_DIRTY" == true ]]; then 165 | current_state='modified' 166 | else 167 | if [[ "$VCS_WORKDIR_HALF_DIRTY" == true ]]; then 168 | current_state='untracked' 169 | else 170 | current_state='clean' 171 | fi 172 | fi 173 | prompt_segment "${vcs_states[$current_state]}" black "$vcs_prompt" 174 | fi 175 | } 176 | 177 | # Git: checks if changes exist 178 | function +vi-vcs-detect-changes() { 179 | if [[ -n "${hook_com[staged]}" ]] || [[ -n "${hook_com[unstaged]}" ]]; then 180 | VCS_WORKDIR_DIRTY=true 181 | else 182 | VCS_WORKDIR_DIRTY=false 183 | fi 184 | } 185 | 186 | # Git: determine if untracked files exist 187 | function +vi-git-untracked() { 188 | if [[ -n $(git ls-files --exclude-standard --others 2>/dev/null | head -n 1) ]]; then 189 | hook_com[unstaged]+="$ICON_VCS_UNTRACKED" 190 | VCS_WORKDIR_HALF_DIRTY=true 191 | else 192 | VCS_WORKDIR_HALF_DIRTY=false 193 | fi 194 | } 195 | 196 | # Git: how many changes are we ahead/behind 197 | function +vi-git-aheadbehind() { 198 | local ahead behind remote 199 | local -a gitstatus 200 | 201 | remote=$(git rev-parse --verify "${hook_com[branch]}"@{upstream} \ 202 | --symbolic-full-name --abbrev-ref 2>/dev/null) 203 | 204 | if [[ -n "$remote" ]]; then 205 | ahead=$(git rev-list "${hook_com[branch]}"@{upstream}..HEAD 2>/dev/null | wc -l) 206 | (( $ahead )) && gitstatus+=( "$ICON_VCS_OUTGOING_CHANGES${ahead// /}" ) 207 | 208 | behind=$(git rev-list HEAD.."${hook_com[branch]}"@{upstream} 2>/dev/null | wc -l) 209 | (( $behind )) && gitstatus+=( "$ICON_VCS_INCOMING_CHANGES${behind// /}" ) 210 | 211 | hook_com[misc]+="${(j::)gitstatus}" 212 | fi 213 | } 214 | 215 | # Git: show count of stashed changes 216 | # Port from https://github.com/whiteinge/dotfiles/blob/5dfd08d30f7f2749cfc60bc55564c6ea239624d9/.zsh_shouse_prompt#L268 217 | function +vi-git-stash() { 218 | local -a stashes 219 | if [[ -s $(git rev-parse --git-dir)/refs/stash ]] ; then 220 | stashes=$(git stash list 2>/dev/null | wc -l) 221 | hook_com[misc]+=" $ICON_VCS_STASH${stashes// /}" 222 | fi 223 | } 224 | 225 | # Git: show remote branch if exists 226 | function +vi-git-remotebranch() { 227 | local remote branch_name 228 | 229 | remote=${$(git rev-parse --verify ${hook_com[branch]}@{upstream} \ 230 | --symbolic-full-name --abbrev-ref 2>/dev/null)} 231 | 232 | # set branch display 233 | hook_com[branch]="$ICON_VCS_BRANCH ${hook_com[branch]} " 234 | 235 | # if remote, add display 236 | if [[ -n "${remote}" ]]; then 237 | hook_com[branch]+="$ICON_VCS_REMOTE_BRANCH ${remote// /} " 238 | fi 239 | } 240 | 241 | # Git: add tag names if checked out 242 | function +vi-git-tagname() { 243 | if [[ "$DOUBLEUP_VCS_HIDE_TAGS" == "false" ]]; then 244 | # If we are on a tag, append the tagname to the current branch string. 245 | local tag 246 | tag=$(git describe --tags --exact-match HEAD 2>/dev/null) 247 | 248 | if [[ -n "${tag}" ]] ; then 249 | # There is a tag that points to our current commit. Need to determine if we 250 | # are also on a branch, or are in a DETACHED_HEAD state. 251 | if [[ -z "$(git symbolic-ref HEAD 2>/dev/null)" ]]; then 252 | # DETACHED_HEAD state. We want to append the tag name to the commit hash 253 | # and print it. Unfortunately, `vcs_info` blows away the hash when a tag 254 | # exists, so we have to manually retrieve it and clobber the branch 255 | # string. 256 | local revision 257 | revision=$(git rev-list -n 1 --abbrev-commit --abbrev="$DOUBLEUP_VCS_INTERNAL_HASH_LENGTH" HEAD) 258 | hook_com[branch]="$ICON_VCS_DETACHED_BRANCH${revision} ($ICON_VCS_TAG${tag}) " 259 | else 260 | # on both a tag and a branch; print both by appending the tag name. 261 | hook_com[branch]+="($ICON_VCS_TAG${tag}) " 262 | fi 263 | fi 264 | fi 265 | } 266 | 267 | ## Main prompt 268 | setopt prompt_subst 269 | 270 | doubleup_build_first_prompt() { 271 | RETVAL=$? 272 | prompt_status 273 | prompt_background_jobs 274 | prompt_context 275 | prompt_dir 276 | prompt_vcs 277 | prompt_end 278 | } 279 | 280 | doubleup_build_second_prompt() { 281 | prompt_caret 282 | prompt_end 283 | } 284 | 285 | PROMPT='%{%f%b%k%}$(doubleup_build_first_prompt) 286 | %{%f%b%k%}$(doubleup_build_second_prompt) ' 287 | 288 | -------------------------------------------------------------------------------- /iTerm2/hybrid-reduced-contrast.itermcolors: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ansi 0 Color 6 | 7 | Alpha Component 8 | 1 9 | Blue Component 10 | 0.21174812316894531 11 | Color Space 12 | Calibrated 13 | Green Component 14 | 0.17859035730361938 15 | Red Component 16 | 0.13356432318687439 17 | 18 | Ansi 1 Color 19 | 20 | Alpha Component 21 | 1 22 | Blue Component 23 | 0.19966204464435577 24 | Color Space 25 | Calibrated 26 | Green Component 27 | 0.18515878915786743 28 | Red Component 29 | 0.5740046501159668 30 | 31 | Ansi 10 Color 32 | 33 | Alpha Component 34 | 1 35 | Blue Component 36 | 0.33111697435379028 37 | Color Space 38 | Calibrated 39 | Green Component 40 | 0.69728922843933105 41 | Red Component 42 | 0.65277564525604248 43 | 44 | Ansi 11 Color 45 | 46 | Alpha Component 47 | 1 48 | Blue Component 49 | 0.38143736124038696 50 | Color Space 51 | Calibrated 52 | Green Component 53 | 0.73312270641326904 54 | Red Component 55 | 0.92229294776916504 56 | 57 | Ansi 12 Color 58 | 59 | Alpha Component 60 | 1 61 | Blue Component 62 | 0.69104301929473877 63 | Color Space 64 | Calibrated 65 | Green Component 66 | 0.56590473651885986 67 | Red Component 68 | 0.43420237302780151 69 | 70 | Ansi 13 Color 71 | 72 | Alpha Component 73 | 1 74 | Blue Component 75 | 0.67328345775604248 76 | Color Space 77 | Calibrated 78 | Green Component 79 | 0.4993196427822113 80 | Red Component 81 | 0.63457828760147095 82 | 83 | Ansi 14 Color 84 | 85 | Alpha Component 86 | 1 87 | Blue Component 88 | 0.65990132093429565 89 | Color Space 90 | Calibrated 91 | Green Component 92 | 0.69651859998703003 93 | Red Component 94 | 0.47394692897796631 95 | 96 | Ansi 15 Color 97 | 98 | Alpha Component 99 | 1 100 | Blue Component 101 | 0.72799116373062134 102 | Color Space 103 | Calibrated 104 | Green Component 105 | 0.73772746324539185 106 | Red Component 107 | 0.72378778457641602 108 | 109 | Ansi 2 Color 110 | 111 | Alpha Component 112 | 1 113 | Blue Component 114 | 0.19350558519363403 115 | Color Space 116 | Calibrated 117 | Green Component 118 | 0.51718360185623169 119 | Red Component 120 | 0.47679561376571655 121 | 122 | Ansi 3 Color 123 | 124 | Alpha Component 125 | 1 126 | Blue Component 127 | 0.30180639028549194 128 | Color Space 129 | Calibrated 130 | Green Component 131 | 0.50180763006210327 132 | Red Component 133 | 0.83306127786636353 134 | 135 | Ansi 4 Color 136 | 137 | Alpha Component 138 | 1 139 | Blue Component 140 | 0.54611688852310181 141 | Color Space 142 | Calibrated 143 | Green Component 144 | 0.42857366800308228 145 | Red Component 146 | 0.3033672571182251 147 | 148 | Ansi 5 Color 149 | 150 | Alpha Component 151 | 1 152 | Blue Component 153 | 0.48750755190849304 154 | Color Space 155 | Calibrated 156 | Green Component 157 | 0.32038700580596924 158 | Red Component 159 | 0.44386249780654907 160 | 161 | Ansi 6 Color 162 | 163 | Alpha Component 164 | 1 165 | Blue Component 166 | 0.45474734902381897 167 | Color Space 168 | Calibrated 169 | Green Component 170 | 0.48341637849807739 171 | Red Component 172 | 0.30198416113853455 173 | 174 | Ansi 7 Color 175 | 176 | Alpha Component 177 | 1 178 | Blue Component 179 | 0.42651206254959106 180 | Color Space 181 | Calibrated 182 | Green Component 183 | 0.40299254655838013 184 | Red Component 185 | 0.34989523887634277 186 | 187 | Ansi 8 Color 188 | 189 | Alpha Component 190 | 1 191 | Blue Component 192 | 0.27793115377426147 193 | Color Space 194 | Calibrated 195 | Green Component 196 | 0.24591203033924103 197 | Red Component 198 | 0.19979205727577209 199 | 200 | Ansi 9 Color 201 | 202 | Alpha Component 203 | 1 204 | Blue Component 205 | 0.32692211866378784 206 | Color Space 207 | Calibrated 208 | Green Component 209 | 0.31278479099273682 210 | Red Component 211 | 0.74731779098510742 212 | 213 | Background Color 214 | 215 | Alpha Component 216 | 1 217 | Blue Component 218 | 0.14433489739894867 219 | Color Space 220 | Calibrated 221 | Green Component 222 | 0.12928460538387299 223 | Red Component 224 | 0.1039937436580658 225 | 226 | Badge Color 227 | 228 | Alpha Component 229 | 0.5 230 | Blue Component 231 | 0.0 232 | Color Space 233 | Calibrated 234 | Green Component 235 | 0.0 236 | Red Component 237 | 1 238 | 239 | Bold Color 240 | 241 | Alpha Component 242 | 1 243 | Blue Component 244 | 0.72799116373062134 245 | Color Space 246 | Calibrated 247 | Green Component 248 | 0.73772746324539185 249 | Red Component 250 | 0.72378778457641602 251 | 252 | Cursor Color 253 | 254 | Alpha Component 255 | 1 256 | Blue Component 257 | 0.99905514717102051 258 | Color Space 259 | Calibrated 260 | Green Component 261 | 1 262 | Red Component 263 | 0.12926812469959259 264 | 265 | Cursor Guide Color 266 | 267 | Alpha Component 268 | 0.25 269 | Blue Component 270 | 1 271 | Color Space 272 | Calibrated 273 | Green Component 274 | 0.9100000262260437 275 | Red Component 276 | 0.64999997615814209 277 | 278 | Cursor Text Color 279 | 280 | Alpha Component 281 | 1 282 | Blue Component 283 | 0.14433489739894867 284 | Color Space 285 | Calibrated 286 | Green Component 287 | 0.12928460538387299 288 | Red Component 289 | 0.1039937436580658 290 | 291 | Foreground Color 292 | 293 | Alpha Component 294 | 1 295 | Blue Component 296 | 0.72799116373062134 297 | Color Space 298 | Calibrated 299 | Green Component 300 | 0.73772746324539185 301 | Red Component 302 | 0.72378778457641602 303 | 304 | Link Color 305 | 306 | Alpha Component 307 | 1 308 | Blue Component 309 | 0.69104301929473877 310 | Color Space 311 | Calibrated 312 | Green Component 313 | 0.56590473651885986 314 | Red Component 315 | 0.43420237302780151 316 | 317 | Selected Text Color 318 | 319 | Alpha Component 320 | 1 321 | Blue Component 322 | 0.14433489739894867 323 | Color Space 324 | Calibrated 325 | Green Component 326 | 0.12928460538387299 327 | Red Component 328 | 0.1039937436580658 329 | 330 | Selection Color 331 | 332 | Alpha Component 333 | 1 334 | Blue Component 335 | 0.72799116373062134 336 | Color Space 337 | Calibrated 338 | Green Component 339 | 0.73772746324539185 340 | Red Component 341 | 0.72378778457641602 342 | 343 | 344 | 345 | -------------------------------------------------------------------------------- /iTerm2/gruvbox-dark.itermcolors: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ansi 0 Color 6 | 7 | Alpha Component 8 | 1 9 | Blue Component 10 | 0.11759774386882782 11 | Color Space 12 | Calibrated 13 | Green Component 14 | 0.11759573966264725 15 | Red Component 16 | 0.11759927868843079 17 | 18 | Ansi 1 Color 19 | 20 | Alpha Component 21 | 1 22 | Blue Component 23 | 0.090684391558170319 24 | Color Space 25 | Calibrated 26 | Green Component 27 | 0.05879192054271698 28 | Red Component 29 | 0.74529051780700684 30 | 31 | Ansi 10 Color 32 | 33 | Alpha Component 34 | 1 35 | Blue Component 36 | 0.11661489307880402 37 | Color Space 38 | Calibrated 39 | Green Component 40 | 0.69061970710754395 41 | Red Component 42 | 0.66574931144714355 43 | 44 | Ansi 11 Color 45 | 46 | Alpha Component 47 | 1 48 | Blue Component 49 | 0.1444794088602066 50 | Color Space 51 | Calibrated 52 | Green Component 53 | 0.6926688551902771 54 | Red Component 55 | 0.96949708461761475 56 | 57 | Ansi 12 Color 58 | 59 | Alpha Component 60 | 1 61 | Blue Component 62 | 0.52537077665328979 63 | Color Space 64 | Calibrated 65 | Green Component 66 | 0.58534377813339233 67 | Red Component 68 | 0.44289660453796387 69 | 70 | Ansi 13 Color 71 | 72 | Alpha Component 73 | 1 74 | Blue Component 75 | 0.53848373889923096 76 | Color Space 77 | Calibrated 78 | Green Component 79 | 0.43883562088012695 80 | Red Component 81 | 0.78096956014633179 82 | 83 | Ansi 14 Color 84 | 85 | Alpha Component 86 | 1 87 | Blue Component 88 | 0.41142863035202026 89 | Color Space 90 | Calibrated 91 | Green Component 92 | 0.71257460117340088 93 | Red Component 94 | 0.49072420597076416 95 | 96 | Ansi 15 Color 97 | 98 | Alpha Component 99 | 1 100 | Blue Component 101 | 0.63873869180679321 102 | Color Space 103 | Calibrated 104 | Green Component 105 | 0.82989895343780518 106 | Red Component 107 | 0.90061241388320923 108 | 109 | Ansi 2 Color 110 | 111 | Alpha Component 112 | 1 113 | Blue Component 114 | 0.082894742488861084 115 | Color Space 116 | Calibrated 117 | Green Component 118 | 0.53061914443969727 119 | Red Component 120 | 0.52591603994369507 121 | 122 | Ansi 3 Color 123 | 124 | Alpha Component 125 | 1 126 | Blue Component 127 | 0.10328958928585052 128 | Color Space 129 | Calibrated 130 | Green Component 131 | 0.53254079818725586 132 | Red Component 133 | 0.80126690864562988 134 | 135 | Ansi 4 Color 136 | 137 | Alpha Component 138 | 1 139 | Blue Component 140 | 0.4586675763130188 141 | Color Space 142 | Calibrated 143 | Green Component 144 | 0.45008346438407898 145 | Red Component 146 | 0.21694663166999817 147 | 148 | Ansi 5 Color 149 | 150 | Alpha Component 151 | 1 152 | Blue Component 153 | 0.45103743672370911 154 | Color Space 155 | Calibrated 156 | Green Component 157 | 0.29604318737983704 158 | Red Component 159 | 0.62685638666152954 160 | 161 | Ansi 6 Color 162 | 163 | Alpha Component 164 | 1 165 | Blue Component 166 | 0.34128850698471069 167 | Color Space 168 | Calibrated 169 | Green Component 170 | 0.55607825517654419 171 | Red Component 172 | 0.34054014086723328 173 | 174 | Ansi 7 Color 175 | 176 | Alpha Component 177 | 1 178 | Blue Component 179 | 0.44320183992385864 180 | Color Space 181 | Calibrated 182 | Green Component 183 | 0.5310559868812561 184 | Red Component 185 | 0.5926094651222229 186 | 187 | Ansi 8 Color 188 | 189 | Alpha Component 190 | 1 191 | Blue Component 192 | 0.37962067127227783 193 | Color Space 194 | Calibrated 195 | Green Component 196 | 0.43934443593025208 197 | Red Component 198 | 0.49889594316482544 199 | 200 | Ansi 9 Color 201 | 202 | Alpha Component 203 | 1 204 | Blue Component 205 | 0.15763583779335022 206 | Color Space 207 | Calibrated 208 | Green Component 209 | 0.18880486488342285 210 | Red Component 211 | 0.96744710206985474 212 | 213 | Background Color 214 | 215 | Alpha Component 216 | 1 217 | Blue Component 218 | 0.11759774386882782 219 | Color Space 220 | Calibrated 221 | Green Component 222 | 0.11759573966264725 223 | Red Component 224 | 0.11759927868843079 225 | 226 | Badge Color 227 | 228 | Alpha Component 229 | 0.5 230 | Blue Component 231 | 0.056549370288848877 232 | Color Space 233 | Calibrated 234 | Green Component 235 | 0.28100395202636719 236 | Red Component 237 | 0.7928692102432251 238 | 239 | Bold Color 240 | 241 | Alpha Component 242 | 1 243 | Blue Component 244 | 1 245 | Color Space 246 | Calibrated 247 | Green Component 248 | 1 249 | Red Component 250 | 1 251 | 252 | Cursor Color 253 | 254 | Alpha Component 255 | 1 256 | Blue Component 257 | 0.63873869180679321 258 | Color Space 259 | Calibrated 260 | Green Component 261 | 0.82989895343780518 262 | Red Component 263 | 0.90061241388320923 264 | 265 | Cursor Guide Color 266 | 267 | Alpha Component 268 | 1 269 | Blue Component 270 | 0.15993706881999969 271 | Color Space 272 | Calibrated 273 | Green Component 274 | 0.16613791882991791 275 | Red Component 276 | 0.17867125570774078 277 | 278 | Cursor Text Color 279 | 280 | Alpha Component 281 | 1 282 | Blue Component 283 | 0.11759774386882782 284 | Color Space 285 | Calibrated 286 | Green Component 287 | 0.11759573966264725 288 | Red Component 289 | 0.11759927868843079 290 | 291 | Foreground Color 292 | 293 | Alpha Component 294 | 1 295 | Blue Component 296 | 0.63873869180679321 297 | Color Space 298 | Calibrated 299 | Green Component 300 | 0.82989895343780518 301 | Red Component 302 | 0.90061241388320923 303 | 304 | Link Color 305 | 306 | Alpha Component 307 | 1 308 | Blue Component 309 | 0.056549370288848877 310 | Color Space 311 | Calibrated 312 | Green Component 313 | 0.28100395202636719 314 | Red Component 315 | 0.7928692102432251 316 | 317 | Selected Text Color 318 | 319 | Alpha Component 320 | 1 321 | Blue Component 322 | 0.26041668653488159 323 | Color Space 324 | Calibrated 325 | Green Component 326 | 0.2891082763671875 327 | Red Component 328 | 0.32501408457756042 329 | 330 | Selection Color 331 | 332 | Alpha Component 333 | 1 334 | Blue Component 335 | 0.63873869180679321 336 | Color Space 337 | Calibrated 338 | Green Component 339 | 0.82989895343780518 340 | Red Component 341 | 0.90061241388320923 342 | 343 | 344 | 345 | -------------------------------------------------------------------------------- /nvim/dict/javascript.dict: -------------------------------------------------------------------------------- 1 | Array 2 | Boolean 3 | Components 4 | DOM 5 | DOMMouseScroll 6 | Date 7 | Error 8 | EvalError 9 | Function 10 | Image 11 | Infinity 12 | LN10 13 | LN2 14 | LOG10E 15 | LOG2E 16 | MAX_VALUE 17 | MIN_VALUE 18 | Math 19 | NEGATIVE_INFINITY 20 | NaN 21 | Number 22 | Object 23 | PI 24 | POSITIVE_INFINITY 25 | RangeError 26 | ReferenceError 27 | RegExp 28 | SQRT1_2 29 | SQRT2 30 | String 31 | SyntaxError 32 | TypeError 33 | URIError 34 | URL 35 | UTC 36 | __defineGetter__ 37 | __defineSetter__ 38 | __lookupGetter__ 39 | __lookupSetter__ 40 | _content 41 | abs 42 | acceptCharset 43 | acos 44 | action 45 | addEventListener 46 | addRange 47 | alert 48 | align 49 | alinkColor 50 | all 51 | alt 52 | altKey 53 | anchor 54 | anchorNode 55 | anchorOffset 56 | anchors 57 | appCodeName 58 | appMinorVersion 59 | appName 60 | appVersion 61 | appendChild 62 | applets 63 | apply 64 | arguments 65 | arity 66 | asin 67 | assign 68 | atan 69 | atan2 70 | atob 71 | attributes 72 | availHeight 73 | availLeft 74 | availTop 75 | availWidth 76 | back 77 | backgroundColor 78 | bgColor 79 | bgColorDeprecated 80 | big 81 | blink 82 | blur 83 | body 84 | bold 85 | border 86 | borderBottom 87 | borderBottomColor 88 | borderBottomStyle 89 | borderBottomWidth 90 | borderColor 91 | borderLeft 92 | borderLeftColor 93 | borderLeftStyle 94 | borderLeftWidth 95 | borderRight 96 | borderRightColor 97 | borderRightStyle 98 | borderRightWidth 99 | borderStyle 100 | borderTop 101 | borderTopColor 102 | borderTopStyle 103 | borderTopWidth 104 | borderWidth 105 | break 106 | browserLanguage 107 | btoa 108 | bubbles 109 | bufferDepth 110 | button 111 | call 112 | caller 113 | cancelBubble 114 | cancelable 115 | caption 116 | captureEvents 117 | case 118 | catch 119 | ceil 120 | cellPadding 121 | cellSpacing 122 | charAt 123 | charCode 124 | charCodeAt 125 | characterSet 126 | charset 127 | childNodes 128 | className 129 | clear 130 | clearInterval 131 | clearTimeout 132 | click 133 | clientHeight 134 | clientLeft 135 | clientTop 136 | clientWidth 137 | clientX 138 | clientY 139 | cloneNode 140 | close 141 | closed 142 | collapse 143 | collapseToEnd 144 | collapseToStart 145 | color 146 | colorDepth 147 | compatMode 148 | complete 149 | concat 150 | confirm 151 | const 152 | constructor 153 | containsNode 154 | content 155 | continue 156 | controllers 157 | cookie 158 | cookieEnabled 159 | cos 160 | cpuClass 161 | createAttribute 162 | createCaption 163 | createDocumentFragment 164 | createElement 165 | createElementNS 166 | createEvent 167 | createNSResolver 168 | createRange 169 | createTFoot 170 | createTHead 171 | createTextNode 172 | crypto 173 | ctrlKey 174 | current 175 | currentTarget 176 | decodeURI 177 | decodeURIComponent 178 | default 179 | defaultCharset 180 | defaultStatus 181 | defaultView 182 | delete 183 | deleteCaption 184 | deleteFromDocument 185 | deleteRow 186 | deleteTFoot 187 | deleteTHead 188 | description 189 | designMode 190 | detail 191 | deviceXDPI 192 | deviceYDPI 193 | dir 194 | directories 195 | dispatchEvent 196 | display 197 | do 198 | doctype 199 | document 200 | documentElement 201 | domain 202 | dump 203 | elements 204 | else 205 | embeds 206 | encodeURI 207 | encodeURIComponent 208 | encoding 209 | enctype 210 | escape 211 | eval 212 | evaluate 213 | event 214 | eventPhase 215 | every 216 | exec 217 | execCommand 218 | exp 219 | explicitOriginalTarget 220 | export 221 | extend 222 | fgColor 223 | fileName 224 | filter 225 | finally 226 | find 227 | firstChild 228 | fixed 229 | floor 230 | focus 231 | focusNode 232 | focusOffset 233 | font 234 | fontFamily 235 | fontSize 236 | fontSmoothingEnabled 237 | fontStretch 238 | fontStyle 239 | fontVariant 240 | fontWeight 241 | fontcolor 242 | fontsize 243 | for 244 | forEach 245 | forms 246 | forward 247 | frame 248 | frameElement 249 | frames 250 | fromCharCode 251 | fromElement 252 | function 253 | galleryImg 254 | getAttention 255 | getAttribute 256 | getAttributeNS 257 | getAttributeNode 258 | getAttributeNodeNS 259 | getComputedStyle 260 | getDate 261 | getDay 262 | getElementById 263 | getElementsByName 264 | getElementsByTagName 265 | getElementsByTagNameNS 266 | getFullYear 267 | getHours 268 | getMilliseconds 269 | getMinutes 270 | getMonth 271 | getRangeAt 272 | getSeconds 273 | getSelection 274 | getTime 275 | getTimezoneOffset 276 | getUTCDate 277 | getUTCDay 278 | getUTCFullYear 279 | getUTCHours 280 | getUTCMilliseconds 281 | getUTCMinutes 282 | getUTCMonth 283 | getUTCSeconds 284 | getYear 285 | global 286 | go 287 | hasAttribute 288 | hasAttributeNS 289 | hasAttributes 290 | hasChildNodes 291 | hasOwnProperty 292 | hash 293 | height 294 | history 295 | home 296 | host 297 | hostname 298 | href 299 | hspace 300 | id 301 | if 302 | ignoreCase 303 | images 304 | implementation 305 | import 306 | importNode 307 | in 308 | index 309 | indexOf 310 | initEvent 311 | initKeyEvent 312 | initMouseEvent 313 | initUIEvent 314 | innerHTML 315 | innerHeight 316 | innerWidth 317 | input 318 | insertBefore 319 | insertRow 320 | instanceof 321 | isChar 322 | isCollapsed 323 | isFinite 324 | isMap 325 | isNaN 326 | isPrototypeOf 327 | italics 328 | item 329 | javaEnabled 330 | join 331 | keyCode 332 | label 333 | lang 334 | language 335 | lastChild 336 | lastIndex 337 | lastIndexOf 338 | lastModified 339 | layerX 340 | layerY 341 | left 342 | length 343 | lineNumber 344 | link 345 | linkColor 346 | links 347 | loadOverlay 348 | localName 349 | location 350 | locationbar 351 | log 352 | logicalXDPI 353 | logicalYDPI 354 | lowsrc 355 | map 356 | match 357 | max 358 | menubar 359 | message 360 | metaKey 361 | method 362 | mimeTypes 363 | min 364 | moveBy 365 | moveTo 366 | multiline 367 | name 368 | nameProp 369 | namespaceURI 370 | navigate 371 | navigator 372 | new 373 | nextSibling 374 | nodeName 375 | nodeType 376 | nodeValue 377 | normalize 378 | now 379 | number 380 | offsetHeight 381 | offsetLeft 382 | offsetParent 383 | offsetTop 384 | offsetWidth 385 | offsetX 386 | offsetY 387 | onAbort 388 | onAfterPrint 389 | onBeforeCopy 390 | onBeforeCut 391 | onBeforePaste 392 | onBeforePrint 393 | onBeforeUnload 394 | onBlur 395 | onChange 396 | onClick 397 | onContextMenu 398 | onCopy 399 | onCut 400 | onDblClick 401 | onDrag 402 | onDragEnd 403 | onDragEnter 404 | onDragLeave 405 | onDragOver 406 | onDragStart 407 | onDrop 408 | onError 409 | onFinish 410 | onFocus 411 | onFocusIn 412 | onFocusOut 413 | onHelp 414 | onKeyDown 415 | onKeyPress 416 | onKeyUp 417 | onLine 418 | onLoad 419 | onMouseDown 420 | onMouseEnter 421 | onMouseLeave 422 | onMouseMove 423 | onMouseOut 424 | onMouseOver 425 | onMouseUp 426 | onMouseWheel 427 | onMove 428 | onMoveEnd 429 | onMoveStart 430 | onPaste 431 | onReadyStateChange 432 | onReset 433 | onResize 434 | onResizeEnd 435 | onResizeStart 436 | onScroll 437 | onSelect 438 | onSelectStart 439 | onSelectionChange 440 | onStart 441 | onStop 442 | onSubmit 443 | onUnload 444 | onabort 445 | onblur 446 | onchange 447 | onclick 448 | onclose 449 | ondblclick 450 | ondragdrop 451 | onerror 452 | onfocus 453 | onkeydown 454 | onkeypress 455 | onkeyup 456 | onload 457 | onmousedown 458 | onmousemove 459 | onmouseout 460 | onmouseover 461 | onmouseup 462 | onpaint 463 | onreset 464 | onresize 465 | onscroll 466 | onselect 467 | onsubmit 468 | onunload 469 | open 470 | openDialog 471 | opener 472 | opera 473 | opsProfile 474 | originalTarget 475 | oscpu 476 | outerHeight 477 | outerWidth 478 | ownerDocument 479 | pageX 480 | pageXOffset 481 | pageY 482 | pageYOffset 483 | parent 484 | parentNode 485 | parse 486 | parseFloat 487 | parseInt 488 | pathname 489 | personalbar 490 | pixelDepth 491 | pkcs11 492 | platform 493 | plugins 494 | pop 495 | port 496 | pow 497 | preference 498 | prefix 499 | preventBubble 500 | preventCapture 501 | preventDefault 502 | previousSibling 503 | print 504 | product 505 | productSub 506 | prompt 507 | propertyIsEnumerable 508 | propertyName 509 | protocol 510 | prototype 511 | push 512 | queryCommandEnabled 513 | queryCommandIndeterm 514 | queryCommandState 515 | queryCommandValue 516 | random 517 | rangeCount 518 | reduce 519 | reduceRight 520 | referrer 521 | relatedTarget 522 | releaseEvents 523 | reload 524 | removeAllRanges 525 | removeAttribute 526 | removeAttributeNS 527 | removeAttributeNode 528 | removeChild 529 | removeEventListener 530 | removeRange 531 | replace 532 | replaceChild 533 | reset 534 | resizeBy 535 | resizeTo 536 | return 537 | reverse 538 | round 539 | rows 540 | rules 541 | screen 542 | screenLeft 543 | screenTop 544 | screenX 545 | screenY 546 | scroll 547 | scrollBy 548 | scrollByLines 549 | scrollByPages 550 | scrollHeight 551 | scrollIntoView 552 | scrollLeft 553 | scrollMaxX 554 | scrollMaxY 555 | scrollTo 556 | scrollTop 557 | scrollWidth 558 | scrollX 559 | scrollY 560 | scrollbars 561 | search 562 | securityPolicy 563 | selectAllChildren 564 | selectionLanguageChange 565 | self 566 | setAttribute 567 | setAttributeNS 568 | setAttributeNode 569 | setAttributeNodeNS 570 | setDate 571 | setFullYear 572 | setHours 573 | setInterval 574 | setMilliseconds 575 | setMinutes 576 | setMonth 577 | setSeconds 578 | setTime 579 | setTimeout 580 | setUTCDate 581 | setUTCFullYear 582 | setUTCHours 583 | setUTCMilliseconds 584 | setUTCMinutes 585 | setUTCMonth 586 | setUTCSeconds 587 | setYear 588 | shift 589 | shiftKey 590 | sidebar 591 | sin 592 | sizeToContent 593 | slice 594 | small 595 | some 596 | sort 597 | source 598 | sourceIndex 599 | splice 600 | split 601 | sqrt 602 | src 603 | srcElement 604 | stack 605 | status 606 | statusbar 607 | stop 608 | stopPropagation 609 | strike 610 | style 611 | styleSheets 612 | sub 613 | submit 614 | substr 615 | substring 616 | summary 617 | sup 618 | supports 619 | switch 620 | systemLanguage 621 | tBodies 622 | tFoot 623 | tHead 624 | tabIndex 625 | tagName 626 | taintEnabled 627 | tan 628 | target 629 | test 630 | textContent 631 | this 632 | throw 633 | timeStamp 634 | title 635 | toDateString 636 | toElement 637 | toExponential 638 | toFixed 639 | toGMTString 640 | toLocaleDateString 641 | toLocaleLowerCase 642 | toLocaleString 643 | toLocaleTimeString 644 | toLocaleUpperCase 645 | toLowerCase 646 | toPrecision 647 | toSource 648 | toString 649 | toTimeString 650 | toUTCString 651 | toUpperCase 652 | toolbar 653 | top 654 | try 655 | type 656 | typeof 657 | undefined 658 | unescape 659 | uniqueID 660 | unshift 661 | unwatch 662 | updateCommands 663 | updateInterval 664 | useMap 665 | userAgent 666 | userLanguage 667 | userProfile 668 | valueOf 669 | var 670 | vendor 671 | vendorSub 672 | view 673 | vlinkColor 674 | void 675 | vspace 676 | watch 677 | wheelDelta 678 | which 679 | while 680 | width 681 | window 682 | with 683 | write 684 | writeln 685 | --------------------------------------------------------------------------------