initial commit
This commit is contained in:
commit
3e903cf7aa
|
@ -0,0 +1,11 @@
|
|||
dCvArbY7gJrPYVF+JWK+EoPH8BurVDAeaDLxDHn9uHPZFhcbb7UpptYMEdxq8EKL
|
||||
cfPHPJbkc1DEydL6zlgQIkbXGVFH+pVMtWpX9ADyVE6g6NJ1ouXRLFD79ikHt6sz
|
||||
sIlihssIOahrcURKK5/W52CwDZT9/aY1m1lJUktbW3pmfNFQ3O9oXpDjYyjosPrn
|
||||
n2Mnbicb85xxrnz5pRhLt+qw9EalNa1Jqi4e60QL4j8ZvhIoHWPoyhKDwahjzKCk
|
||||
K3LVpLMPLMSN6TshVvmOUCy5f9Je4fEZBT2Ds/1aJkHbbKlIvk62QmfUKdKJeTbR
|
||||
mtlIs2jSICX43RqdzJnwK6ZynBQ7GU+D5iicEB9jtgtk1UsoEXdMjsqUs4ECi4GQ
|
||||
bJxpdiUxuTuoZaMeniOzzDu52dbSt3fp8z9w+8u0moszGaLEg7lRZSIvKtQ+OHee
|
||||
BFFzJ9bgdI8JC/2HZXsvFujUDPwJW14RHn8x5HgDY0L8HPvmQaTQeVW3tG8zzLfN
|
||||
J4O2KtN1TfcwNLdZF2VF60UY2XhQdBhNR5gT4m3k8a+7XLJ9vc95VuFG+qxU2eZ9
|
||||
vqG+UPkGStDworV6p8tLy5RYh9WF+oKr+IRSREQzOk1r+GQm59X06zzoKgKwIB9U
|
||||
9MYvIna0gXvpvLcbZjvhkMlttwJ8y+URJ20UxqzNubM=
|
|
@ -0,0 +1,93 @@
|
|||
[user]
|
||||
name = Kazuhiro MUSASHI
|
||||
email = simoom634@yahoo.co.jp
|
||||
|
||||
[color]
|
||||
# colorの設定(以下のコマンドは自動で色つける)
|
||||
status = auto
|
||||
diff = auto
|
||||
branch = auto
|
||||
interactive = auto
|
||||
grep = auto
|
||||
|
||||
[core]
|
||||
editor = /usr/bin/vim
|
||||
|
||||
[alias]
|
||||
# log関連
|
||||
logg = !git log --reverse --oneline main..`git symbolic-ref HEAD` | fzf --preview 'git show --oneline --color=always {1}'
|
||||
|
||||
# log + graph
|
||||
graph = log --graph --pretty=format:'%C(yellow)%h%C(cyan)%d%Creset %s %C(white)- %an, %ar%Creset'
|
||||
|
||||
# status - shorter version
|
||||
s = status -s -b
|
||||
|
||||
# status
|
||||
st = status
|
||||
|
||||
# diff
|
||||
d = "!f() { args=$@; [ -z \"$args\" ] && args=HEAD; ([ \"$args\" = \"HEAD\" ] && git status --short || git diff --name-status $args | sed 's/\t/ /') | fzf --preview \"echo {} | cut -c 4- | xargs git diff --color=always $args --\" --multi --height 90% | cut -c 4-; }; f"
|
||||
|
||||
# checkout
|
||||
co = "!f() { args=$@; if [ -z \"$args\" ]; then branch=$(git branch --all | grep -v HEAD | fzf --preview 'echo {} | cut -c 3- | xargs git log --color=always'); git checkout $(echo $branch | sed 's#remotes/[^/]*/##'); else git checkout $args; fi }; f"
|
||||
|
||||
# commit
|
||||
c = commit
|
||||
|
||||
# init, add, and commit
|
||||
prep = !git init && git add . && git commit -m \"initial commit\"
|
||||
|
||||
# add
|
||||
a = !git add . && git now
|
||||
|
||||
# alias
|
||||
alias = !git config --list | grep 'alias\\.' | sed 's/alias\\.\\([^=]*\\)=\\(.*\\)/\\1\\\t => \\2/' | sort
|
||||
|
||||
# tags
|
||||
# http://qiita.com/items/2b9d9560381bbe316818
|
||||
tags = for-each-ref --sort=-taggerdate --format='%(taggerdate:short) %(tag) %(taggername) %(subject)' refs/tags
|
||||
|
||||
# git update
|
||||
# http://qiita.com/tomy_kaira/items/2e1d575202e14a28b600
|
||||
update = "!sh -c 'git ft; git rsm; git delete-merged-branches'"
|
||||
ft = fetch --prune
|
||||
rsm = update-ref refs/heads/main origin/main
|
||||
delete-merged-branches = !"brs=`git branch --merged main | grep -Ev '(main|dev)' | grep -v '*'` && git branch -D $brs || true"
|
||||
up = "!git remote update -p; git merge --ff-only @{u}; git delete-merged-branches"
|
||||
|
||||
# git now rebase
|
||||
nr = "!git now rebase"
|
||||
|
||||
# git mkbranch = git co -b [branch name]
|
||||
mkbranch = checkout -b
|
||||
|
||||
# git empty = git commit --allow-empty
|
||||
empty = commit --allow-empty -m "[WIP] " -e
|
||||
|
||||
# git r, meaning `git rebase -i HEAD~` from the 1st commit in the current branch to the last.
|
||||
r = "!git rebase --keep-empty -i HEAD~$(git log --pretty=oneline main..$(git symbolic-ref HEAD) | wc -l | sed -Ee 's/ +//')"
|
||||
|
||||
stl = !git stash list | fzf --preview 'echo {} | grep -o stash@{.*} | xargs git stash show -p --color=always' --height 90% | grep -o stash@{.*}
|
||||
sta = !git stl | xargs git stash apply
|
||||
std = !git stl | xargs git stash drop
|
||||
|
||||
# git chls
|
||||
chls = !git log --name-status --oneline main..`git symbolic-ref HEAD` --reverse
|
||||
|
||||
[merge]
|
||||
# from 1.7.6
|
||||
ff = false
|
||||
|
||||
[pull]
|
||||
# from 1.7.9
|
||||
rebase = true
|
||||
[credential]
|
||||
helper = cache
|
||||
[filter "lfs"]
|
||||
smudge = git-lfs smudge -- %f
|
||||
process = git-lfs filter-process
|
||||
required = true
|
||||
clean = git-lfs clean -- %f
|
||||
[init]
|
||||
defaultBranch = main
|
|
@ -0,0 +1,43 @@
|
|||
Desktop/
|
||||
Documents/
|
||||
Downloads/
|
||||
Dropbox/
|
||||
Library/
|
||||
Movies/
|
||||
Music
|
||||
Pictures
|
||||
Public/
|
||||
Sites/
|
||||
Wallpapers/
|
||||
bin
|
||||
emacs
|
||||
emacs.el
|
||||
junk/
|
||||
working
|
||||
.CFUserTextEncoding
|
||||
.DS_Store
|
||||
.Trash/
|
||||
.emacs.d
|
||||
.emacs
|
||||
*.swp
|
||||
.bash_history
|
||||
.cpanm/
|
||||
.dropbox/
|
||||
.dvdcss/
|
||||
.hatena/
|
||||
.migemo-pattern
|
||||
.neocon/
|
||||
.recentf
|
||||
.rnd
|
||||
.sqlite_history
|
||||
.ssh/
|
||||
.subversion/
|
||||
.unite/
|
||||
.vim
|
||||
.vim-vundle/
|
||||
.viminfo
|
||||
.zcompdump
|
||||
.zhistory
|
||||
Eye-Fi Card.log
|
||||
tmux-*.log
|
||||
.zcompcache/
|
|
@ -0,0 +1,28 @@
|
|||
# Misc
|
||||
startup_message off # おまけ: 起動画面OFF
|
||||
autodetach on # おまけ: 回線切断時に自動でdetach
|
||||
defscrollback 1024 # おまけ: スクロールバッファ行数を増やす
|
||||
|
||||
# Key bind
|
||||
escape ^Zz
|
||||
|
||||
# I like a large scrollback buffer.
|
||||
defscrollback 1000
|
||||
|
||||
# Logging
|
||||
logfile "/home/kazu634/log/screen-%Y%m%d-%n.log"
|
||||
log on
|
||||
deflog on
|
||||
|
||||
# Status Line
|
||||
hardstatus alwayslastline '%m/%d %02c:%s %{= .g}%H%{-} %L=%-w%45L>%{=u g.}%n %t%{-}%+w'
|
||||
|
||||
# Caption
|
||||
caption always '%?%F%{= gW}%:%{= Kk}%?%2n%f%07=%t%='
|
||||
|
||||
# sorendition
|
||||
sorendition "+rb .G"
|
||||
|
||||
# Screen saver
|
||||
idle 180
|
||||
blankerprg /usr/games/fortune starwars
|
|
@ -0,0 +1,112 @@
|
|||
# ------------------------- #
|
||||
# PREFIX
|
||||
# ------------------------- #
|
||||
|
||||
# Unbind the default PREFIX key
|
||||
unbind C-b
|
||||
|
||||
# Define a PREFIX key
|
||||
set -g prefix C-z
|
||||
|
||||
# ------------------------- #
|
||||
# Delay
|
||||
# ------------------------- #
|
||||
|
||||
set -s escape-time 1
|
||||
|
||||
# ------------------------- #
|
||||
# Base index for window and panes
|
||||
# ------------------------- #
|
||||
|
||||
set -g base-index 1
|
||||
setw -g pane-base-index 1
|
||||
|
||||
# ------------------------- #
|
||||
# key-bindings
|
||||
# ------------------------- #
|
||||
|
||||
# Reloading the source file.
|
||||
bind r source-file ${HOME}/.tmux.conf \; display "~/.tmux.conf reloaded."
|
||||
|
||||
# Spliting the window
|
||||
bind | split-window -h
|
||||
bind - split-window -v
|
||||
|
||||
# Movement keys
|
||||
bind h select-pane -L
|
||||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
|
||||
# Movement, when pressing TAB
|
||||
unbind Tab
|
||||
bind Tab select-pane -t :.+
|
||||
|
||||
# vi-like keybindings, when copy-mode
|
||||
set-window-option -g mode-keys vi
|
||||
|
||||
# Resize panes, using vim keybindings
|
||||
bind -r H resize-pane -L 5
|
||||
bind -r J resize-pane -D 5
|
||||
bind -r K resize-pane -U 5
|
||||
bind -r L resize-pane -R 5
|
||||
|
||||
# ------------------------ #
|
||||
# mouse mode
|
||||
# ------------------------ #
|
||||
|
||||
# setw -g mode-mouse off
|
||||
|
||||
# ------------------------- #
|
||||
# Status bar
|
||||
# ------------------------- #
|
||||
|
||||
setw -g monitor-activity on
|
||||
set -g visual-activity on
|
||||
|
||||
set -g status-right "@#(uname -n) %Y/%m/%d %H:%M:%S"
|
||||
|
||||
# ------------------------- #
|
||||
# Colour (Solarized dark)
|
||||
# ------------------------- #
|
||||
|
||||
# default statusbar colors
|
||||
set-option -g status-style bg=black,fg=yellow,default
|
||||
|
||||
# default window title colors
|
||||
set-window-option -g window-status-style fg=brightblue,bg=default
|
||||
#set-window-option -g window-status-attr dim
|
||||
|
||||
# active window title colors
|
||||
set-window-option -g window-status-current-style fg=brightred,bg=default
|
||||
#set-window-option -g window-status-current-attr bright
|
||||
|
||||
# pane border
|
||||
set-option -g pane-border-style fg=black
|
||||
set-option -g pane-active-border-style fg=brightgreen
|
||||
|
||||
# message text
|
||||
set-option -g message-style bg=black,fg=brightred
|
||||
|
||||
# pane number display
|
||||
set-option -g display-panes-active-colour blue #blue
|
||||
set-option -g display-panes-colour brightred #orange
|
||||
|
||||
# clock
|
||||
set-window-option -g clock-mode-colour green #green
|
||||
|
||||
# Screensaver
|
||||
set -g lock-after-time 60
|
||||
set -g lock-command "/usr/games/fortune starwar"
|
||||
|
||||
|
||||
set -g default-terminal "tmux-256color"
|
||||
# Update with value from default-terminal
|
||||
set -ga terminal-overrides ",tmux-256color:Tc"
|
||||
|
||||
# Ms modifies OSC 52 clipboard handling to work with mosh, see
|
||||
# https://gist.github.com/yudai/95b20e3da66df1b066531997f982b57b
|
||||
set -ag terminal-overrides "vte*:XT:Ms=\\E]52;c;%p2%s\\7,xterm*:XT:Ms=\\E]52;c;%p2%s\\7"
|
||||
|
||||
# enable OSC 52 clipboard
|
||||
set -g set-clipboard on
|
|
@ -0,0 +1,391 @@
|
|||
set nocompatible " Be iMproved
|
||||
filetype off " Required!
|
||||
|
||||
if has('vim_starting')
|
||||
set runtimepath+=~/.vim/bundle/neobundle.vim/
|
||||
endif
|
||||
|
||||
call neobundle#begin(expand('~/.vim/bundle/'))
|
||||
|
||||
NeoBundleFetch "Shougo/neobundle.vim"
|
||||
|
||||
" my bundles here:
|
||||
|
||||
NeoBundle 'Shougo/neocomplcache.git'
|
||||
NeoBundle 'Shougo/neosnippet.git'
|
||||
NeoBundle 'Shougo/unite.vim.git'
|
||||
NeoBundle "thinca/vim-quickrun"
|
||||
NeoBundle 'vim-scripts/sudo.vim'
|
||||
NeoBundle 'tpope/vim-surround.git'
|
||||
NeoBundle 'h1mesuke/vim-alignta'
|
||||
NeoBundle 'kana/vim-smartchr'
|
||||
NeoBundle 'vim-ruby/vim-ruby'
|
||||
NeoBundle 'AutoClose'
|
||||
NeoBundle 'nathanaelkane/vim-indent-guides'
|
||||
NeoBundle 'honza/vim-snippets'
|
||||
NeoBundle 'mattn/emmet-vim'
|
||||
NeoBundle 'jiangmiao/simple-javascript-indenter'
|
||||
NeoBundle 'OpsRockin/opscode_chef.vim_dict'
|
||||
NeoBundle 'Shougo/neosnippet-snippets'
|
||||
|
||||
NeoBundle 'w0rp/ale'
|
||||
|
||||
NeoBundle 'Shougo/vimproc.git', {
|
||||
\ 'build' : {
|
||||
\ 'mac' : 'make -f make_mac.mak',
|
||||
\ 'unix' : 'make -f make_unix.mak',
|
||||
\ },
|
||||
\ }
|
||||
|
||||
NeoBundle 'prabirshrestha/vim-lsp'
|
||||
NeoBundle 'mattn/vim-lsp-settings'
|
||||
NeoBundle 'fatih/vim-go'
|
||||
|
||||
call neobundle#end()
|
||||
|
||||
" Required!
|
||||
filetype plugin indent on
|
||||
|
||||
" If there are uninstalled bundles found on startup,
|
||||
" this will conveniently prompt you to install them.
|
||||
NeoBundleCheck
|
||||
|
||||
" -------------------------------------------------------------------------------
|
||||
" <NeoComplcache>
|
||||
" -------------------------------------------------------------------------------
|
||||
|
||||
" Disable AutoComplPop. Comment out this line if AutoComplPop is not installed.
|
||||
" let g:acp_enableAtStartup = 0
|
||||
|
||||
" Launches neocomplcache automatically on vim startup.
|
||||
let g:neocomplcache_enable_at_startup = 1
|
||||
|
||||
" Use smartcase.
|
||||
let g:neocomplcache_enable_smart_case = 1
|
||||
|
||||
" Use camel case completion.
|
||||
let g:neocomplcache_enable_camel_case_completion = 1
|
||||
|
||||
" Use underscore completion.
|
||||
let g:neocomplcache_enable_underbar_completion = 1
|
||||
|
||||
" Sets minimum char length of syntax keyword.
|
||||
let g:neocomplcache_min_syntax_length = 3
|
||||
|
||||
" buffer file name pattern that locks neocomplcache. e.g. ku.vim or fuzzyfinder
|
||||
let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'
|
||||
|
||||
" Define file-type dependent dictionaries.
|
||||
let g:neocomplcache_dictionary_filetype_lists = {
|
||||
\ 'default' : '',
|
||||
\ 'vimshell' : $HOME.'/.vimshell_hist',
|
||||
\ }
|
||||
|
||||
" Define keyword, for minor languages
|
||||
if !exists('g:neocomplcache_keyword_patterns')
|
||||
let g:neocomplcache_keyword_patterns = {}
|
||||
endif
|
||||
let g:neocomplcache_keyword_patterns['default'] = '\h\w*'
|
||||
|
||||
" Recommended key-mappings.
|
||||
" <CR>: close popup and save indent.
|
||||
inoremap <expr><CR> neocomplcache#smart_close_popup() . "\<CR>"
|
||||
|
||||
" <TAB>: completion.
|
||||
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
|
||||
|
||||
" <C-h>, <BS>: close popup and delete backword char.
|
||||
inoremap <expr><C-h> neocomplcache#smart_close_popup()."\<C-h>"
|
||||
inoremap <expr><BS> neocomplcache#smart_close_popup()."\<C-h>"
|
||||
inoremap <expr><C-y> neocomplcache#close_popup()
|
||||
inoremap <expr><C-e> neocomplcache#cancel_popup()
|
||||
|
||||
" AutoComplPop like behavior.
|
||||
"let g:neocomplcache_enable_auto_select = 1
|
||||
|
||||
" Shell like behavior(not recommended).
|
||||
"set completeopt+=longest
|
||||
"let g:neocomplcache_enable_auto_select = 1
|
||||
"let g:neocomplcache_disable_auto_complete = 1
|
||||
"inoremap <expr><TAB> pumvisible() ? "\<Down>" : "\<TAB>"
|
||||
"inoremap <expr><CR> neocomplcache#smart_close_popup() . "\<CR>"
|
||||
|
||||
" Enable omni completion. Not required if they are already set elsewhere in .vimrc
|
||||
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
|
||||
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
|
||||
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
|
||||
autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
|
||||
autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
|
||||
|
||||
" Enable heavy omni completion, which require computational power and may stall the vim.
|
||||
if !exists('g:neocomplcache_omni_patterns')
|
||||
let g:neocomplcache_omni_patterns = {}
|
||||
endif
|
||||
|
||||
let g:neocomplcache_omni_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::'
|
||||
"autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete
|
||||
let g:neocomplcache_omni_patterns.php = '[^. \t]->\h\w*\|\h\w*::'
|
||||
let g:neocomplcache_omni_patterns.c = '\%(\.\|->\)\h\w*'
|
||||
let g:neocomplcache_omni_patterns.cpp = '\h\w*\%(\.\|->\)\h\w*\|\h\w*::'
|
||||
|
||||
|
||||
" -------------------------------------------------------------------------------
|
||||
" <NeoSnippet>
|
||||
" -------------------------------------------------------------------------------
|
||||
|
||||
" Plugin key-mappings.
|
||||
imap <C-k> <Plug>(neosnippet_expand_or_jump)
|
||||
smap <C-k> <Plug>(neosnippet_expand_or_jump)
|
||||
xmap <C-k> <Plug>(neosnippet_expand_target)
|
||||
|
||||
" SuperTab like snippets behavior.
|
||||
imap <expr><TAB> neosnippet#expandable_or_jumpable() ?
|
||||
\ "\<Plug>(neosnippet_expand_or_jump)"
|
||||
\: pumvisible() ? "\<C-n>" : "\<TAB>"
|
||||
smap <expr><TAB> neosnippet#expandable_or_jumpable() ?
|
||||
\ "\<Plug>(neosnippet_expand_or_jump)"
|
||||
\: "\<TAB>"
|
||||
|
||||
" For snippet_complete marker.
|
||||
if has('conceal')
|
||||
set conceallevel=2 concealcursor=i
|
||||
endif
|
||||
|
||||
" Enable snipMate compatibility feature.
|
||||
let g:neosnippet#enable_snipmate_compatibility = 1
|
||||
|
||||
" Tell Neosnippet about the other snippets
|
||||
let g:neosnippet#snippets_directory='~/.vim/bundle/vim-snippets/snippets, ~/.vim/snippets'
|
||||
|
||||
" Load rspec.snip when loading rspec files
|
||||
function! s:RSpecSnippet()
|
||||
NeoSnippetSource ~/.vim/snippets/ruby.serverspec.snip
|
||||
endfunction
|
||||
|
||||
autocmd BufEnter *_spec.rb call s:RSpecSnippet()
|
||||
|
||||
" -------------------------------------------------------------------------------
|
||||
" Quickrun
|
||||
" -------------------------------------------------------------------------------
|
||||
|
||||
let g:quickrun_config = {}
|
||||
let g:quickrun_config._ = {'runner' : 'vimproc'}
|
||||
|
||||
" -------------------------------------------------------------------------------
|
||||
" <smarchr>
|
||||
" -------------------------------------------------------------------------------
|
||||
|
||||
inoremap <buffer><expr> = smartchr#loop('=', ' = ', ' := ', ' => ', ' == ', " === ")
|
||||
inoremap <buffer><expr> + smartchr#loop('+', ' + ', '++', ' += ')
|
||||
inoremap <buffer><expr> - smartchr#loop('-', ' - ', '--', ' -= ')
|
||||
inoremap <buffer><expr> / smartchr#loop('/', ' / ', '// ')
|
||||
inoremap <buffer><expr> * smartchr#loop('*', ' * ')
|
||||
inoremap <buffer><expr> < smartchr#loop('<', ' < ', ' << ', ' <= ')
|
||||
inoremap <buffer><expr> > smartchr#loop('>', ' > ', ' >> ', ' >= ')
|
||||
inoremap <buffer><expr> , smartchr#loop(', ', ',')
|
||||
|
||||
" -------------------------------------------------------------------------------
|
||||
" <misc>
|
||||
" -------------------------------------------------------------------------------
|
||||
|
||||
syntax on
|
||||
filetype on
|
||||
filetype indent on
|
||||
filetype plugin on
|
||||
:colorscheme murphy
|
||||
set list
|
||||
set listchars=trail:_,tab:>-
|
||||
|
||||
|
||||
" <encoding>
|
||||
set encoding=utf-8
|
||||
|
||||
" <basic>
|
||||
let mapleader = "," " キーマップリーダー
|
||||
set nobackup " バックアップ取らない
|
||||
set hidden " 編集中でも他のファイルを開けるようにする
|
||||
set formatoptions=lmoq " テキスト整形オプション,マルチバイト系を追加
|
||||
set vb t_vb= " ビープをならさない
|
||||
set backspace=indent,eol,start " バックスペースでなんでも消せるように
|
||||
set autoread " 他で書き換えられたら自動で読み直す
|
||||
set whichwrap=b,s,h,l,<,>,[,] " カーソルを行頭、行末で止まらないようにする
|
||||
set scrolloff=5 " スクロール時の余白確保
|
||||
|
||||
"カーソルを表示行で移動する。物理行移動は<C-n>,<C-p>
|
||||
:nnoremap j gj
|
||||
:nnoremap k gk
|
||||
:nnoremap <Down> gj
|
||||
:nnoremap <Up> gk
|
||||
|
||||
" <display>
|
||||
set showmatch " 括弧の対応をハイライト
|
||||
set number " 行番号表示
|
||||
|
||||
" <statusline>
|
||||
let g:gitCurrentBranch = ''
|
||||
function! CurrentGitBranch()
|
||||
let cwd = getcwd()
|
||||
cd %:p:h
|
||||
let branch = matchlist(system('/usr/bin/env git branch -a --no-color'), '\v\* ([0-9A-Za-z\/]*)\r?\n')
|
||||
execute 'cd ' . cwd
|
||||
if (len(branch))
|
||||
let g:gitCurrentBranch = '[git:' . branch[1] . ']'
|
||||
else
|
||||
let g:gitCurrentBranch = ''
|
||||
endif
|
||||
return g:gitCurrentBranch
|
||||
endfunction
|
||||
|
||||
autocmd BufEnter * :call CurrentGitBranch()
|
||||
|
||||
set laststatus=2
|
||||
" ステータスラインの表示
|
||||
set statusline=%< " 行が長すぎるときに切り詰める位置
|
||||
set statusline+=[%n] " バッファ番号
|
||||
set statusline+=%m " %m 修正フラグ
|
||||
set statusline+=%r " %r 読み込み専用フラグ
|
||||
set statusline+=%h " %h ヘルプバッファフラグ
|
||||
set statusline+=%w " %w プレビューウィンドウフラグ
|
||||
set statusline+=%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'} " fencとffを表示
|
||||
set statusline+=%y " バッファ内のファイルのタイプ
|
||||
set statusline+=\ " 空白スペース
|
||||
if winwidth(0) >= 130
|
||||
set statusline+=%F " バッファ内のファイルのフルパス
|
||||
else
|
||||
set statusline+=%t " ファイル名のみ
|
||||
endif
|
||||
set statusline+=%= " 左寄せ項目と右寄せ項目の区切り
|
||||
set statusline+=%{g:gitCurrentBranch} " Gitのブランチ名を表示
|
||||
set statusline+=\ \ " 空白スペース2個
|
||||
set statusline+=%1l " 何行目にカーソルがあるか
|
||||
set statusline+=/
|
||||
set statusline+=%L " バッファ内の総行数
|
||||
set statusline+=,
|
||||
set statusline+=%c " 何列目にカーソルがあるか
|
||||
set statusline+=%V " 画面上の何列目にカーソルがあるか
|
||||
set statusline+=\ \ " 空白スペース2個
|
||||
set statusline+=%P " ファイル内の何%の位置にあるか
|
||||
|
||||
" <indent>
|
||||
set tabstop=2
|
||||
set expandtab " tab をスペースに展開
|
||||
set shiftwidth=2 " 自動インデントの幅
|
||||
set softtabstop=2
|
||||
|
||||
autocmd FileType make setlocal noexpandtab
|
||||
|
||||
" Undo highlights of the search results, when push ESC + ESC
|
||||
:nnoremap <Esc><Esc> :nohlsearch<CR>
|
||||
|
||||
" 横分割時は下へ、 縦分割時は右へ新しいウィンドウが開くようにする
|
||||
set splitbelow
|
||||
set splitright
|
||||
|
||||
" <functions>
|
||||
" === 行末のスペースを削除 ===
|
||||
" 保存時に行末の空白を除去する
|
||||
autocmd BufWritePre * :%s/\s\+$//ge
|
||||
|
||||
" === カーソル行をハイライト ===
|
||||
set cursorline
|
||||
" カレントウィンドウにのみ罫線を引く
|
||||
augroup cch
|
||||
autocmd! cch
|
||||
autocmd WinLeave * set nocursorline
|
||||
autocmd WinEnter,BufRead * set cursorline
|
||||
augroup END
|
||||
|
||||
:hi clear CursorLine
|
||||
:hi CursorLine gui=underline
|
||||
highlight CursorLine ctermbg=black guibg=black
|
||||
|
||||
" === Shebang がある時に実行権限を自動付与===
|
||||
autocmd BufWritePost * :call AddExecmod()
|
||||
|
||||
function AddExecmod()
|
||||
let line = getline(1)
|
||||
if strpart(line, 0, 2) == "#!"
|
||||
call system("chmod +x ". expand("%"))
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" === change the current directory ===
|
||||
augroup grlcd
|
||||
autocmd!
|
||||
autocmd BufEnter * lcd %:p:h
|
||||
augroup END
|
||||
|
||||
" === template ===
|
||||
augroup templateload
|
||||
autocmd!
|
||||
autocmd BufNewFile *.sh 0r ~/.vim/template/skelton.sh
|
||||
autocmd BufNewFile *.pl 0r ~/.vim/template/skelton.pl
|
||||
autocmd BufNewFile *.scm 0r ~/.vim/template/skelton.scm
|
||||
autocmd BufNewFile test_*.rb 0r ~/.vim/template/skelton_test.rb
|
||||
autocmd BufNewFile *.rb 0r ~/.vim/template/skelton.rb
|
||||
augroup END
|
||||
|
||||
" === IME ===
|
||||
|
||||
" 挿入モード終了時に IME 状態を保存しない
|
||||
inoremap <silent> <Esc> <Esc>
|
||||
inoremap <silent> <C-[> <Esc>
|
||||
|
||||
" 「日本語入力固定モード」切り替えキー
|
||||
inoremap <silent> <C-j> <C-^>
|
||||
|
||||
" === indent-guide ===
|
||||
let g:indent_guides_auto_colors = 0
|
||||
let g:indent_guides_guide_size = 1
|
||||
let g:indent_guides_enable_on_vim_startup = 1
|
||||
|
||||
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd guibg=LightBlue ctermbg=3
|
||||
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=darkgrey ctermbg=4
|
||||
|
||||
" === simple-javascript-indenter ===
|
||||
" shiftwidthを1にしてインデントしてくれる
|
||||
let g:SimpleJsIndenter_BriefMode = 1
|
||||
" この設定入れるとswitchのインデントがいくらかマシに
|
||||
let g:SimpleJsIndenter_CaseIndentLevel = -1
|
||||
|
||||
" === highlight the string under the cursol ===
|
||||
highlight CurrentWord cterm=underline ctermbg=NONE ctermfg=DarkMagenta
|
||||
|
||||
function! s:EscapeText( text )
|
||||
return substitute( escape(a:text, '\' . '^$.*[~'), "\n", '\\n', 'ge' )
|
||||
endfunction
|
||||
|
||||
function! s:GetCurrentWord()
|
||||
let l:cword = expand('<cword>')
|
||||
if !empty(l:cword)
|
||||
let l:regexp = s:EscapeText(l:cword)
|
||||
if l:cword =~# '^\k\+$'
|
||||
let l:regexp = '\<' . l:regexp . '\>'
|
||||
endif
|
||||
return l:regexp
|
||||
else
|
||||
return ''
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:HighlightCurrentWord()
|
||||
let l:word = s:GetCurrentWord()
|
||||
if !empty(l:word)
|
||||
if exists("w:current_match")
|
||||
call matchdelete(w:current_match)
|
||||
endif
|
||||
let w:current_match = matchadd('CurrentWord', l:word, 0)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
augroup cwh
|
||||
autocmd!
|
||||
autocmd CursorMoved,CursorMovedI * call s:HighlightCurrentWord()
|
||||
augroup END
|
||||
|
||||
let g:ale_sign_error = '!!'
|
||||
let g:ale_sign_warning = '=='
|
||||
let g:ale_sign_column_always = 1
|
||||
let g:ale_echo_msg_error_str = 'E'
|
||||
let g:ale_echo_msg_warning_str = 'W'
|
||||
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
|
|
@ -0,0 +1,7 @@
|
|||
if [ -d $ZDOTDIR -a -r $ZDOTDIR -a \
|
||||
-x $ZDOTDIR ]; then
|
||||
for i in $ZDOTDIR/*; do
|
||||
[[ ${i##*/} = *.zsh ]] &&
|
||||
[ \( -f $i -o -h $i \) -a -r $i ] && . $i
|
||||
done
|
||||
fi
|
|
@ -0,0 +1,25 @@
|
|||
: Aliases && {
|
||||
alias ls="ls -h"
|
||||
alias ll="ls -ahl"
|
||||
alias cp="cp -p"
|
||||
alias ld="ls -hl | grep ^d"
|
||||
|
||||
alias screen='screen -U -D -RR'
|
||||
alias tmux="if tmux has; then tmux attach -d; else tmux new; fi"
|
||||
|
||||
# Settings depending on the OSes
|
||||
case ${OSTYPE} in
|
||||
darwin*)
|
||||
# For Mac
|
||||
alias eject='drutil eject'
|
||||
# vim
|
||||
alias vi='/usr/local/bin/vim'
|
||||
;;
|
||||
|
||||
linux*)
|
||||
# For Linux only
|
||||
alias aptitude='sudo aptitude'
|
||||
alias apt='sudo apt'
|
||||
;;
|
||||
esac
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
which direnv > /dev/null
|
||||
RC=$?
|
||||
|
||||
if [ $RC -eq 0 ]; then
|
||||
export EDITOR=/usr/bin/vim
|
||||
eval "$(direnv hook zsh)"
|
||||
fi
|
|
@ -0,0 +1,7 @@
|
|||
# Setup fzf
|
||||
# ---------
|
||||
if [[ ! "$PATH" == */home/kazu634/.fzf/bin* ]]; then
|
||||
export PATH="${PATH:+${PATH}:}/home/kazu634/.fzf/bin"
|
||||
export FZF_DEFAULT_OPTS='--color=fg+:11 --cycle --reverse --height=80% --exit-0 --bind=ctrl-j:accept --no-sort'
|
||||
fi
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
: Lang && {
|
||||
export LANG=ja_JP.UTF-8
|
||||
}
|
||||
|
||||
: Direcotry && {
|
||||
setopt auto_pushd
|
||||
setopt PUSHD_IGNORE_DUPS
|
||||
}
|
||||
|
||||
: Key Bind && {
|
||||
bindkey -e
|
||||
}
|
||||
|
||||
: Color && {
|
||||
autoload -U colors
|
||||
colors
|
||||
}
|
||||
|
||||
|
||||
: General completion && {
|
||||
autoload -U compinit
|
||||
compinit
|
||||
|
||||
setopt correct
|
||||
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||||
# 補完メニューをカーソルで選択可能にする。
|
||||
zstyle ':completion:*:default' menu select=1
|
||||
# カレントに候補が無い場合のみcdpath 上のディレクトリが候補となる
|
||||
zstyle ':completion:*:cd:*' tag-order local-directories path-directories
|
||||
# 補完でキャッシュを有効にする
|
||||
zstyle ':completion:*' use-cache true
|
||||
# 補完時のファイル名を黄色で表示
|
||||
zstyle ':completion:*' list-colors di=33 fi=0
|
||||
|
||||
setopt list_packed # 補完候補をつめて表示する
|
||||
setopt auto_menu # TAB で順に補完候補を切り替える
|
||||
setopt auto_list # 複数の補完候補があったときに、そのリストを自動的に表示
|
||||
setopt complete_in_word # 補完開始時にカーソルは単語の終端になくても良い。
|
||||
setopt list_types # 種類を示すマーク表示をつける(ls -fと同じもの)
|
||||
setopt auto_param_keys # カッコの対応などを自動的に補完
|
||||
setopt auto_param_slash # ディレクトリ名の補完で末尾の / を自動的に付加し、次の補完に備える
|
||||
}
|
||||
|
||||
: Prediction && {
|
||||
autoload predict-on
|
||||
predict-on
|
||||
}
|
||||
|
||||
: History && {
|
||||
HISTFILE=$HOME/.zhistory
|
||||
HISTSIZE=100000
|
||||
SAVEHIST=100000
|
||||
|
||||
setopt hist_no_store hist_ignore_dups hist_reduce_blanks hist_ignore_space
|
||||
setopt incappendhistory sharehistory
|
||||
setopt extended_history
|
||||
setopt hist_ignore_all_dups extended_history
|
||||
setopt hist_save_no_dups
|
||||
|
||||
function history-all { history -E 1 }
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
: git-completion && {
|
||||
autoload bashcompinit
|
||||
bashcompinit
|
||||
|
||||
case ${OSTYPE} in
|
||||
linux*)
|
||||
# for Linux
|
||||
if [ -f ~/.git-completion.bash ]; then
|
||||
source ~/.git-completion.bash
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
# === go ===
|
||||
case ${OSTYPE} in
|
||||
darwin*)
|
||||
# For Mac only
|
||||
export GOPATH="$HOME/work/go"
|
||||
export PATH="$GOPATH/bin:$PATH"
|
||||
;;
|
||||
linux*)
|
||||
# for Linux Only
|
||||
if [ -e ${HOME}/.goenv/bin/goenv ]; then
|
||||
export GOENV_ROOT="$HOME/.goenv"
|
||||
export GOPATH="$HOME/works/mnt/go"
|
||||
export PATH="$GOENV_ROOT/bin:$GOPATH/bin:$PATH"
|
||||
|
||||
export GOENV_DISABLE_GOPATH=1
|
||||
|
||||
eval "$(goenv init -)"
|
||||
|
||||
export PATH="$GOROOT/bin:$PATH"
|
||||
fi
|
||||
esac
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
# === nodebrew ===
|
||||
case ${OSTYPE} in
|
||||
*)
|
||||
if [ -e /${HOME}/.nodebrew/nodebrew ]; then
|
||||
PATH=${HOME}/.nodebrew/current/bin:${PATH}
|
||||
export PATH
|
||||
fi
|
||||
;;
|
||||
esac
|
|
@ -0,0 +1,11 @@
|
|||
# === Path ===
|
||||
case ${OSTYPE} in
|
||||
darwin*)
|
||||
# For Mac only
|
||||
export PATH=/Users/kazu634/bin:$PATH
|
||||
;;
|
||||
linux*)
|
||||
# For Linux only
|
||||
export PATH=/home/kazu634/bin:$PATH
|
||||
;;
|
||||
esac
|
|
@ -0,0 +1,17 @@
|
|||
source ~/.zplug/init.zsh
|
||||
|
||||
zplug "zsh-users/zsh-syntax-highlighting", defer:2
|
||||
zplug "zsh-users/zsh-completions"
|
||||
zplug "zsh-users/zsh-autosuggestions"
|
||||
|
||||
|
||||
# Install plugins if there are plugins that have not been installed
|
||||
if ! zplug check --verbose; then
|
||||
printf "Install? [y/N]: "
|
||||
if read -q; then
|
||||
echo; zplug install
|
||||
fi
|
||||
fi
|
||||
|
||||
# Then, source plugins and add commands to $PATH
|
||||
zplug load --verbose
|
|
@ -0,0 +1,7 @@
|
|||
: Prompt && {
|
||||
: Starshipを利用したpromptのカスタマイズ && {
|
||||
if which starship > /dev/null ; then
|
||||
eval "$(starship init zsh)"
|
||||
fi
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
# === rbenv ===
|
||||
case ${OSTYPE} in
|
||||
*)
|
||||
# for Linux Only
|
||||
if [ -e ${HOME}/.rbenv/bin/rbenv ]; then
|
||||
export PATH="${HOME}/.rbenv/bin:${PATH}"
|
||||
eval "$(rbenv init - zsh)"
|
||||
fi
|
||||
;;
|
||||
esac
|
|
@ -0,0 +1,116 @@
|
|||
: chpwd内のlsでファイル数が多い場合に省略表示する
|
||||
: http://qiita.com/yuyuchu3333/items/b10542db482c3ac8b059 && {
|
||||
chpwd() {
|
||||
ls_abbrev
|
||||
}
|
||||
|
||||
ls_abbrev() {
|
||||
# -a : Do not ignore entries starting with ..
|
||||
# -C : Force multi-column output.
|
||||
# -F : Append indicator (one of */=>@|) to entries.
|
||||
local cmd_ls='ls'
|
||||
local -a opt_ls
|
||||
opt_ls=('-aCF' '--color=always')
|
||||
case "${OSTYPE}" in
|
||||
freebsd*|darwin*)
|
||||
if type gls > /dev/null 2>&1; then
|
||||
cmd_ls='gls'
|
||||
else
|
||||
# -G : Enable colorized output.
|
||||
opt_ls=('-aCFG')
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
local ls_result
|
||||
ls_result=$(CLICOLOR_FORCE=1 COLUMNS=$COLUMNS command $cmd_ls ${opt_ls[@]} | sed $'/^\e\[[0-9;]*m$/d')
|
||||
|
||||
local ls_lines=$(echo "$ls_result" | wc -l | tr -d ' ')
|
||||
|
||||
if [ $ls_lines -gt 10 ]; then
|
||||
echo "$ls_result" | head -n 5
|
||||
echo '...'
|
||||
echo "$ls_result" | tail -n 5
|
||||
echo "$(command ls -1 -A | wc -l | tr -d ' ') files exist"
|
||||
else
|
||||
echo "$ls_result"
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
: cdr + fzf setting && {
|
||||
: 前提条件 && {
|
||||
autoload -Uz add-zsh-hook
|
||||
autoload -Uz chpwd_recent_dirs cdr
|
||||
add-zsh-hook chpwd chpwd_recent_dirs
|
||||
}
|
||||
|
||||
: cdr の設定 && {
|
||||
zstyle ':completion:*' recent-dirs-insert both
|
||||
zstyle ':chpwd:*' recent-dirs-max 500
|
||||
zstyle ':chpwd:*' recent-dirs-default true
|
||||
zstyle ':chpwd:*' recent-dirs-file "$HOME/.cache/chpwd-recent-dirs"
|
||||
zstyle ':chpwd:*' recent-dirs-pushd true
|
||||
}
|
||||
|
||||
: 関数の定義 && {
|
||||
if which fzf > /dev/null; then
|
||||
function fzf-cdr () {
|
||||
my-compact-chpwd-recent-dirs
|
||||
|
||||
local selected_dir=$(cdr -l | awk '{ print $2 }' | fzf)
|
||||
if [ -n "$selected_dir" ]; then
|
||||
BUFFER="cd ${selected_dir}"
|
||||
zle accept-line
|
||||
fi
|
||||
zle clear-screen
|
||||
}
|
||||
|
||||
zle -N fzf-cdr
|
||||
bindkey '^x' fzf-cdr
|
||||
fi
|
||||
}
|
||||
|
||||
: メンテナンス && {
|
||||
# http://blog.n-z.jp/blog/2014-07-25-compact-chpwd-recent-dirs.html
|
||||
function my-compact-chpwd-recent-dirs () {
|
||||
emulate -L zsh
|
||||
setopt extendedglob
|
||||
local -aU reply
|
||||
integer history_size
|
||||
autoload -Uz chpwd_recent_filehandler
|
||||
chpwd_recent_filehandler
|
||||
history_size=$#reply
|
||||
reply=(${^reply}(N))
|
||||
(( $history_size == $#reply )) || chpwd_recent_filehandler $reply
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
: history + fzf function && {
|
||||
# use `fzf` to see the history:
|
||||
if which fzf > /dev/null; then
|
||||
# statements
|
||||
function fzf-select-history() {
|
||||
local tac
|
||||
|
||||
if which tac > /dev/null; then
|
||||
tac="tac"
|
||||
else
|
||||
tac="tail -r"
|
||||
fi
|
||||
|
||||
BUFFER=$(history -n 1 | \
|
||||
eval $tac | \
|
||||
awk '!a[$0]++' | \
|
||||
fzf --query "$LBUFFER")
|
||||
|
||||
CURSOR=$#BUFFER
|
||||
zle clear-screen
|
||||
}
|
||||
|
||||
zle -N fzf-select-history
|
||||
|
||||
bindkey '^r' fzf-select-history
|
||||
fi
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
# ドットファイルの設定
|
||||
各種設定ファイルをまとめました。
|
||||
|
||||
* .gitconfig
|
||||
* .gitignore
|
||||
* .screenrc
|
||||
* .screenrc.swp
|
||||
* .vimrc
|
||||
* .zshenv
|
||||
* .zshrc
|
||||
* install.sh
|
||||
|
||||
## .gitconfig
|
||||
Git用の設定ファイル。
|
||||
|
||||
* https://gist.github.com/4117588
|
||||
* http://oli.jp/2012/git-powerup/
|
||||
|
||||
## .vimrc
|
||||
vim用の設定ファイル。
|
|
@ -0,0 +1,27 @@
|
|||
#!/bin/bash
|
||||
|
||||
# finding out the shell script directory
|
||||
CURDIR=`dirname $0`
|
||||
|
||||
# finding out the OS type
|
||||
OS=`uname`
|
||||
|
||||
if [ ${CURDIR} = "." ]; then
|
||||
CURDIR=`pwd`
|
||||
fi
|
||||
|
||||
# judging the OS type
|
||||
if [ ${OS} = "Linux" ]; then # if linux
|
||||
# copying the .files as a soft link
|
||||
find ${CURDIR} -maxdepth 1 -type f -name ".*" ! -name ".*.swp" -print0 | xargs -0 -I % ln -f -s % ${HOME} 2>/dev/null
|
||||
|
||||
# copying the `.zsh.d` configuration file as a soft link
|
||||
ln -f -s ${CURDIR}/.zsh.d ${HOME}
|
||||
|
||||
else # otherwise (meaning Darwin)
|
||||
# copying the .files as a soft link
|
||||
find ${CURDIR} -type f -name ".*" ! -name ".*.swp" -maxdepth 1 -print0 | xargs -0 -J % ln -f -s % ${HOME} 2>/dev/null
|
||||
|
||||
# copying the `.zsh.d` configuration file as a soft link
|
||||
ln -f -s ${CURDIR}/.zsh.d ${HOME}
|
||||
fi
|
Loading…
Reference in New Issue