Last active
December 25, 2019 11:11
-
-
Save John-Lin/feea5aed4c7d969101e17499cfed479a to your computer and use it in GitHub Desktop.
dotfiles
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Configuration for Alacritty, the GPU enhanced terminal emulator. | |
# Any items in the `env` entry below will be added as | |
# environment variables. Some entries may override variables | |
# set by alacritty itself. | |
#env: | |
# TERM variable | |
# | |
# This value is used to set the `$TERM` environment variable for | |
# each instance of Alacritty. If it is not present, alacritty will | |
# check the local terminfo database and use 'alacritty' if it is | |
# available, otherwise 'xterm-256color' is used. | |
#TERM: xterm-256color | |
window: | |
# Window dimensions (changes require restart) | |
dimensions: | |
columns: 120 | |
lines: 30 | |
# Window padding (changes require restart) | |
# | |
# Blank space added around the window in pixels. This padding is scaled | |
# by DPI and the specified value is always added at both opposing sides. | |
padding: | |
x: 2 | |
y: 2 | |
# Spread additional padding evenly around the terminal content. | |
dynamic_padding: false | |
# Window decorations | |
# | |
# Available values: | |
# - `full`: Window with title bar and title bar buttons | |
# - `none`: Window without title bar, rounded corners, or drop shadow | |
# - `transparent`: Window with title bar with transparent background and title | |
# bar buttons | |
# - `buttonless`: Window with title bar with transparent background and no | |
# title bar buttons | |
# Window decorations | |
# | |
# Values for `decorations`: | |
# - full: Borders and title bar | |
# - none: Neither borders nor title bar | |
# - buttonless: Title bar, transparent background and title bar buttons | |
# - transparent: Title bar, transparent background, but no title bar buttons | |
decorations: full | |
# | |
# This setting defines the width of a tab in cells. | |
# value require a restart to take effect. | |
# | |
# Some applications, like Emacs, rely on knowing about the width of a tab. | |
# To prevent unexpected behavior in these applications, it's also required to | |
# change the `it` value in terminfo when altering this setting. | |
tabspaces: 8 | |
# Font configuration (changes require restart) | |
font: | |
# Normal (roman) font face | |
normal: | |
family: SF Mono | |
# The `style` can be specified to pick a specific face. | |
style: Regular | |
# Bold font face | |
bold: | |
family: SF Mono | |
# The `style` can be specified to pick a specific face. | |
style: Bold | |
# Italic font face | |
italic: | |
family: SF Mono | |
# The `style` can be specified to pick a specific face. | |
style: Regular Italic | |
# Point size | |
size: 15.5 | |
# Offset is the extra space around each character. `offset.y` can be thought of | |
# as modifying the line spacing, and `offset.x` as modifying the letter spacing. | |
offset: | |
x: 0 | |
y: 0 | |
# Glyph offset determines the locations of the glyphs within their cells with | |
# the default being at the bottom. Increasing `x` moves the glyph to the right, | |
# increasing `y` moves the glyph upwards. | |
glyph_offset: | |
x: 0 | |
y: 0 | |
# Thin stroke font rendering (OS X only) | |
# | |
# Thin strokes are suitable for retina displays, but for non-retina screens | |
# it is recommended to set `use_thin_strokes` to `false` | |
# | |
# macOS >= 10.14.x: | |
# | |
# If the font quality on non-retina display looks bad then set | |
# `use_thin_strokes` to `true` and enable font smoothing by running the | |
# following command: | |
# `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO` | |
# | |
# This is a global setting and will require a log out or restart to take | |
# effect. | |
use_thin_strokes: true | |
debug: | |
# Display the time it takes to redraw each frame. | |
render_timer: false | |
# Keep the log file after quitting Alacritty. | |
persistent_logging: false | |
# Log level | |
# | |
# Values for `log_level`: | |
# - None | |
# - Error | |
# - Warn | |
# - Info | |
# - Debug | |
# - Trace | |
log_level: Warn | |
# Print all received window events. | |
print_events: false | |
# Record all characters and escape sequences as test data. | |
ref_test: false | |
# If `true`, bold text is drawn using the bright color variants. | |
draw_bold_text_with_bright_colors: true | |
# Colors (Tomorrow Night Bright) | |
colors: | |
# Default colors | |
primary: | |
background: '0x191919' | |
foreground: '0xeaeaea' | |
# Bright and dim foreground colors | |
# | |
# The dimmed foreground color is calculated automatically if it is not present. | |
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors` | |
# is `false`, the normal foreground color will be used. | |
#dim_foreground: '0x9a9a9a' | |
#bright_foreground: '0xffffff' | |
# Cursor colors | |
# | |
# Colors which should be used to draw the terminal cursor. If these are unset, | |
# the cursor color will be the inverse of the cell color. | |
cursor: | |
text: '0xf1c1c1' | |
cursor: '0xff2600' | |
# Normal colors | |
normal: | |
black: '0x000000' | |
red: '0xd54e53' | |
green: '0xb9ca4a' | |
yellow: '0xe6c547' | |
blue: '0x7aa6da' | |
magenta: '0xc397d8' | |
cyan: '0x70c0ba' | |
white: '0xffffff' | |
# Bright colors | |
bright: | |
black: '0x666666' | |
red: '0xff3334' | |
green: '0x9ec400' | |
yellow: '0xe7c547' | |
blue: '0x7aa6da' | |
magenta: '0xb77ee0' | |
cyan: '0x54ced6' | |
white: '0xffffff' | |
# Dim colors | |
dim: | |
black: '0x333333' | |
red: '0xf2777a' | |
green: '0x99cc99' | |
yellow: '0xffcc66' | |
blue: '0x6699cc' | |
magenta: '0xcc99cc' | |
cyan: '0x66cccc' | |
white: '0xdddddd' | |
# Colors (Nord Colors) | |
# colors: | |
# primary: | |
# background: '0x2E3440' | |
# foreground: '0xD8DEE9' | |
# cursor: | |
# text: '0x2E3440' | |
# cursor: '0xD8DEE9' | |
# normal: | |
# black: '0x3B4252' | |
# red: '0xBF616A' | |
# green: '0xA3BE8C' | |
# yellow: '0xEBCB8B' | |
# blue: '0x81A1C1' | |
# magenta: '0xB48EAD' | |
# cyan: '0x88C0D0' | |
# white: '0xE5E9F0' | |
# bright: | |
# black: '0x4C566A' | |
# red: '0xBF616A' | |
# green: '0xA3BE8C' | |
# yellow: '0xEBCB8B' | |
# blue: '0x81A1C1' | |
# magenta: '0xB48EAD' | |
# cyan: '0x8FBCBB' | |
# white: '0xECEFF4' | |
# Indexed Colors | |
# | |
# The indexed colors include all colors from 16 to 256. | |
# When these are not set, they're filled with sensible defaults. | |
# | |
#indexed_colors: | |
# - { index: 16, color: '0x000000' } | |
# Visual Bell | |
# | |
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once | |
# rung, the terminal background will be set to white and transition back to the | |
# default background color. You can control the rate of this transition by | |
# setting the `duration` property (represented in milliseconds). You can also | |
# configure the transition function by setting the `animation` property. | |
# | |
# Values for `animation`: | |
# - Ease | |
# - EaseOut | |
# - EaseOutSine | |
# - EaseOutQuad | |
# - EaseOutCubic | |
# - EaseOutQuart | |
# - EaseOutQuint | |
# - EaseOutExpo | |
# - EaseOutCirc | |
# - Linear | |
# | |
# Specifying a `duration` of `0` will disable the visual bell. | |
visual_bell: | |
animation: EaseOutExpo | |
duration: 0 | |
# Background opacity | |
background_opacity: 1.0 | |
# Mouse bindings | |
# | |
# Currently doesn't support modifiers. Both the `mouse` and `action` fields must | |
# be specified. | |
# | |
# Values for `mouse`: | |
# - Middle | |
# - Left | |
# - Right | |
# - Numeric identifier such as `5` | |
# | |
# Values for `action`: | |
# - Paste | |
# - PasteSelection | |
# - Copy (TODO) | |
mouse_bindings: | |
- { mouse: Middle, action: PasteSelection } | |
mouse: | |
# Click settings | |
# | |
# The `double_click` and `triple_click` settings control the time | |
# alacritty should wait for accepting multiple clicks as one double | |
# or triple click. | |
double_click: { threshold: 300 } | |
triple_click: { threshold: 300 } | |
# If this is `true`, the cursor is temporarily hidden when typing. | |
hide_when_typing: false | |
url: | |
# URL launcher | |
# | |
# This program is executed when clicking on a text which is recognized as a URL. | |
# The URL is always added to the command as the last parameter. | |
launcher: open | |
# URL modifiers | |
# | |
# These are the modifiers that need to be held down for opening URLs when clicking | |
# on them. The available modifiers are documented in the key binding section. | |
#modifiers: Control|Shift | |
selection: | |
semantic_escape_chars: ",│`|:\"' ()[]{}<>" | |
# When set to `true`, selected text will be copied to the primary clipboard. | |
save_to_clipboard: false | |
cursor: | |
# Cursor style | |
# | |
# Values for 'style': | |
# - ▇ Block | |
# - _ Underline | |
# - | Beam | |
style: Block | |
# If this is `true`, the cursor will be rendered as a hollow box when the | |
# window is not focused. | |
unfocused_hollow: true | |
# Live config reload (changes require restart) | |
live_config_reload: true | |
# Shell | |
# | |
# You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`. | |
# Entries in `shell.args` are passed unmodified as arguments to the shell. | |
# | |
shell: | |
program: /bin/zsh | |
args: | |
- --login | |
scrolling: | |
# How many lines of scrollback to keep, | |
# '0' will disable scrolling. | |
history: 10000 | |
# Number of lines the viewport will move for every line | |
# scrolled when scrollback is enabled (history > 0). | |
multiplier: 3 | |
# Faux Scrolling | |
# | |
# The `faux_multiplier` setting controls the number of lines the terminal | |
# should scroll when the alternate screen buffer is active. This is used | |
# to allow mouse scrolling for applications like `man`. | |
# | |
# Specifying `0` will disable faux scrolling. | |
faux_multiplier: 3 | |
# Automatically scroll to the bottom when new text is written | |
# to the terminal. | |
auto_scroll: false | |
# Key bindings | |
# | |
# Each binding is defined as an object with some properties. Most of the | |
# properties are optional. All of the alphabetical keys should have a letter for | |
# the `key` value such as `V`. Function keys are probably what you would expect | |
# as well (F1, F2, ..). The number keys above the main keyboard are encoded as | |
# `Key1`, `Key2`, etc. Keys on the number pad are encoded `Number1`, `Number2`, | |
# etc. These all match the glutin::VirtualKeyCode variants. | |
# | |
# A list with all available `key` names can be found here: | |
# https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants | |
# | |
# Possible values for `mods` | |
# `Command`, `Super` refer to the super/command/windows key | |
# `Control` for the control key | |
# `Shift` for the Shift key | |
# `Alt` and `Option` refer to alt/option | |
# | |
# mods may be combined with a `|`. For example, requiring control and shift | |
# looks like: | |
# | |
# mods: Control|Shift | |
# | |
# The parser is currently quite sensitive to whitespace and capitalization - | |
# capitalization must match exactly, and piped items must not have whitespace | |
# around them. | |
# | |
# Either an `action`, `chars`, or `command` field must be present. | |
# `action` must be one of `Paste`, `PasteSelection`, `Copy`, or `Quit`. | |
# `chars` writes the specified string every time that binding is activated. | |
# These should generally be escape sequences, but they can be configured to | |
# send arbitrary strings of bytes. | |
# `command` must be a map containing a `program` string, and `args` array of | |
# strings. For example: | |
# - { ... , command: { program: "alacritty", args: ["-e", "vttest"] } } | |
key_bindings: | |
- { key: V, mods: Command, action: Paste } | |
- { key: C, mods: Command, action: Copy } | |
- { key: Paste, action: Paste } | |
- { key: Copy, action: Copy } | |
# - { key: H, mods: Command, action: Hide } | |
- { key: Q, mods: Command, action: Quit } | |
# - { key: W, mods: Command, action: Quit } | |
- { key: Home, chars: "\x1bOH", mode: AppCursor } | |
- { key: Home, chars: "\x1b[H", mode: ~AppCursor } | |
- { key: End, chars: "\x1bOF", mode: AppCursor } | |
- { key: End, chars: "\x1b[F", mode: ~AppCursor } | |
- { key: Key0, mods: Command, action: ResetFontSize } | |
- { key: Equals, mods: Command, action: IncreaseFontSize } | |
- { key: Minus, mods: Command, action: DecreaseFontSize } | |
- { key: PageUp, mods: Shift, chars: "\x1b[5;2~" } | |
- { key: PageUp, mods: Control, chars: "\x1b[5;5~" } | |
- { key: PageUp, chars: "\x1b[5~" } | |
- { key: PageDown, mods: Shift, chars: "\x1b[6;2~" } | |
- { key: PageDown, mods: Control, chars: "\x1b[6;5~" } | |
- { key: PageDown, chars: "\x1b[6~" } | |
- { key: Tab, mods: Shift, chars: "\x1b[Z" } | |
- { key: Back, chars: "\x7f" } | |
- { key: Back, mods: Alt, chars: "\x1b\x7f" } | |
- { key: Insert, chars: "\x1b[2~" } | |
- { key: Delete, chars: "\x1b[3~" } | |
- { key: Left, mods: Shift, chars: "\x1b[1;2D" } | |
- { key: Left, mods: Control, chars: "\x1b[1;5D" } | |
- { key: Left, mods: Alt, chars: "\x1b[1;3D" } | |
- { key: Left, chars: "\x1b[D", mode: ~AppCursor } | |
- { key: Left, chars: "\x1bOD", mode: AppCursor } | |
- { key: Right, mods: Shift, chars: "\x1b[1;2C" } | |
- { key: Right, mods: Control, chars: "\x1b[1;5C" } | |
- { key: Right, mods: Alt, chars: "\x1b[1;3C" } | |
- { key: Right, chars: "\x1b[C", mode: ~AppCursor } | |
- { key: Right, chars: "\x1bOC", mode: AppCursor } | |
- { key: Up, mods: Shift, chars: "\x1b[1;2A" } | |
- { key: Up, mods: Control, chars: "\x1b[1;5A" } | |
- { key: Up, mods: Alt, chars: "\x1b[1;3A" } | |
- { key: Up, chars: "\x1b[A", mode: ~AppCursor } | |
- { key: Up, chars: "\x1bOA", mode: AppCursor } | |
- { key: Down, mods: Shift, chars: "\x1b[1;2B" } | |
- { key: Down, mods: Control, chars: "\x1b[1;5B" } | |
- { key: Down, mods: Alt, chars: "\x1b[1;3B" } | |
- { key: Down, chars: "\x1b[B", mode: ~AppCursor } | |
- { key: Down, chars: "\x1bOB", mode: AppCursor } | |
- { key: F1, chars: "\x1bOP" } | |
- { key: F2, chars: "\x1bOQ" } | |
- { key: F3, chars: "\x1bOR" } | |
- { key: F4, chars: "\x1bOS" } | |
- { key: F5, chars: "\x1b[15~" } | |
- { key: F6, chars: "\x1b[17~" } | |
- { key: F7, chars: "\x1b[18~" } | |
- { key: F8, chars: "\x1b[19~" } | |
- { key: F9, chars: "\x1b[20~" } | |
- { key: F10, chars: "\x1b[21~" } | |
- { key: F11, chars: "\x1b[23~" } | |
- { key: F12, chars: "\x1b[24~" } | |
- { key: F1, mods: Shift, chars: "\x1b[1;2P" } | |
- { key: F2, mods: Shift, chars: "\x1b[1;2Q" } | |
- { key: F3, mods: Shift, chars: "\x1b[1;2R" } | |
- { key: F4, mods: Shift, chars: "\x1b[1;2S" } | |
- { key: F5, mods: Shift, chars: "\x1b[15;2~" } | |
- { key: F6, mods: Shift, chars: "\x1b[17;2~" } | |
- { key: F7, mods: Shift, chars: "\x1b[18;2~" } | |
- { key: F8, mods: Shift, chars: "\x1b[19;2~" } | |
- { key: F9, mods: Shift, chars: "\x1b[20;2~" } | |
- { key: F10, mods: Shift, chars: "\x1b[21;2~" } | |
- { key: F11, mods: Shift, chars: "\x1b[23;2~" } | |
- { key: F12, mods: Shift, chars: "\x1b[24;2~" } | |
- { key: F1, mods: Control, chars: "\x1b[1;5P" } | |
- { key: F2, mods: Control, chars: "\x1b[1;5Q" } | |
- { key: F3, mods: Control, chars: "\x1b[1;5R" } | |
- { key: F4, mods: Control, chars: "\x1b[1;5S" } | |
- { key: F5, mods: Control, chars: "\x1b[15;5~" } | |
- { key: F6, mods: Control, chars: "\x1b[17;5~" } | |
- { key: F7, mods: Control, chars: "\x1b[18;5~" } | |
- { key: F8, mods: Control, chars: "\x1b[19;5~" } | |
- { key: F9, mods: Control, chars: "\x1b[20;5~" } | |
- { key: F10, mods: Control, chars: "\x1b[21;5~" } | |
- { key: F11, mods: Control, chars: "\x1b[23;5~" } | |
- { key: F12, mods: Control, chars: "\x1b[24;5~" } | |
- { key: F1, mods: Alt, chars: "\x1b[1;6P" } | |
- { key: F2, mods: Alt, chars: "\x1b[1;6Q" } | |
- { key: F3, mods: Alt, chars: "\x1b[1;6R" } | |
- { key: F4, mods: Alt, chars: "\x1b[1;6S" } | |
- { key: F5, mods: Alt, chars: "\x1b[15;6~" } | |
- { key: F6, mods: Alt, chars: "\x1b[17;6~" } | |
- { key: F7, mods: Alt, chars: "\x1b[18;6~" } | |
- { key: F8, mods: Alt, chars: "\x1b[19;6~" } | |
- { key: F9, mods: Alt, chars: "\x1b[20;6~" } | |
- { key: F10, mods: Alt, chars: "\x1b[21;6~" } | |
- { key: F11, mods: Alt, chars: "\x1b[23;6~" } | |
- { key: F12, mods: Alt, chars: "\x1b[24;6~" } | |
- { key: F1, mods: Command, chars: "\x1b[1;3P" } | |
- { key: F2, mods: Command, chars: "\x1b[1;3Q" } | |
- { key: F3, mods: Command, chars: "\x1b[1;3R" } | |
- { key: F4, mods: Command, chars: "\x1b[1;3S" } | |
- { key: F5, mods: Command, chars: "\x1b[15;3~" } | |
- { key: F6, mods: Command, chars: "\x1b[17;3~" } | |
- { key: F7, mods: Command, chars: "\x1b[18;3~" } | |
- { key: F8, mods: Command, chars: "\x1b[19;3~" } | |
- { key: F9, mods: Command, chars: "\x1b[20;3~" } | |
- { key: F10, mods: Command, chars: "\x1b[21;3~" } | |
- { key: F11, mods: Command, chars: "\x1b[23;3~" } | |
- { key: F12, mods: Command, chars: "\x1b[24;3~" } | |
- { key: NumpadEnter, chars: "\n" } | |
- { key: D, mods: Command, chars: "\x06\x76" } | |
- { key: D, mods: Command|Shift, chars: "\x06\x73" } | |
- { key: W, mods: Command, chars: "\x06\x78" } | |
- { key: H, mods: Command, chars: "\x06\x68" } | |
- { key: J, mods: Command, chars: "\x06\x6a" } | |
- { key: K, mods: Command, chars: "\x06\x6b" } | |
- { key: L, mods: Command, chars: "\x06\x6c" } | |
- { key: T, mods: Command, chars: "\x06\x63" } | |
- { key: Key1, mods: Command, chars: "\x06\x31" } | |
- { key: Key2, mods: Command, chars: "\x06\x32" } | |
- { key: Key3, mods: Command, chars: "\x06\x33" } | |
- { key: Key4, mods: Command, chars: "\x06\x34" } | |
- { key: Key5, mods: Command, chars: "\x06\x35" } | |
- { key: Key6, mods: Command, chars: "\x06\x36" } | |
- { key: Key7, mods: Command, chars: "\x06\x37" } | |
- { key: Key8, mods: Command, chars: "\x06\x38" } | |
- { key: Key9, mods: Command, chars: "\x06\x39" } | |
- { key: Left, mods: Command, chars: "\x06\x48" } | |
- { key: Down, mods: Command, chars: "\x06\x4a" } | |
- { key: Up, mods: Command, chars: "\x06\x4b" } | |
- { key: Right, mods: Command, chars: "\x06\x4c" } | |
- { key: PageUp, mods: Shift, action: ScrollPageUp } | |
- { key: PageDown, mods: Shift, action: ScrollPageDown } | |
- { key: End, mods: Shift, action: ScrollToBottom } | |
- { key: Home, mods: Shift, action: ScrollToTop } | |
- { key: K, mods: Command, action: ClearHistory } | |
- { key: K, mods: Command, chars: "\x0c" } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let $LANG = 'en' "set message language | |
set langmenu=en "set menu's language of gvim. no spaces beside '=' | |
" Specify a directory for plugins | |
" - For Neovim: ~/.local/share/nvim/plugged | |
" - Avoid using standard Vim directory names like 'plugin' | |
call plug#begin('~/.vim/plugged') | |
" Plug 'vim-scripts/Align' | |
" Plug 'vim-scripts/L9' | |
" Plug 'vim-scripts/FuzzyFinder' | |
" On-deand loading | |
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } | |
Plug 'c9s/helper.vim' | |
Plug 'c9s/treemenu.vim' | |
Plug 'c9s/hypergit.vim' | |
Plug 'tpope/vim-fugitive' | |
Plug 'tpope/vim-speeddating' | |
" Plug 'tpope/vim-unimpaired' | |
Plug 'tpope/vim-surround' | |
Plug 'airblade/vim-gitgutter' | |
Plug 'mileszs/ack.vim' | |
Plug 'rhysd/conflict-marker.vim' | |
Plug 'godlygeek/tabular' | |
Plug 'plasticboy/vim-markdown' | |
Plug 'ntpeters/vim-better-whitespace' | |
Plug 'Xuyuanp/nerdtree-git-plugin' | |
Plug 'kana/vim-fakeclip' | |
Plug 'Valloric/YouCompleteMe', { 'do': './install.py --clang-completer --go-completer' } | |
Plug 'majutsushi/tagbar' | |
Plug 'nathanaelkane/vim-indent-guides' | |
Plug 'ekalinin/Dockerfile.vim', {'for' : 'Dockerfile'} | |
Plug 'elzr/vim-json', {'for' : 'json'} | |
Plug 'w0rp/ale' | |
Plug 'benmills/vimux' | |
" Go | |
Plug 'fatih/vim-go' | |
Plug 'towolf/vim-helm' | |
" Plug 'nsf/gocode', { 'rtp': 'vim', 'do': '~/.vim/plugged/gocode/vim/symlink.sh' } | |
" indent | |
Plug 'Yggdroot/indentLine' | |
" ansible | |
" Plug 'pearofducks/ansible-vim' | |
" Color Theme | |
Plug 'arcticicestudio/nord-vim' | |
Plug 'connorholyday/vim-snazzy' | |
" Plug 'dracula/vim', { 'as': 'dracula' } | |
" Initialize plugin system | |
call plug#end() | |
"===================================================== | |
" General VIM Settings | |
""===================== SETTINGS ====================== | |
set nocompatible | |
filetype off | |
filetype plugin indent on | |
" color | |
syntax enable | |
set t_Co=256 | |
set background=dark | |
" colors ir_black | |
colorscheme nord | |
" colorscheme snazzy | |
" colorscheme dracula | |
noremap <Up> <NOP> | |
noremap <Down> <NOP> | |
noremap <Left> <NOP> | |
noremap <Right> <NOP> | |
"===================== CTAGS ====================== | |
nmap <leader>l :TagbarToggle<CR> | |
"===================== ACK/AG ====================== | |
nmap <leader>ak :AckFromSearch<CR> | |
if has('nvim') | |
let g:gitgutter_sign_removed_first_line = "^_" | |
endif | |
if !has('nvim') | |
set ttymouse=xterm2 | |
set ttyscroll=3 | |
endif | |
set ttyfast | |
set expandtab | |
set sidescroll=1 | |
set sidescrolloff=3 | |
set showfulltag showmatch showcmd showmode | |
set textwidth=0 | |
set noerrorbells | |
set ambiwidth=double | |
set formatoptions=tcroqnlM1 | |
" scroll jump && scroll off | |
set sj=1 so=3 | |
set winaltkeys=no showtabline=2 hlsearch | |
set nolazyredraw | |
"If you want to put swap files in a fixed place, put a command resembling the | |
"following ones in your .vimrc | |
" set dir=~/tmp | |
set noswapfile | |
set wildmenu | |
set wildmode=longest,list | |
set wildignore+=*.o,*.a,*.so,*.obj,*.lib,*.ncb,*.opt,*.plg,.svn,.git,*.lo,*.la,*.in | |
" set wildoptions | |
" statusline format | |
set statusline=%<%f\ %h%m%r%=%k[%{(&fenc==\"\")?&enc:&fenc}%{(&bomb?\",bom\":\"\")}]\ %-14.(%l,%c%v%)\ %p | |
" history | |
set history=500 | |
set shiftround smarttab showcmd noerrorbells number expandtab | |
set sw=4 ts=4 sts=4 | |
" no error bell,visual bell | |
" set novb | |
set modeline | |
set mat=15 | |
" increase max memory to show syntax highlighting for large files | |
set maxmempattern=20000 | |
set noignorecase | |
if has('persistent_undo') | |
set undofile | |
set undodir=~/.cache/vim | |
endif | |
" current is no smartcase for command line completion ignorecase | |
"set smartcase | |
set ruler incsearch nowrap autoindent smartindent showmatch bs=indent,eol,start | |
set ff=unix | |
"set wm=6 | |
" encoding | |
" set fileencodings=utf-8,big5,gbk,sjis,euc-jp,euc-kr,utf-bom,iso8859-1 | |
set fenc=utf-8 | |
" set fencs=utf-8,utf-16le,big5,euc-jp,utf-bom,iso8859-1,utf-16le | |
" set fencs=ucs-bom,big5,utf-8,euc-jp,utf-bom,iso8859-1,utf-16le | |
" set fencs=shift-jis,big5,euc-jp,utf-8,utf-16le | |
" set fencs=utf-8,big5,euc-jp,utf-bom,iso8859-1,utf-16le | |
set fileencodings=ucs-bom,utf-8,euc-jp,big-5,sjis,default | |
set enc=utf-8 | |
set tenc=utf-8 | |
" =========================================================== }}} | |
" fold options ============================================ {{{ | |
"set fdt=FoldText() | |
set nofoldenable | |
set vop=folds,cursor | |
" set fdc=2 " fdc: fold column | |
set fdn=2 " fdn: fold nest max | |
set fdl=3 " fdl: fold level | |
" window resize mapping "{{{ | |
nm <a-x> <c-w><c-w><c-w>_ | |
nm <a-=> <c-w>= | |
nn <c-w>9 8<c-w>+ | |
nn <c-w>0 8<c-w>- | |
"}}} | |
" Bash-like command mapping ================================= "{{{ | |
cnoremap <c-a> <home> | |
cnoremap <c-e> <end> | |
cnoremap <c-b> <left> | |
cnoremap <c-d> <del> | |
cnoremap <c-f> <right> | |
cnoremap <C-_> <c-f> | |
cnoremap <c-n> <down> | |
cnoremap <c-p> <up> | |
cnoremap <C-*> <c-a> | |
" Space commands {{{ all space command : expand tab to space. | |
com! -nargs=0 AllSpace :setlocal et | retab! | |
cabbr allspace AllSpace | |
" Mac Custom tabpage key for mac and other platform {{{ | |
" window size key for macbook | |
if ( has('gui_mac') || has('gui_macvim') ) && has('gui_running') | |
nmap <silent> <D--> :resize -5<CR> | |
nmap <silent> <D-=> :resize +5<CR> | |
nmap <silent> <D-]> :vertical resize +5<CR> | |
nmap <silent> <D-[> :vertical resize -5<CR> | |
nmap <silent> <D-\> <C-w><C-w> | |
" nmap <c-x>tf :tabfind | |
" nmap <c-x>th :tab help<CR> | |
nmap <D-s> :w<CR> | |
" Switch to specific tab numbers with Command-number | |
noremap <D-1> :tabn 1<CR> | |
noremap <D-2> :tabn 2<CR> | |
noremap <D-3> :tabn 3<CR> | |
noremap <D-4> :tabn 4<CR> | |
noremap <D-5> :tabn 5<CR> | |
noremap <D-6> :tabn 6<CR> | |
noremap <D-7> :tabn 7<CR> | |
noremap <D-8> :tabn 8<CR> | |
noremap <D-9> :tabn 9<CR> | |
" Command-0 goes to the last tab | |
noremap <D-0> :tablast<CR> | |
endif | |
nm <c-n> gt | |
nm <c-p> gT | |
nmap te :tabedit | |
nmap ts :tabedit % | |
" Trim white space =========================== | |
fun! TrimWhitespace() | |
let l:save = winsaveview() | |
%s/\s\+$//e | |
call winrestview(l:save) | |
endfun | |
command! TrimWhitespace call TrimWhitespace() | |
noremap <leader>t :call TrimWhitespace()<CR> | |
" Plugin Settings | |
" ==================== Fugitive ==================== | |
vnoremap <leader>gb :Gblame<CR> | |
nnoremap <leader>gb :Gblame<CR> | |
" Valloric/YouCompleteMe: YouCompleteMe | |
let g:ycm_min_num_of_chars_for_completion = 3 | |
set completeopt-=preview | |
" let g:ycm_autoclose_preview_window_after_completion = 1 | |
" w0rp/ale: Asynchronous Lint Engine | |
let g:ale_linters = { 'Go': ['golint', 'go vet'] } | |
" ==================== markdown ==================== | |
" plasticboy/vim-markdown | |
let g:vim_markdown_folding_disabled = 1 | |
let g:vim_markdown_frontmatter = 1 " YMAL Front Matter | |
let g:vim_markdown_json_frontmatter = 1 " JSON Front Mattetaugroup | |
let g:vim_markdown_fenced_languages = ['go=go', 'viml=vim', 'bash=sh'] | |
let g:vim_markdown_conceal = 0 | |
let g:vim_markdown_toml_frontmatter = 1 | |
let g:vim_markdown_new_list_item_indent = 2 | |
let g:vim_markdown_no_extensions_in_markdown = 1 | |
" ==================== vim-json ==================== | |
let g:vim_json_syntax_conceal = 0 | |
" fatih/vim-go | |
let g:go_info_mode = "gocode" | |
let g:go_def_mode = "gopls" | |
let g:go_fmt_command = "goimports" | |
let g:go_debug_windows = { | |
\ 'vars': 'leftabove 35vnew', | |
\ 'stack': 'botright 10new', | |
\ } | |
let g:go_fmt_fail_silently = 1 | |
let g:go_fmt_autosave = 1 | |
let g:go_highlight_functions = 1 | |
let g:go_highlight_methods = 1 | |
let g:go_highlight_structs = 1 | |
let g:go_highlight_operators = 1 | |
let g:go_highlight_build_constraints = 1 | |
let g:tagbar_type_go = { | |
\ 'ctagstype' : 'go', | |
\ 'kinds' : [ | |
\ 'p:package', | |
\ 'i:imports:1', | |
\ 'c:constants', | |
\ 'v:variables', | |
\ 't:types', | |
\ 'n:interfaces', | |
\ 'w:fields', | |
\ 'e:embedded', | |
\ 'm:methods', | |
\ 'r:constructor', | |
\ 'f:functions' | |
\ ], | |
\ 'sro' : '.', | |
\ 'kind2scope' : { | |
\ 't' : 'ctype', | |
\ 'n' : 'ntype' | |
\ }, | |
\ 'scope2kind' : { | |
\ 'ctype' : 't', | |
\ 'ntype' : 'n' | |
\ }, | |
\ 'ctagsbin' : 'gotags', | |
\ 'ctagsargs' : '-sort -silent' | |
\ } | |
nmap <silent> <leader>b :GoBuild<CR> | |
nmap <silent> <leader>gt :GoTest<CR> | |
nmap <silent> <leader>gr :GoReferrers<CR> | |
nmap <silent> <leader>gf :GoFillStruct<CR> | |
nmap <silent> <leader>ms :VimuxRunCommand("make src.build")<CR> | |
nmap <silent> <leader>qq :VimuxCloseRunner<CR> | |
nmap <silent> <leader>te :VimuxTogglePane<CR> | |
" ==================== vimux ==================== | |
let g:VimuxHeight = "10" | |
" ==================== ag ==================== | |
if executable('ag') | |
let g:ackprg = 'ag --vimgrep --smart-case' | |
cnoreabbrev ag Ack | |
cnoreabbrev Ag Ack | |
endif | |
" ==================== NerdTree ==================== | |
" " For toggling | |
nmap <silent> <leader>e :NERDTreeToggle<CR> | |
nmap <silent> <leader>nf :NERDTreeFind<CR> | |
nmap <silent> <leader>nm :NERDTreeMirror<CR> | |
cabbr ntf NERDTreeFind | |
cabbr ntm NERDTreeMirror | |
function! StartUp() | |
if 0 == argc() | |
NERDTree | |
end | |
endfunction | |
autocmd VimEnter * call StartUp() | |
" Performance improvments when using vim in tmux | |
if has("mac") | |
set nocursorline | |
if exists("+relativenumber") | |
set norelativenumber | |
endif | |
set foldlevel=0 | |
set foldmethod=manual | |
endif | |
" MacVim Settings | |
if has('gui_macvim') | |
set showtabline=2 | |
set imdisable | |
set transparency=0 " 透明度を指定 | |
set guioptions-=m | |
set guioptions-=M | |
set antialias | |
set guifont=SF\ Mono:h16 | |
" set guifont=Consolas:h12 | |
" set guifont=Monaco:h14 | |
" set guifont=Menlo:h12 | |
endif |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment