Created
August 3, 2022 04:05
-
-
Save butsugiri/1d3dabec63994ea66628c9f40c734d3c to your computer and use it in GitHub Desktop.
This file contains 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
set nocompatible | |
filetype off | |
"--------------------------- | |
"augroup&autocmd Settings. | |
"--------------------------- | |
augroup MyVimrc | |
autocmd! | |
augroup END | |
call plug#begin('~/.vim/plugged') | |
Plug 'itchyny/lightline.vim' | |
" Plug 'morhetz/gruvbox' | |
" Plug 'cocopon/lightline-hybrid.vim' | |
Plug 'nathanaelkane/vim-indent-guides' | |
Plug 'rhysd/clever-f.vim' | |
" Plug 'shinchu/lightline-gruvbox.vim' | |
" Plug 'tpope/vim-surround' | |
" Plug 'kristijanhusak/vim-hybrid-material' | |
Plug 'tyru/caw.vim' | |
Plug 'ctrlpvim/ctrlp.vim' | |
Plug 'mattn/ctrlp-matchfuzzy' | |
Plug 'joshdick/onedark.vim' | |
Plug 'hallzy/lightline-onedark' | |
" Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } | |
" Plug 'junegunn/fzf.vim' | |
call plug#end() | |
"------------------------- | |
"Vim-Indent Guides settings | |
"------------------------- | |
let g:indent_guides_enable_on_vim_startup=1 | |
let g:indent_guides_guide_size=1 | |
"------------------------- | |
"Ctrlp settings | |
"------------------------- | |
"ss to invoke search | |
nnoremap ss :<C-u>CtrlPMixed<CR> | |
let g:ctrlp_match_func = {'match': 'ctrlp_matchfuzzy#matcher'} | |
let g:ctrlp_working_path_mode = 'ra' | |
let g:ctrlp_custom_ignore = { | |
\ 'dir': '\v[\/]\.(git|hg|svn)$', | |
\ 'file': '\v\.(e|o)\d+$', | |
\ 'link': 'some_bad_symbolic_links', | |
\ } | |
"------------------------- | |
"Lightline.vim settings | |
"------------------------- | |
set laststatus=2 | |
set t_Co=256 | |
let g:lightline = { | |
\ 'colorscheme': 'onedark', | |
\ 'component': { | |
\ 'readonly': '%{&readonly?"⭤":""}', | |
\ }, | |
\ 'separator': { 'left': '', 'right': '' }, | |
\ 'subseparator': { 'left': '', 'right': '' } | |
\ } | |
"-------------------------- | |
"Vim settings | |
"-------------------------- | |
syntax on | |
set encoding=utf8 | |
set fileencoding=utf-8 | |
"スクロールするときに下が見えるようにする | |
set scrolloff =5 | |
" .swapファイルを作らない | |
set noswapfile | |
" バックアップファイルを作らない | |
set nowritebackup | |
" バックアップをしない | |
set nobackup | |
" バックスペースで各種消せるようにする | |
set backspace=indent,eol,start | |
" ビープ音を消す | |
set visualbell t_vb= | |
" OSのクリップボードを使う | |
set clipboard+=unnamed | |
set clipboard=unnamed | |
" set clipboard+=autoselect | |
" 不可視文字を表示 | |
set list | |
" 行番号を表示 | |
set number | |
" 右下に表示される行・列の番号を表示する | |
set ruler | |
" compatibleオプションをオフにする | |
set nocompatible | |
" 移動コマンドを使ったとき、行頭に移動しない | |
set nostartofline | |
" 対応括弧に<と>のペアを追加 | |
set matchpairs& matchpairs+=<:> | |
" 対応括弧をハイライト表示する | |
set showmatch | |
" 対応括弧の表示秒数を3秒にする | |
set matchtime=1 | |
" ウィンドウの幅より長い行は折り返され、次の行に続けて表示される | |
set wrap | |
" 入力されているテキストの最大幅を無効にする | |
set textwidth=0 | |
" 不可視文字を表示 | |
set listchars=tab:»-,trail:-,extends:»,precedes:«,nbsp:%,eol:↲ | |
" インデントをshiftwidthの倍数に丸める | |
set shiftround | |
" 補完の際の大文字小文字の区別しない | |
set infercase | |
" 小文字の検索でも大文字も見つかるようにする | |
set ignorecase | |
" ただし大文字も含めた検索の場合はその通りに検索する | |
set smartcase | |
" インクリメンタルサーチを行う | |
set incsearch | |
" 検索結果をハイライト表示 | |
set hlsearch | |
" コマンド、検索パターンを10000個まで履歴に残す | |
set history=10000 | |
" マウスモード有効 | |
set mouse=a | |
" コマンドを画面最下部に表示する | |
set showcmd | |
" 新しく開く代わりにすでに開いてあるバッファを開く | |
set switchbuf=useopen | |
" バッファを閉じる代わりに隠す | |
set hidden | |
" 0埋めの文字でCtrl+aする際に10進数も認識させる | |
set nf= | |
" 画面に表示されるタブ幅 | |
set tabstop=4 | |
" タブをスペース展開 | |
set expandtab | |
" インデント時のスペース数 | |
set shiftwidth=4 | |
" タブが押された場合にtabstopでなく、shiftwidthの数だけインデントする | |
set smarttab | |
" 自動インデント | |
set autoindent | |
" 右に分割 | |
set splitright | |
"-------------------------- | |
"Key Bindings | |
"-------------------------- | |
" 入力モード中に素早くjjと入力した場合はESCとみなす | |
inoremap jj <Esc> | |
" ESCを二回押すことでハイライトを消す | |
nmap <silent> <Esc><Esc> :nohlsearch<CR> | |
" TABにて対応ペアにジャンプ | |
nnoremap <Tab> % | |
vnoremap <Tab> % | |
" 表示行単位で上下移動するように | |
nnoremap j gj | |
nnoremap k gk | |
nnoremap <Down> gj | |
nnoremap <Up> gk | |
" 逆に普通の行単位で移動したい時のために逆の map も設定しておく | |
nnoremap gj j | |
nnoremap gk k | |
" Ctrl + hjkl でウィンドウ間を移動 | |
nnoremap <C-h> <C-w>h | |
nnoremap <C-j> <C-w>j | |
nnoremap <C-k> <C-w>k | |
nnoremap <C-l> <C-w>l | |
"-------------------------- | |
"Python Settings | |
"-------------------------- | |
augroup Python | |
autocmd! | |
autocmd FileType python setl autoindent | |
autocmd FileType python setl smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class | |
autocmd FileType python setl tabstop=8 expandtab shiftwidth=4 softtabstop=4 | |
autocmd BufNewFile *.py 0r $HOME/.vim/template/python.txt | |
augroup END | |
"-------------------------- | |
"Appearance Settings | |
"-------------------------- | |
set background=dark | |
set termguicolors | |
"colorscheme gruvbox | |
colorscheme onedark | |
let g:gruvbox_material_background = 'soft' | |
"colorscheme gruvbox-material | |
" let g:hybrid_use_Xresources = 1 | |
" let g:hybrid_custom_term_colors = 1 | |
" let g:hybrid_reduced_contrast = 1 " Remove this line if using the default palette. | |
" colorscheme hybrid | |
" | |
" | |
"-------------------------- | |
"fzf Settings | |
"-------------------------- | |
" imap <c-x><c-f> <plug>(fzf-complete-path) | |
let mapleader = "\<Space>" | |
nnoremap [Fzf] <Nop> | |
nmap <Leader>f [Fzf] | |
nnoremap [Fzf]f :<C-u>Files<CR> | |
nnoremap [Fzf]b :<C-u>Buffers<CR> | |
nnoremap [Fzf]h :<C-u>History<CR> | |
"-------------------------- | |
"caw Settings | |
"-------------------------- | |
nmap <C-K> <Plug>(caw:hatpos:toggle) | |
vmap <C-K> <Plug>(caw:hatpos:toggle) | |
command! -bang -nargs=? -complete=dir Files | |
\ call fzf#vim#files(<q-args>, {'options': ['--layout=reverse', '--info=inline', '--preview', '~/.vim/plugged/fzf.vim/bin/preview.sh {}']}, <bang>0) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment