{"id":13904416,"url":"https://github.com/vimhack/dotfiles","last_synced_at":"2025-07-18T02:31:15.222Z","repository":{"id":44437102,"uuid":"363424707","full_name":"vimhack/dotfiles","owner":"vimhack","description":"🍀 Vim/Neovim + Tmux + Zsh + Alacritty = Build your own fantastic development environment","archived":false,"fork":false,"pushed_at":"2024-11-19T03:26:01.000Z","size":1040,"stargazers_count":88,"open_issues_count":0,"forks_count":14,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-19T04:25:49.620Z","etag":null,"topics":["alacritty","colorschemes","dotfile","dotfiles","editor","fonts","hhkb","ide","linux","macos","neovim","nvim","ranger","terminal","tmux","tmux-conf","vim","vimrc","zsh","zshrc"],"latest_commit_sha":null,"homepage":"","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vimhack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-01T14:05:11.000Z","updated_at":"2024-11-19T03:26:04.000Z","dependencies_parsed_at":"2024-02-25T03:33:53.467Z","dependency_job_id":"8968b71a-cf6d-43dd-80e5-b68a07d982f6","html_url":"https://github.com/vimhack/dotfiles","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vimhack%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vimhack%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vimhack%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vimhack%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vimhack","download_url":"https://codeload.github.com/vimhack/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226329204,"owners_count":17607763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alacritty","colorschemes","dotfile","dotfiles","editor","fonts","hhkb","ide","linux","macos","neovim","nvim","ranger","terminal","tmux","tmux-conf","vim","vimrc","zsh","zshrc"],"created_at":"2024-08-06T23:00:54.441Z","updated_at":"2024-11-25T12:31:28.022Z","avatar_url":"https://github.com/vimhack.png","language":"Vim Script","readme":"# Vimhack/dotfiles 🍀\n\n![Page Views](https://views.whatilearened.today/views/github/vimhack/dotfiles.svg)\n[![LICENSE](https://img.shields.io/github/license/vimhack/dotfiles)](LICENSE)\n\nVimhack/dotfiles is a Fantastic Development Environment,\nbuilt with [Vim][1]/[Neovim][2], [Tmux][3], [Zsh][4], [Alacritty][5]\nand many other related excellent open source softwares.\n\nThe supported platforms currently are macOS and Linux.\n\n![show](https://user-images.githubusercontent.com/6139938/138552166-102fe987-eb3a-4b6d-a872-1445bdb3f878.gif)\n\n\u003e For efficient and convenient use of shortcuts,\n\u003e I strongly recommend using [HHKB][6] keyboard,\n\u003e or a keyboard capable of changing the key position and change \u003ckbd\u003eCaps\u003c/kbd\u003e to \u003ckbd\u003eCtrl\u003c/kbd\u003e.\n\u003e \u003cbr\u003e\n\u003e If you use MacBook, you can use [Karabiner-Elements][7]\n\u003e to modify the \u003ckbd\u003eCaps\u003c/kbd\u003e to left \u003ckbd\u003eCtrl\u003c/kbd\u003e easily.\n\n[1]: https://github.com/vim/vim\n[2]: https://github.com/neovim/neovim\n[3]: https://github.com/tmux/tmux\n[4]: https://ohmyz.sh/\n[5]: https://github.com/alacritty/alacritty\n[6]: https://happyhackingkb.com/\n[7]: https://github.com/pqrs-org/Karabiner-Elements\n\n## Contents\n\n- [Requirements Installation](#-requirements-installation-)\n- [Installation](#-Installation-)\n- [Colorscheme/Theme](#-ColorschemeTheme-)\n  - [In Terminal Command Line](#In-Terminal-Command-Line-)\n    - [Change colorscheme of Vim/Neovim and Alacritty](#Change-colorscheme-of-VimNeovim-and-Alacritty-)\n    - [Change font of Alacritty](#Change-font-of-Alacritty-)\n    - [Change font size of Alacritty](#Change-font-size-of-Alacritty-)\n    - [Change opacity of Alacritty](#Change-opacity-of-Alacritty-)\n    - [Toggle Vim/Neovim background transparent](#Toggle-VimNeovim-background-transparent-)\n    - [Toggle Alacritty background transparent](#Toggle-Alacritty-background-transparent-)\n    - [Print 256 colors](#Print-256-colors-)\n    - [Print Icons](#Print-Icons-)\n  - [With Keyboard Shortcuts/Hotkey](#With-Keyboard-shortcutsHotkey-)\n    - [Change colorscheme of Vim/Neovim and Alacritty randomly](#Change-colorscheme-of-VimNeovim-and-Alacritty-randomly-)\n    - [Change font of Alacritty randomly](#Change-font-of-Alacritty-randomly-)\n    - [Toggle Alacritty background transparent](#Toggle-Alacritty-background-transparent-)\n    - [Increase Alacritty background transparent](#Increase-Alacritty-background-transparent-)\n    - [Decrease Alacritty background transparent](#Decrease-Alacritty-background-transparent-)\n    - [Toggle Tmux status line](#Toggle-Tmux-status-line-)\n    - [Toggle Tmux pane-border-status(pane name)](#Toggle-Tmux-pane-border-statuspane-name-)\n  - [In Vim Normal Mode](#In-Vim-Normal-Mode-)\n    - [Toggle Vim/Neovim background color(light or dark)](#Toggle-VimNeovim-background-colorlight-or-dark-)\n    - [Toggle Vim/Neovim background transparent](#Toggle-VimNeovim-background-transparent-)\n- [Alacritty](#-Alacritty-)\n  - [Keyboard Shortcuts](#Keyboard-Shortcuts-)\n- [Zsh(OhMyZsh)](#-ZshOhMyZsh-)\n  - [Reload ~/.zshrc](#Reload-zshrc-)\n  - [fzf](#fzf-)\n  - [Custom Commands](#Custom-Commands-)\n    - [Adjust the system volume](#Adjust-the-system-volume-)\n    - [Batch ssh remote hosts in multi-tmux-panes](#Batch-ssh-remote-hosts-in-multi-tmux-panes-)\n  - [OhMyZsh Plugins](#OhMyZsh-Plugins-)\n    - [vi-mode](#vi-mode-)\n    - [git](#git-)\n    - [gitignore](#gitignore-)\n    - [web-search](#web-search-)\n    - [colorize](#colorize-)\n    - [sudo](#sudo-)\n    - [copyfile](#copyfile-)\n    - [copydir](#copydir-)\n    - [aliases](#aliases-)\n- [Tmux](#-Tmux-)\n  - [Prefix Key](#Prefix-key-)\n  - [Key Bindings](#Key-bindings-)\n    - [Common](#Common-)\n    - [Session](#Session-)\n    - [Window](#Window-)\n    - [Pane](#Pane-)\n    - [Copy Mode](#Copy-Mode-)\n    - [Sync Mode](#Sync-Mode-)\n  - [Tmux Plugins](#Tmux-Plugins-)\n    - [tmux-plugins/tpm](#tmux-pluginstpm-)\n    - [tmux-plugins/tmux-prefix-highlight](#tmux-pluginstmux-prefix-highlight-)\n    - [tmux-plugins/tmux-resurrect](#tmux-pluginstmux-resurrect-)\n    - [tmux-plugins/tmux-continuum](#tmux-pluginstmux-continuum-)\n    - [tmux-plugins/tmux-copycat](#tmux-pluginstmux-copycat-)\n    - [tmux-plugins/tmux-yank](#tmux-pluginstmux-yank-)\n    - [tmux-plugins/tmux-open](#tmux-pluginstmux-open-)\n    - [ki-chi/tmux-inputmethod](#ki-chitmux-inputmethod-)\n    - [vimhack/tmux-show-colorscheme](#vimhacktmux-show-colorscheme-)\n    - [vimhack/tmux-audio-volume](#vimhacktmux-audio-volume-)\n    - [vimhack/tmux-battery](#vimhacktmux-battery-)\n    - [vimhack/tmux-cpu](#vimhacktmux-cpu-)\n    - [vimhack/tmux-onlinestatus](#vimhacktmux-onlinestatus-)\n    - [vimhack/tmux-weather](#vimhacktmux-weather-)\n    - [vimhack/tmux-moon-phase](#vimhacktmux-moon-phase-)\n  - [FQA](#FQA-)\n- [Vim/Neovim](#-VimNeovim-)\n  - [Leader Key](#Leader-Key-)\n  - [Custom Key Bindings](#Custom-key-bindings-)\n    - [Tabs Management](#Tabs-management-)\n    - [Cursor Movement](#Cursor-movement-)\n    - [Text Edit](#Text-edit-)\n    - [Others](#Others-)\n  - [Custom Snippets](#Custom-Snippets-)\n    - [Markdown](#Markdown-)\n  - [Put Your Own Customization](#Put-Your-Own-Customization-)\n    - [Add More Plugins](#Add-More-Plugins-)\n    - [Add More Configurations](#Add-More-Configurations-)\n    - [Disable Default Plugins](#Disable-Default-Plugins-)\n  - [Vim/Neovim Plugins](#VimNeovim-Plugins-)\n    - [Code AutoCompletion](#Code-AutoCompletion-)\n      - [neoclide/coc.nvim](#neoclidecoc.nvim-)\n      - [SirVer/ultisnips](#SirVerultisnips-)\n      - [honza/vim-snippets](#honzavim-snippets-)\n      - [Shougo/neco-vim](#Shougoneco-vim-)\n      - [neoclide/coc-neco](#neoclidecoc-neco-)\n      - [Raimondi/delimitMate](#RaimondidelimitMate-)\n    - [Code Static Check](#Code-Static-Check-)\n      - [dense-analysis/ale](#dense-analysisale-)\n    - [Code Debug](#Code-Debug-)\n      - [puremourning/vimspector](#puremourningvimspector-)\n    - [User Interface](#User-Interface-)\n      - [mhinz/vim-startify](#mhinzvim-startify-)\n      - [voldikss/vim-floaterm](#voldikssvim-floaterm-)\n      - [majutsushi/tagbar](#majutsushitagbar-)\n      - [vimhack/lightline.vim](#vimhacklightline.vim-)\n      - [maximbaz/lightline-ale](#maximbazlightline-ale-)\n      - [luochen1990/rainbow](#luochen1990rainbow-)\n      - [Yggdroot/indentLine](#YggdrootindentLine-)\n      - [machakann/vim-highlightedyank](#machakannvim-highlightedyank-)\n      - [unblevable/quick-scope](#unblevablequick-scope-)\n      - [wellle/context.vim](#welllecontext.vim-)\n      - [uguu-org/vim-matrix-screensaver](#uguu-orgvim-matrix-screensaver-)\n      - [rrethy/vim-hexokinase](#rrethyvim-hexokinase-)\n      - [ryanoasis/vim-devicons](#ryanoasisvim-devicons-)\n      - [tiagofumo/vim-nerdtree-syntax-highlight](#tiagofumovim-nerdtree-syntax-highlight-)\n    - [Programming Languages](#Programming-Languages-)\n      - [Go](#Go-)\n        - [fatih/vim-go](#fatihvim-go-)\n        - [buoto/gotests-vim](#buotogotests-vim-)\n      - [Rust](#Rust-)\n        - [rust-lang/rust.vim](#rust-langrust.vim-)\n        - [mhinz/vim-crates](#mhinzvim-crates-)\n      - [OpenResty](#OpenResty-)\n        - [spacewander/openresty-vim](#spacewanderopenresty-vim-)\n      - [JS/CSS/Vue/HTML/JSON](#JSCSSVueHTMLJSON-)\n        - [mattn/emmet-vim](#mattnemmet-vim-)\n        - [neoclide/jsonc.vim](#neoclidejsonc.vim-)\n      - [Markdown](#Markdown-)\n        - [instant-markdown/vim-instant-markdown](#instant-markdownvim-instant-markdown-)\n        - [dhruvasagar/vim-table-mode](#dhruvasagarvim-table-mode-)\n      - [Toml](#Toml-)\n        - [cespare/vim-toml](#cesparevim-toml-)\n      - [Others](#Others-)\n        - [sheerun/vim-polyglot](#sheerunvim-polyglot-)\n    - [File Navigation](#File-Navigation-)\n      - [preservim/nerdtree](#preservimnerdtree-)\n      - [Yggdroot/LeaderF](#YggdrootLeaderF-)\n      - [francoiscabrol/ranger.vim](#francoiscabrolranger.vim-)\n    - [Text Editing](#Text-Editing-)\n      - [mg979/vim-visual-multi](#mg979vim-visual-multi-)\n      - [tpope/vim-commentary](#tpopevim-commentary-)\n      - [tpope/vim-surround](#tpopevim-surround-)\n      - [matze/vim-move](#matzevim-move-)\n      - [AndrewRadev/splitjoin.vim](#AndrewRadevsplitjoin.vim-)\n    - [Cursor Movement](#Cursor-movement-)\n      - [easymotion/vim-easymotion](#easymotionvim-easymotion-)\n    - [Git Related](#Git-related-)\n      - [Xuyuanp/nerdtree-git-plugin](#Xuyuanpnerdtree-git-plugin-)\n      - [tpope/vim-fugitive](#tpopevim-fugitive-)\n      - [junegunn/gv.vim](#junegunngv.vim-)\n      - [rhysd/git-messenger.vim](#rhysdgit-messenger.vim-)\n    - [Colorschemes](#Colorschemes-)\n      - [dracula/vim](#draculavim-)\n      - [morhetz/gruvbox](#morhetzgruvbox-)\n      - [vimhack/molokai](#vimhackmolokai-)\n      - [sickill/vim-monokai](#sickillvim-monokai-)\n      - [lifepillar/vim-solarized8](#lifepillarvim-solarized8-)\n      - [rakr/vim-one](#rakrvim-one-)\n      - [sonph/onehalf](#sonphonehalf-)\n      - [cocopon/iceberg.vim](#cocoponiceberg.vim-)\n      - [nanotech/jellybeans.vim](#nanotechjellybeans.vim-)\n      - [arcticicestudio/nord-vim](#arcticicestudionord-vim-)\n      - [NLKNguyen/papercolor-theme](#NLKNguyenpapercolor-theme-)\n      - [ayu-theme/ayu-vim](#ayu-themeayu-vim-)\n      - [Rigellute/rigel](#Rigelluterigel-)\n      - [preservim/vim-colors-pencil](#preservimvim-colors-pencil-)\n      - [cormacrelf/vim-colors-github](#cormacrelfvim-colors-github-)\n      - [srcery-colors/srcery-vim](#srcery-colorssrcery-vim-)\n      - [rhysd/vim-color-spring-night](#rhysdvim-color-spring-night-)\n      - [google/vim-colorscheme-primary](#googlevim-colorscheme-primary-)\n      - [embark-theme/vim](#embark-themevim-)\n      - [chriskempson/base16-vim](#chriskempsonbase16-vim-)\n      - [pbrisbin/vim-colors-off](#pbrisbinvim-colors-off-)\n    - [Others](#Others-)\n      - [vim-scripts/SyntaxAttr.vim](#vim-scriptsSyntaxAttr.vim-)\n      - [itchyny/calendar.vim](#itchynycalendar.vim-)\n      - [tmux-plugins/vim-tmux](#tmux-pluginsvim-tmux-)\n      - [takac/vim-hardtime](#takacvim-hardtime-)\n      - [vim/killersheep](#vimkillersheep-)\n      - [skywind3000/asynctasks.vim](#skywind3000asynctasks.vim-)\n      - [skywind3000/asyncrun.vim](#skywind3000asyncrun.vim-)\n- [License](#%EF%B8%8F-license-)\n\n## 📦 Requirements Installation [↟](#Contents)\n\nSee [here](REQUIREMENTS.md).\n\n## 📀 Installation [↟](#Contents)\n\nTo install, run the following from your terminal:\n(please backup your existing dotfiles first)\n\n```sh\n# Make sure the target directory is '~/.dotfiles'.\ngit clone --depth=1 https://github.com/vimhack/dotfiles.git ~/.dotfiles\n\n# Zsh\nln -sf ~/.dotfiles/zsh/zshrc ~/.zshrc\n\n# Vim\nmkdir ~/.vim\nln -sf ~/.dotfiles/vim/vimrc ~/.vimrc\nln -sf ~/.dotfiles/vim/coc-settings.json ~/.vim/coc-settings.json\nln -sf ~/.dotfiles/vim/markdownlint.yaml ~/.markdownlint.yaml\n# I suggest regularly updating Vim plugins and Coc plugins in Vim's command-line mode.\n# Update vim plugins\n:PlugUpdate\n# Update coc plugins\n:CocUpdate\n\n# Neovim\nmkdir -p ~/.config/nvim \u0026\u0026 ln -sf ~/.dotfiles/vim/vimrc ~/.config/nvim/init.vim\nln -sf ~/.dotfiles/vim/coc-settings.json ~/.config/nvim/coc-settings.json\n\n# Tmux\nln -sf ~/.dotfiles/tmux/tmux.conf ~/.tmux.conf\n# Add your own configurations in this file.\ntouch ~/.tmux.local.conf\n\n# Alacritty\nmkdir -p ~/.config/alacritty\n\\cp ~/.dotfiles/alacritty/alacritty.yml ~/.config/alacritty/alacritty.yml\n\\cp ~/.dotfiles/alacritty/alacritty_private.yml ~/.alacritty_private.yml\n```\n\nThen open or reopen the alacritty,\nif it is the first time to run, you may need to wait a while,\nbecause the tmux plugins are automatically installed in the background.\n\nIn addition, when vim or nvim is started,\nif there are vim plugins that have been configured but not yet installed,\nthey will be installed automatically.\n\nTo update:\n\n```sh\ncd ~/.dotfiles\ngit pull\n```\n\nEnjoy it😘\n\n## 🍀 Colorscheme/Theme [↟](#Contents)\n\n### In Terminal Command Line [⌅](#-ColorschemeTheme-)\n\n#### Change colorscheme of Vim/Neovim and Alacritty [⌆](#In-Terminal-Command-Line-)\n\n```sh\n$ colorscheme\n\nCurrent colorscheme is 'dracula', and it can be changed to one of the following list:\n\n* gruvbox\n* solarized\n* molokai\n* monokai\n* rigel\n* jellybeans\n* nord\n* tender\n* one\n* iceberg\n* papercolor\n* ayu\n* ayu_mirage\n* onehalf\n* vadelma\n* pencil\n* srcery\n* springnight\n* google\n* github\n* embark\n* off\n* base16\n* flat\n* materia\n* atelierdune\n* oceanicnext\n* gruvbox_light\n* solarized_light\n* one_light\n* iceberg_light\n* papercolor_light\n* ayu_light\n* onehalf_light\n* vadelma_light\n* pencil_light\n* google_light\n* github_light\n* off_light\n* cupertino\n* atelierdune_light\n\nFor example, change colorscheme to 'atelierdune_light':\n\n$ colorscheme atelierdune_light\n\nor\n\n$ cs atelierdune_light\n```\n\n💡 Light colorschemes are good in the morning or at a place with natural light.\n\n#### Change font of Alacritty [⌆](#In-Terminal-Command-Line-)\n\n```sh\n$ font\n\nCurrent font is 'Hasklug_Light', and it can be changed to one of the following list:\n\n* Hack_Regular\n* BlexMono_Book\n* BlexMono_Light\n* BlexMono_ExtraLight\n* BlexMono_Thin\n* SauceCodePro_Regular\n* SauceCodePro_Light\n* SauceCodePro_ExtraLight\n* JetBrainsMono_Regular\n* JetBrainsMono_Light\n* JetBrainsMono_ExtraLight\n* JetBrainsMono_Thin\n* RobotoMono_Regular\n* RobotoMono_Light\n* RobotoMono_Thin\n* Hasklug_Regular\n* Hasklug_ExtraLight\n* VictorMono_Regular\n* VictorMono_Light\n* VictorMono_ExtraLight\n* VictorMono_Thin\n* FantasqueSansMono_Regular\n* LiterationMono_Book\n* Lekton_Regular\n* DejaVuSansMono_Book\n* GoMono_Book\n* mononoki_Regular\n* Cousine_Regular\n* SpaceMono_Regular\n* UbuntuMono_Regular\n* CodeNewRoman_Book\n* CaskaydiaCove_Regular\n* CaskaydiaCove_Light\n* CaskaydiaCove_SemiLight\n* CaskaydiaCove_ExtraLight\n* FiraCode_Regular\n* FiraCode_Light\n* Hurmit_light\n* DaddyTimeMono_Book\n* OpenDyslexicMono_Regular\n* Monofur_Book\n\nFor example, change font to 'Monofur_Book':\n\n$ font Monofur_Book\n\nor\n\n$ ft Monofur_Book\n```\n\n#### Change font size of Alacritty [⌆](#In-Terminal-Command-Line-)\n\n```sh\n$ font-size\n\nCurrent font size is '12', and it can be changed by:\n\n$ font-size number\n\nor\n\n$ fs number\n\n* number must between 1 and  200\n```\n\n#### Change opacity of Alacritty [⌆](#In-Terminal-Command-Line-)\n\n```sh\n$ opacity\n\nCurrent opacity is '0.9', and it can be changed by:\n\n$ opacity number\n\nor\n\n$ o number\n\n* number must between 0 and 1\n```\n\n#### Toggle Vim/Neovim background transparent [⌆](#In-Terminal-Command-Line-)\n\n```sh\n$ toggle-vim-transparent\n\nor\n\n$ tv\n```\n\n#### Toggle Alacritty background transparent [⌆](#In-Terminal-Command-Line-)\n\n```sh\n$ toggle-alacritty-transparent\n\nor\n\n$ to\n```\n\n#### Print 256 colors [⌆](#In-Terminal-Command-Line-)\n\n```sh\n$ colors-print\n\nor\n\n$ c\n\n$ print-256-hex-colors\n\nor\n\n$ hex\n```\n\n#### Print Icons [⌆](#In-Terminal-Command-Line-)\n\n```sh\n$ print-icons\n\nor\n\n$ icons\n```\n\n### With Keyboard Shortcuts/Hotkey [⌅](#-ColorschemeTheme-)\n\n\u003e `ctrl a` follows is the tmux prefix key.\n\n#### Change colorscheme of Vim/Neovim and Alacritty randomly [⌆](#With-Keyboard-Shortcutshotkey-)\n\n```text\nctrl a v\n```\n\n#### Change font of Alacritty randomly [⌆](#With-Keyboard-Shortcutshotkey-)\n\n```text\nctrl a shift f\n```\n\n#### Toggle Alacritty background transparent [⌆](#With-Keyboard-Shortcutshotkey-)\n\n```text\nctrl a shift o\n```\n\n#### Increase Alacritty background transparent [⌆](#With-Keyboard-Shortcutshotkey-)\n\n```text\nctrl a ctrl k\n```\n\n#### Decrease Alacritty background transparent [⌆](#With-Keyboard-Shortcutshotkey-)\n\n```text\nctrl a ctrl j\n```\n\n#### Toggle Tmux status line [⌆](#With-Keyboard-Shortcutshotkey-)\n\n```text\nctrl a b\n```\n\n#### Toggle Tmux pane-border-status(pane name) [⌆](#With-Keyboard-Shortcutshotkey-)\n\n```text\nctrl a ctrl b\n```\n\n### In Vim Normal Mode [⌅](#-ColorschemeTheme-)\n\n#### Toggle Vim/Neovim background color(light or dark) [⌆](#In-Vim-Normal-Mode-)\n\n```text\n,b\n```\n\n💡 Only support colorschemes that have both dark and light background color.\n\n#### Toggle Vim/Neovim background transparent [⌆](#In-Vim-Normal-Mode-)\n\n```text\n,o\n```\n\n💡 Opacity of Alacritty(terminal) must be less than 1.\n\n## 📺 Alacritty [↟](#Contents)\n\n### Keyboard Shortcuts\n\n| Shortcut               | Action                                                   |\n| ---------------------- | -------------------------------------------------------- |\n| `Command` `h`          | Hide the current Alacritty terminal                      |\n| `Command` `m`          | Minimize the current Alacritty to the Dock               |\n| `Command` `q`/`w`      | Quit Alacritty                                           |\n| `Command` `n`          | Spawn new instance of Alacritty                          |\n| `Command` `f`/`b`      | Search forward or backward                               |\n| `Command` `+`/`-`/`0`  | Increase/Decrease/Reset font size                        |\n| `Ctrl` `Command` `f`   | Toggle full screen                                       |\n| `Ctrl` `l`             | Clear warning/error messages of Alacritty in status line |\n| `Command` `Option` `h` | Hiding all windows other than the current Alacritty      |\n\n## 🐚 Zsh(OhMyZsh) [↟](#Contents)\n\n### Reload `~/.zshrc` [⌅](#-zshohmyzsh-)\n\n```sh\n$ omz reload\n```\n\nor\n\n```sh\n$ exec zsh\n```\n\n### [fzf](https://github.com/junegunn/fzf) [⌅](#-zshohmyzsh-)\n\n- `$ ff`\n\n  Search file by `fzf` and then open it by `vim`.\n\n- `Ctrl` `t`\n\n  List all files and dirs of the current dir, then select one and `enter`,\n  it will paste the selected file name to the command line.\n\n- `Option`/`Alt` `c`\n\n  List all dirs of the current dir, then select one and `enter`,\n  it will switch to the selected dir.\n\n- `Ctrl` `r`\n\n  List history commands, then input keywords and select the specific one,\n  and `enter`, it will paste the selected command to the command line.\n\n- `Ctrl` `k`/`j`\n\n  Select up or down in file/dir list or history command list.\n\n- `Ctrl` `p`/`n`\n\n  The same as `Ctrl` `k`/`j`.\n\n- `Ctrl` `c` / `Ctrl` `g` / `esc`\n\n  Quit from file/dir list or history command list.\n\n### Custom Commands [⌅](#-zshohmyzsh-)\n\n#### Adjust the system volume\n\n```sh\n$ vol\n\nUsage of audio-volume:\n  digit             Set volume value, 1~100\n  -p, --print       Print all audio devices\n  -n, --next        Switch to the next audio device\n  -i device_id      Switch to the given audio device\n```\n\n#### Batch ssh remote hosts in multi-tmux-panes\n\n```sh\n$ s\n\nUsage:\n    ssh-sessions /yourpath/tmux_window[.extension]\n\nContent format of /yourpath/tmux_window[.extension]:\n    node1.example.com\n    node2.example.com\n    node3.exmaple.com\n    ...\n\nNote:\n    Make sure the hosts in /yourpath/tmux_window.extension\n    can login without password by ssh public key authentication.\n\nExamples:\n    $ ssh-sessions ~/.xxxhosts.ssh\n\n    or\n\n    $ ssh-sessions ~/.xxxhosts\n\n    or\n\n    $ ssh-sessions ~/xxxhosts\n```\n\n### OhMyZsh Plugins [⌅](#-zshohmyzsh-)\n\n#### vi-mode [⌆](#ohmyzsh-plugins-)\n\n\u003e ~/.oh-my-zsh/plugins/web-search/README.md\n\n##### Enter `Normal Mode`\n\nFirst of all, use \u003ckbd\u003eesc\u003c/kbd\u003e or `Ctrl [` to enter `Normal mode`.\n\n##### History\n\n- `ctrl` `p` : Previous command in history\n- `ctrl` `n` : Next command in history\n- `/` : Search backward in history\n- `n` : Repeat the last `/`\n\n##### Vim edition\n\n- `vv` : Edit current command line in Vim\n\n##### Movement\n\n- `$` : To the end of the line\n- `^` : To the first non-blank character of the line\n- `0` : To the first character of the line\n- `w` : [count] words forward\n- `W` : [count] WORDS forward\n- `e` : Forward to the end of word [count] inclusive\n- `E` : Forward to the end of WORD [count] inclusive\n- `b` : [count] words backward\n- `B` : [count] WORDS backward\n- `t{char}` : Till before [count]'th occurrence of {char} to the right\n- `T{char}` : Till before [count]'th occurrence of {char} to the left\n- `f{char}` : To [count]'th occurrence of {char} to the right\n- `F{char}` : To [count]'th occurrence of {char} to the left\n- `;` : Repeat latest f, t, F or T [count] times\n- `,` : Repeat latest f, t, F or T in opposite direction\n\n##### Insertion\n\n- `i` : Insert text before the cursor\n- `I` : Insert text before the first character in the line\n- `a` : Append text after the cursor\n- `A` : Append text at the end of the line\n- `o` : Insert new command line below the current one\n- `O` : Insert new command line above the current one\n\n##### Delete and Insert\n\n- `ctrl-h` : While in _Insert mode_: delete character before the cursor\n- `ctrl-w` : While in _Insert mode_: delete word before the cursor\n- `d{motion}` : Delete text that {motion} moves over\n- `dd` : Delete line\n- `D` : Delete characters under the cursor until the end of the line\n- `c{motion}` : Delete {motion} text and start insert\n- `cc` : Delete line and start insert\n- `C` : Delete to the end of the line and start insert\n- `r{char}` : Replace the character under the cursor with {char}\n- `R` : Enter replace mode: Each character replaces existing one\n- `x` : Delete `count` characters under and after the cursor\n- `X` : Delete `count` characters before the cursor\n\n#### git [⌆](#ohmyzsh-plugins-)\n\n\u003e ~/.oh-my-zsh/plugins/git/README.md\n\n- `gst` : git status\n- `gsh` : git show\n- `ga` : git add\n- `gc` : git commit -v\n- `gp` : git push\n- `gpf` : git push -f\n- `glo` : git log --oneline --decorate\n- `glog` : git log --oneline --decorate --graph\n- `gl` : git pull\n\n#### gitignore [⌆](#ohmyzsh-plugins-)\n\n\u003e ~/.oh-my-zsh/plugins/gitignore/README.md\n\n- `gi list`: List all the currently supported gitignore.io templates.\n- `gi [TEMPLATENAME]`: Show git-ignore output on the command line, e.g. `gi java` to exclude class and package files.\n- `gi [TEMPLATENAME] \u003e\u003e .gitignore`: Appending programming language settings to your projects .gitignore.\n\n#### web-search [⌆](#ohmyzsh-plugins-)\n\n\u003e ~/.oh-my-zsh/plugins/web-search/README.md\n\nYou can use the `web-search` plugin in these two forms:\n\n- `web_search \u003ccontext\u003e \u003cterm\u003e [more terms if you want]`\n- `\u003ccontext\u003e \u003cterm\u003e [more terms if you want]`\n\nFor example, these two are equivalent:\n\n```sh\n$ web_search google oh-my-zsh\n$ google oh-my-zsh\n```\n\nAvailable search contexts are:\n\n| Context               | URL                                      |\n| --------------------- | ---------------------------------------- |\n| `bing`                | `https://www.bing.com/search?q=`         |\n| `google`              | `https://www.google.com/search?q=`       |\n| `yahoo`               | `https://search.yahoo.com/search?p=`     |\n| `ddg` or `duckduckgo` | `https://www.duckduckgo.com/?q=`         |\n| `sp` or `startpage`   | `https://www.startpage.com/do/search?q=` |\n| `yandex`              | `https://yandex.ru/yandsearch?text=`     |\n| `github`              | `https://github.com/search?q=`           |\n| `baidu`               | `https://www.baidu.com/s?wd=`            |\n| `ecosia`              | `https://www.ecosia.org/search?q=`       |\n| `goodreads`           | `https://www.goodreads.com/search?q=`    |\n| `qwant`               | `https://www.qwant.com/?q=`              |\n| `givero`              | `https://www.givero.com/search?q=`       |\n| `stackoverflow`       | `https://stackoverflow.com/search?q=`    |\n| `wolframalpha`        | `https://wolframalpha.com/input?i=`      |\n| `archive`             | `https://web.archive.org/web/*/`         |\n| `scholar`             | `https://scholar.google.com/scholar?q=`  |\n\n#### colorize [⌆](#ohmyzsh-plugins-)\n\n\u003e ~/.oh-my-zsh/plugins/colorize/README.md\n\n- `ccat \u003cfile\u003e [files]`: colorize the contents of the file (or files, if more than one are provided).\n  If no files are passed it will colorize the standard input.\n\n- `cless [less-options] \u003cfile\u003e [files]`: colorize the contents of the file (or files, if more than one are provided) and open less.\n  If no files are passed it will colorize the standard input.\n  The LESSOPEN and LESSCLOSE will be overwritten for this to work, but only in a local scope.\n\n#### sudo [⌆](#ohmyzsh-plugins-)\n\n\u003e ~/.oh-my-zsh/plugins/sudo/README.md\n\nEasily prefix your current or previous commands with `sudo` by pressing \u003ckbd\u003eesc\u003c/kbd\u003e twice.\n\n#### copyfile [⌆](#ohmyzsh-plugins-)\n\n\u003e ~/.oh-my-zsh/plugins/copyfile/README.md\n\n- `copyfile \u003cfilename\u003e` : Puts the contents of a file in your system clipboard so you can paste it anywhere.\n\n#### copydir [⌆](#ohmyzsh-plugins-)\n\n\u003e ~/.oh-my-zsh/plugins/copydir/README.md\n\n- `copydir` : Copy the $PWD to the system clipboard.\n\n#### aliases [⌆](#ohmyzsh-plugins-)\n\n\u003e ~/.oh-my-zsh/plugins/aliases/README.md\n\nWith lots of 3rd-party amazing aliases installed, this plugin helps list the shortcuts\nthat are currently available based on the plugins you have enabled.\n\n- `acs` : Group all alias\n- `acs \u003ckeyword\u003e` : Quickly filter alias \u0026 highlight\n\n## 🎹 Tmux [↟](#Contents)\n\n### Prefix Key [⌅](#-Tmux-)\n\nPrefix Key: `Ctrl a`\n\nAll the following shortcuts keys must first press the prefix key.\n\n\u003e Note that after pressing the prefix key, you need to release the prefix key first,\n\u003e and then press other specific shortcut keys.\n\n### Key Bindings [⌅](#-Tmux-)\n\n#### Common [⌆](#Key-Bindings-)\n\n- `?` : List key bindings\n- `r` : Reload `~/.tmux.conf`\n- `e` : Edit `~/.tmux.conf`\n- `K` : View help documents of the object in `~/.tmux.conf`\n- `d` : Detach the current client\n\n#### Session [⌆](#Key-Bindings-)\n\n- `s` : Choose a session from a list\n- `Option/Alt` `f` : Search session\n- `Ctrl` `c` : Create new session\n- `$` : Rename the current session\n- `b` : Toggle status line of the current session\n\n#### Window [⌆](#Key-Bindings-)\n\n- `c` : Create new window\n- `,` : Rename current window\n- `.` : Move current window\n- `n` : Select the next window\n- `p` : Select the previous window\n- `0-9`: Select window 0-9\n- `\u0026` : Kill current window\n- `w` : Choose a window from a list\n- `f` : Search window\n- `i` : Display window information\n\n#### Pane [⌆](#Key-Bindings-)\n\n- `%` : Split window horizontally\n- `\"` : Split window vertically\n- `\u003cSpace\u003e` : Select next layout\n- `Ctrl` `E` : Spread panes out evenly\n- `x` : Kill the active pane\n- `z` : Zoom the active pane\n- `{` / `\u003c` : Swap the active pane with the pane above\n- `}` / `\u003e` : Swap the active pane with the pane below\n- `q` : Display pane numbers(it will also display a letter if the number gather than 10),\n  then press the specified number(or letter) to select it.\n- `t` : Show a clock in current pane\n- `!` : Break pane to a new window\n- `;` : Move to the previously active pane\n- `k` : Select the pane above the active pane\n- `j` : Select the pane below the active pane\n- `h` : Select the pane to the left of the active pane\n- `l` : Select the pane to the right of the active pane\n- `o` : Select the next pane\n- `Ctrl` `o` : Rotate through the panes\n- `Option/Alt` `o` : Rotate through the panes in reverse\n- `m` : Toggle the marked pane\n- `K` : Resize the pane up\n- `J` : Resize the pane down\n- `H` : Resize the pane left\n- `L` : Resize the pane right\n- `Ctrl` `l` : Clear all the messages(include history messages) in the active pane\n- `Ctrl` `b` : Toggle pane name of the current window's all panes\n- `Ctrl` `t` : Create a new pane that is 16% of the size of the current pane and below the current pane\n\n#### Copy Mode [⌆](#Key-Bindings-)\n\n- `[` : Enter copy mode\n- `]` : Paste the most recent paste buffer\n\n**NOTE**: The followings is the operations after entered copy mode, **no need** to press the Prefix Key first.\n\n- `q` : Exit from copy mode\n- `hjhl` : Movements\n- `v` : Text select\n- `V` : Text line select\n- `Ctrl` `v` : Text block select\n- `enter`: Copy the selected text\n- `esc` : Escape from text selected\n- `/` : Search down\n- `?` : Search up\n\nEnabled `vi-mode`, many vi shortcuts can be used in this scenario.\n\n#### Sync Mode [⌆](#Key-Bindings-)\n\n- `Ctrl` `y` : Toggle sync mode\n\n### Tmux Plugins [⌅](#-Tmux-)\n\n#### [tmux-plugins/tpm](https://github.com/tmux-plugins/tpm) [⌆](#tmux-plugins-)\n\nTmux Plugin Manager.\n\n- `I` : Install new plugins\n- `U` : Update all plugins\n- `u` : Uninstall plugins that not in `~/.tmux.conf`\n\n#### [tmux-plugins/tmux-prefix-highlight](https://github.com/tmux-plugins/tmux-prefix-highlight) [⌆](#tmux-plugins-)\n\nPlugin that highlights when you press tmux prefix key.\n\n#### [tmux-plugins/tmux-resurrect](https://github.com/tmux-plugins/tmux-resurrect) [⌆](#tmux-plugins-)\n\nThis plugin saves all the little details from your tmux environment so it can be completely restored after a system restart (or when you feel like it).\n\n- `Ctrl` `s` : Save sessions\n- `Ctrl` `r` : Restore sessions from local backup\n\n#### [tmux-plugins/tmux-continuum](https://github.com/tmux-plugins/tmux-continuum) [⌆](#tmux-plugins-)\n\nContinuous saving of tmux environment. Automatic restore when tmux is started.\n\n#### [tmux-plugins/tmux-copycat](https://github.com/tmux-plugins/tmux-copycat) [⌆](#tmux-plugins-)\n\n##### Search\n\n- `/` : Regex search (strings work too)\n\n  Example search entries:\n\n  - `foo` : Searches for string foo\n  - `[0-9]+` : Regex search for numbers\n\n##### Predefined searches\n\n- `Ctrl` `f` : Simple file search\n- `Ctrl` `g` : Jumping over git status files (best used after git status command: `git status -sb`)\n- `Ctrl` `h` : Jumping over SHA-1/SHA-256 hashes (best used after git log command)\n- `Ctrl` `u` : URL search (http, ftp and git urls)\n- `Ctrl` `d` : Number search (mnemonic d, as digit)\n- `Ctrl` `i` : IP address search\n- `S` : Jumping over string surrounded by `\"\"`\n\nThese start \"copycat mode\" and jump to first match.\n\n##### Copycat mode bindings\n\nThese are enabled when you search with copycat:\n\n- `n` : Jumps to the next match\n- `N` : Jumps to the previous match\n- `enter` : Copy a highlighted match\n\n#### [tmux-plugins/tmux-yank](https://github.com/tmux-plugins/tmux-yank) [⌆](#tmux-plugins-)\n\n- Tmux Normal Mode\n  - `y` : Copies text from the command line to the clipboard.\n  - `Y` : Copy the current pane's current working directory to the clipboard.\n- Tmux Copy Mode\n  - `y` : Copy selection to system clipboard.\n  - `Y` : Equivalent to copying a selection, and pasting it to the command line.\n\n#### [tmux-plugins/tmux-open](https://github.com/tmux-plugins/tmux-open) [⌆](#tmux-plugins-)\n\nPlugin for opening highlighted selection directly from Tmux copy mode.\n\nIn Tmux Copy Mode:\n\n- `o` : Open a highlighted selection with the system default program. open for OS X or xdg-open for Linux.\n- `Ctrl` `o` : Open a highlighted selection with the $EDITOR\n- `S` : Search the highlighted selection directly by Google\n- `B` : Search the highlighted selection directly by Bing\n\n#### [ki-chi/tmux-inputmethod](https://github.com/ki-chi/tmux-inputmethod) [⌆](#tmux-plugins-)\n\nDisplay current input method in the Tmux status line.\n\n#### [vimhack/tmux-show-colorscheme](https://github.com/vimhack/tmux-show-colorscheme#main) [⌆](#tmux-plugins-)\n\nDisplay current colorscheme/opacity/font/font-size of Vim and Alacritty in the Tmux status line.\n\n#### [vimhack/tmux-audio-volume](https://github.com/vimhack/tmux-audio-volume) [⌆](#tmux-plugins-)\n\nDisplay system volume in the Tmux status line.\n\n#### [vimhack/tmux-battery](https://github.com/vimhack/tmux-battery) [⌆](#tmux-plugins-)\n\nDisplay battery status in the Tmux status line.\n\n#### [vimhack/tmux-cpu](https://github.com/vimhack/tmux-cpu) [⌆](#tmux-plugins-)\n\nDisplay cpu utilization and fan speed in the Tmux status line.\n\n#### [vimhack/tmux-onlinestatus](https://github.com/vimhack/tmux-onlinestatus) [⌆](#tmux-plugins-)\n\nDisplay online status in the Tmux status line.\n\n#### [vimhack/tmux-weather](https://github.com/vimhack/tmux-weather) [⌆](#tmux-plugins-)\n\nDisplay local weather information in the Tmux status line.\n\n#### [vimhack/tmux-moon-phase](https://github.com/vimhack/tmux-moon-phase) [⌆](#tmux-plugins-)\n\nDisplay moon phase emoji or icon or text in the Tmux status line.\n\n### FQA [⌅](#-Tmux-)\n\n- In some cases, modifying `~/.tmux.conf` cannot take effect after reload or restart Tmux, how to fix it?\n\n```sh\n$ tmux kill-server\n```\n\n- Even if execute `tmux kill-server`, the new configuration still does not take effect.\n\n```sh\n$ ps axu|grep -v grep|grep tmux|awk '{print $2}'|xargs kill -9\n```\n\n## 💯 Vim/Neovim [↟](#Contents)\n\n### Leader Key [⌅](#-VimNeovim-)\n\nThe vim leader key has been changed from `\\`(default) to `,`.\n\n`,` in the following shortcut keys represent the leader key.\n\n### Custom Key Bindings [⌅](#-VimNeovim-)\n\n#### Tabs Management [⌆](#Custom-key-bindings-)\n\n- Normal Mode\n\n  - `Ctrl` `t` : Create new tab\n  - `,` `1`/`2`/`3`... : Go to the specific tab\n  - `,` `0` : Go to the last tab\n  - `Option/Alt` `1`/`2`/`3`... : Go to the specific tab\n  - `Option/Alt` `0` : Go to the last tab\n  - `,` `fn` : Go to the next tab\n  - `,` `fp` : Go to the previous tab\n  - `,` `fh` : Move the tab to the left\n  - `,` `fl` : Move the tab to the right\n  - `,` `qo` : Close all tabs except current one\n  - `,` `qq` : Close current tab\n  - `,` `q` `1`/`2`/`3` ... : Close the specific tab\n  - `,` `q` `0` : Close the last tab\n\n- Insert Mode\n\n  - `Option/Alt` `1`/`2`/`3`... : Go to the specific tab\n  - `Option/Alt` `0` : Go to the last tab\n\n#### Cursor Movement [⌆](#Custom-key-bindings-)\n\n- Normal Mode\n\n  - `Ctrl` `k`/`j`/`h`/`l` : Move the cursor to up/down/left/right window\n  - `Ctrl` `e`/`y` : Move the screen down or up by 3 lines step\n  - `0` : Move the cursor to the first non-blank character,\n    if already at the first character, then to the first character.\n\n- Insert Mode\n\n  - `Ctrl` `p`/`n`/`b`/`f` : Move the cursor to up/down/left/right\n  - `Ctrl` `e` : Move the cursor to the end of the line\n  - `Ctrl` `a`: Press twice for moving the cursor to the first non-blank character,\n    and press twice once again for moving the cursor to the first character.\n    \u003e NOTE: Press twice coz `Ctrl` `a` is also the tmux prefix key.\n  - `Option/Alt` `b`/`f` : Move the cursor to left/right by one word step\n\n- Visual Mode\n\n  - `0` : Move the cursor to the first non-blank character,\n    if it already at the first character, then to the first character.\n\n- Command-Line Mode\n\n  - `Ctrl` `b`/`f` : Move the cursor to left/right\n  - `Ctrl` `p`/`n` : Go through history commands from up/down\n  - `Ctrl` `a`/`e` : Move the cursor to the first character or the end of the line\n  - `Option/Alt` `b`/`f` : Move the cursor to left/right by one word step\n\n#### Text Edit [⌆](#Custom-key-bindings-)\n\n- Insert Mode\n\n  - `Ctrl` `h`/`l` : Delete a character from left/right\n  - `Ctrl` `d` : Delete from the cursor position to the end of the line.\n  - `Ctrl` `u` : Delete from the cursor position to the head of the line.\n  - `Ctrl` `w` : Delete a word from left\n\n- Visual Mode\n\n  - `,` `)`/`]`/`}`/`\"`/`'` : Surround the selected text by `)` or `]` or `}` or `\"` or `'`\n  - `\u003e`/`\u003c`: Use `\u003e` or `\u003c` to indent without exiting visual mode\n\n- Command-Line Mode\n\n  - `Ctrl` `h`/`l` : Delete a character from left/right\n  - `Ctrl` `d` : Delete from the cursor position to the end of the line.\n  - `Ctrl` `u` : Delete from the cursor position to the head of the line.\n  - `Ctrl` `w` : Delete a word from left\n\n#### Others [⌆](#Custom-key-bindings-)\n\n- Normal Mode\n\n  - `E` : Edit `~/.vimrc` or `~/.config/nvim/init.vim` in the new split window\n  - `R` : Reload `~/.vimrc` or `~/.config/nvim/init.vim`\n  - `Y` : Copy from the cursor position to the end of the line\n  - `Ctrl` `s`: Toggle spell check\n  - `,` `z` : Zoom window\n  - `,` `n` : Toggle line number\n  - `,` `va` : Select all lines\n  - `,` `vf` : Select from the current line to the end of line\n  - `,` `vb` : Select from the current line to the first of line\n  - `,` `ya` : Yank all lines\n  - `,` `yf` : Yank from the current line to the end of line\n  - `,` `yb` : Yank from the current line to the first of line\n\n- Insert Mode\n\n  - `Ctrl` `s`: Toggle spell check\n\n- Command-Line Mode\n\n  - `:W` : Use sudo to save\n\n### Custom Snippets [⌅](#-VimNeovim-)\n\n#### Markdown [⌆](#Custom-Snippets-)\n\n| Shortcut | Output        |\n| -------- | ------------- |\n| `,b`     | **Bold**      |\n| `,s`     | ~~sliced~~    |\n| `,i`     | _italic_      |\n| `,d`     | `inline code` |\n| `,c`     | `block code`  |\n| `,m`     | `- [ ]`       |\n| `,p`     | `![img]()`    |\n| `,a`     | `[link]()`    |\n| `,l`     | `---`         |\n| `,1`     | # H1          |\n| `,2`     | ## H2         |\n| `,3`     | ### H3        |\n| `,4`     | #### H4       |\n| `,5`     | #### H5       |\n| `,6`     | #### H6       |\n\n`,f` : Almost every shortcut above generates a placeholder (\u003c++\u003e),\npressing `,f` will jump the cursor to the placeholder and delete it at the same time.\n\n`,w` : The same as `,f`, but it will generate a blank line for you.\n\n\u003e **NOTE:** \u003cbr\u003e\n\u003e All above shortcuts are in the _Vim Insert Mode_.\n\n### Put Your Own Customization [⌅](#-VimNeovim-)\n\n#### Add More Plugins [⌆](#Put-your-own-customization-)\n\nIf you want to use other plugins that not in `$HOME/.vimrc` or `$HOME/.config/nvim/init.vim`,\nyou can put them in `$HOME/.vimrc.plugins.local`.\n\nFor example:\n\n```vim\n\" For distraction-free writing in Vim.\nPlug 'junegunn/goyo.vim'\n```\n\n\u003e NOTE:\u003cbr\u003e\n\u003e Do not put other configurations in `$HOME/.vimrc.plugins.local`,\n\u003e you should put them in `$HOME/.vimrc.local`.\n\n#### Add More Configurations [⌆](#Put-your-own-customization-)\n\nYou can put your own configurations in `$HOME/.vimrc.local`,\nit will be soured at the end of `$HOME/.vimrc` or `$HOME/.config/nvim/init.vim`.\n\nFor example:\n\n```vim\n\" *** For plugin 'junegunn/goyo.vim'\n\" doc: https://github.com/junegunn/goyo.vim\n\" Usage:\n\"   :Goyo              Toggle Goyo\n\"   :Goyo [dimension]  Turn on or resize Goyo\n\"   :Goyo!             Turn Goyo off\n\nlet g:goyo_width = 120 \" default: 80\nlet g:goyo_height = '85%' \" default: 85%\nlet g:goyo_linenr = 1 \" default: 0\n\nfunction! s:goyo_enter()\n  if executable('tmux') \u0026\u0026 strlen($TMUX)\n    silent !tmux set status off\n    silent !tmux list-panes -F '\\#F' | grep -q Z || tmux resize-pane -Z\n  endif\n  set noshowmode\n  set noshowcmd\n  set scrolloff=999\nendfunction\n\nfunction! s:goyo_leave()\n  if executable('tmux') \u0026\u0026 strlen($TMUX)\n    silent !tmux set status on\n    silent !tmux list-panes -F '\\#F' | grep -q Z \u0026\u0026 tmux resize-pane -Z\n  endif\n  set showmode\n  set showcmd\n  set scrolloff=5\nendfunction\n\nautocmd! User GoyoEnter nested call \u003cSID\u003egoyo_enter()\nautocmd! User GoyoLeave nested call \u003cSID\u003egoyo_leave()\n\" **********************************\n```\n\n#### Disable Default Plugins [⌆](#Put-your-own-customization-)\n\nIf you want to disable some plugins in `$HOME/.vimrc` or `$HOME/.config/nvim/init.vim`,\nyou can `UnPlug` them in `$HOME/.vimrc.plugins.local`.\n\nFor example:\n\n```vim\n\" Disable vim hardtime feature.\nUnPlug 'takac/vim-hardtime'\n```\n\n### Vim/Neovim Plugins [⌅](#-VimNeovim-)\n\n#### Code AutoCompletion [⌅](#-VimNeovim-)\n\n##### [neoclide/coc.nvim](https://github.com/neoclide/coc.nvim) [⌆](#Code-AutoCompletion-)\n\n###### 1. Symbol description of the completion menu\n\n```text\n   [LS]  Language Server\n    [S]  Snippets\n   [US]  UltiSnips\n   [TN]  TabNine\n  [GOC]  Gocode\n  [NEC]  Neco-vim\n    [A]  Around\n    [B]  Buffer\n    [F]  File\n      M  Module\n      I  Interface\n      S  Struct\n      f  func\n```\n\n###### 2. Key bindings\n\n- `:C` : Open ~/.vim/coc-settings.json\n- `[`/`]` `g` : Navigate chunks of current buffer\n- `[`/`]` `c` : Navigate conflicts of current buffer\n- `,` `gd` : Show chunk diff at current position\n- `,` `gc` : Show commit contains current position\n- `\u003ctab\u003e` : Use tab for trigger completion with characters ahead and navigate\n- `g` `d`/`l` : Go to definition position by create new tab way\n- `g` `y` : Go to type definition\n- `g` `i` : Go to implementation position\n- `g` `r` : Show related items in location list, and select one to go to\n- `K` : Use K to show documentation in preview window\n- `,` `rn` : Symbol renaming\n- `Ctrl` `f`/`b`: Scroll float windows/popups\n- `\u003cSpace\u003e` `e` : Show all coc extensions\n- `\u003cSpace\u003e` `c` : Show all coc commands\n- `\u003cSpace\u003e` `s` : Show all completion sources of the current file type\n- `\u003cSpace\u003e` `p` : Resume latest coc list\n\n##### [SirVer/ultisnips](https://github.com/SirVer/ultisnips) [⌆](#Code-AutoCompletion-)\n\nUltiSnips is the ultimate solution for snippets in Vim.\n\n##### [honza/vim-snippets](https://github.com/honza/vim-snippets) [⌆](#Code-AutoCompletion-)\n\n- `snippets/*` : snippets using snipMate format\n- `UltiSnips/*` : snippets using UltiSnips format\n\n##### [Shougo/neco-vim](https://github.com/Shougo/neco-vim) [⌆](#Code-AutoCompletion-)\n\nThe Vim Script completion source.\n\n##### [neoclide/coc-neco](https://github.com/neoclide/coc-neco) [⌆](#Code-AutoCompletion-)\n\nVim completon source for coc.nvim using [neco-vim](https://github.com/Shougo/neco-vim).\n\n##### [Raimondi/delimitMate](https://github.com/Raimondi/delimitMate) [⌆](#Code-AutoCompletion-)\n\nProvides insert mode auto-completion for quotes, parens, brackets, etc.\n\n## ⚖️ License [↟](#Contents)\n\nThis project is under the MIT License.\nSee the [LICENSE](LICENSE) file for the full license text.\n","funding_links":[],"categories":["Vim Script"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvimhack%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvimhack%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvimhack%2Fdotfiles/lists"}