Last active
August 24, 2019 10:18
-
-
Save cmplstofB/389d0cebc6f615f70868e0acc953b0e8 to your computer and use it in GitHub Desktop.
Vim関連の設定(その内以下略)
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
" Vim syntax file | |
" Language: ble.sh config file | |
" Maintainer: cmplstofb | |
" Version: 8.0-1 | |
" Last Change: 2018-12-27 | |
" https://github.com/akinomyoga/ble.sh/wiki/ | |
if exists("b:current_syntax") | |
finish | |
endif | |
let b:is_bash = 1 | |
runtime! syntax/sh.vim | unlet b:current_syntax | |
runtime! after/syntax/sh.vim | |
syntax keyword bleshStatement | |
\ bleopt | |
syntax match bleshStatement | |
\ /ble-\a\+/ | |
syntax match bleshColorSet | |
\ /\<ble-color-\%(setface\|defface\)\>/ | |
\ skipwhite nextgroup=bleshColorFaceName | |
syntax keyword bleshColorFaceName contained | |
\ region region_target region_match | |
\ disabled overwrite_mode | |
\ syntax_default syntax_command syntax_quoted | |
\ syntax_quotation syntax_expr syntax_error | |
\ syntax_varname syntax_delimiter syntax_param_expansion | |
\ syntax_history_expansion syntax_function_name syntax_comment | |
\ syntax_glob syntax_brace syntax_tilde | |
\ syntax_document syntax_document_begin | |
\ command_builtin_dot command_builtin command_alias | |
\ command_function command_file command_keyword | |
\ command_jobs command_directory | |
\ filename_directory filename_directory_sticky | |
\ filename_link filename_orphan filename_setuid | |
\ filename_setgid filename_executable filename_other | |
\ filename_socket filename_pipe filename_character | |
\ filename_block filename_warning filename_ls_colors | |
\ menu_complete auto_complete | |
\ skipwhite nextgroup=@bleshColorSpec | |
syntax keyword bleshColorSpecType contained | |
\ gspec g face iface sgrspec ansi | |
syntax match bleshColorSpecTypeOther contained | |
\ /\a\+:.*/ | |
syntax cluster bleshColorSpec add=bleshColorSpecTypeOther | |
syntax match bleshColorSpecTypeFace contained | |
\ /face:/ | |
\ nextgroup=bleshColorFaceName | |
syntax cluster bleshColorSpec add=bleshColorSpecTypeFace | |
syntax match bleshColorSpecTypeGspec contained | |
\ /\%(g:\)\=/ | |
\ nextgroup=bleshColorSpecTypeGspecList | |
syntax match bleshColorSpecTypeGspecList contained | |
\ contains=bleshColorSpecTypeGspecSpecial | |
\ /[^ \t,]\+/ | |
syntax match bleshColorSpecTypeGspecList contained | |
\ contains=bleshColorSpecTypeGspecSpecial | |
\ /[^ \t,]\+,/me=e-1,he=e-1 | |
\ nextgroup=bleshColorSpecTypeGspecList | |
syntax keyword bleshColorSpecTypeGspecSpecial contained | |
\ bold underline blink invis | |
\ reverse strike italic standout | |
\ none | |
syntax match bleshColorSpecTypeGspecSpecial contained | |
\ /\%(fg\|bg\)=/me=e-1,he=e-1 | |
\ nextgroup=bleshColorSpecTypeGspecColorName,bleshColorSpecTypeGspecColorNumber | |
syntax keyword bleshColorSpecTypeGspecColorName contained | |
\ black brown green olive navy purple teal silver | |
\ gray red lime yellow blue magenta cyan white orange | |
syntax match bleshColorSpecTypeGspecColorNumber contained | |
\ /\%(25[0-5]\|2[0-4]\d\|1\d\d\|0\=1\d\|0\=0\=\d\)/ | |
syntax cluster bleshColorSpec add=bleshColorSpecTypeGspec | |
syntax cluster shArithParenList add=bleshStatement,bleshColorSet | |
syntax cluster shCommandSubList add=bleshStatement,bleshColorSet | |
syntax cluster shCaseList add=bleshStatement,bleshColorSet | |
highlight def link bleshStatement Statement | |
highlight def link bleshColorSet Statement | |
highlight def link bleshColorFaceName Special | |
highlight def link bleshColorSpecType Type | |
highlight def link bleshColorSpecTypeFace bleshColorSpecType | |
highlight def link bleshColorSpecTypeGspec bleshColorSpecType | |
highlight def link bleshColorSpecTypeGspecSpecial Keyword | |
highlight def link bleshColorSpecTypeGspecColorName Keyword | |
highlight def link bleshColorSpecTypeGspecColorNumber Number | |
let b:current_syntax = "blesh" |
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
set background=dark | |
highlight clear | |
if exists("syntax_on") | |
syntax reset | |
endif | |
set t_Co=256 | |
" 合法ファイル名かつ何とも被らない | |
let g:colors_name = "_" | |
highlight Comment term=NONE cterm=NONE ctermfg=Gray ctermbg=NONE | |
highlight Identifier term=bold,italic cterm=bold,italic ctermfg=Magenta ctermbg=NONE | |
highlight Constant term=NONE cterm=NONE ctermfg=Yellow ctermbg=NONE | |
highlight Statement term=bold cterm=bold ctermfg=Green ctermbg=NONE | |
highlight PreProc term=NONE cterm=NONE ctermfg=DarkGreen ctermbg=NONE | |
highlight Type term=bold cterm=bold ctermfg=Yellow ctermbg=NONE | |
highlight Special term=NONE cterm=NONE ctermfg=Magenta ctermbg=NONE | |
highlight Underlined term=underline cterm=underline ctermfg=NONE ctermbg=NONE | |
highlight _Bold term=bold cterm=bold ctermfg=NONE ctermbg=NONE | |
highlight _Itaric term=italic cterm=italic ctermfg=NONE ctermbg=NONE | |
" 通常 | |
highlight Normal term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight Cursor term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight CursorIM term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight CursorColumn term=NONE cterm=NONE ctermfg=NONE ctermbg=DarkGray | |
highlight CursorLine term=NONE cterm=NONE ctermfg=NONE ctermbg=DarkGray | |
" 選択 | |
highlight Visual term=reverse cterm=reverse ctermfg=DarkGray ctermbg=NONE | |
highlight VisualNOS term=reverse cterm=reverse ctermfg=DarkGray ctermbg=NONE | |
" 特殊 | |
"highlight link Conceal Normal | |
highlight Conceal term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight ColorColumn term=NONE cterm=NONE ctermfg=DarkGray ctermbg=NONE | |
highlight EndOfBuffer term=NONE cterm=NONE ctermfg=DarkGrey ctermbg=NONE | |
highlight VertSplit term=NONE cterm=NONE ctermfg=DarkGrey ctermbg=NONE | |
highlight FoldColumn term=NONE cterm=NONE ctermfg=DarkGrey ctermbg=NONE | |
highlight LineNr term=NONE cterm=NONE ctermfg=Gray ctermbg=NONE | |
highlight CursorLineNr term=NONE cterm=NONE ctermfg=Gray ctermbg=DarkGrey | |
highlight NonText term=NONE cterm=NONE ctermfg=DarkGrey ctermbg=NONE | |
highlight SpecialKey term=NONE cterm=NONE ctermfg=Gray ctermbg=NONE | |
highlight Folded term=NONE cterm=NONE ctermfg=NONE ctermbg=DarkGray | |
highlight SignColumn term=NONE cterm=NONE ctermfg=Yellow ctermbg=NONE | |
highlight IncSearch term=reverse cterm=reverse ctermfg=NONE ctermbg=Yellow | |
highlight MatchParen term=reverse cterm=reverse ctermfg=NONE ctermbg=Yellow | |
highlight Search term=reverse,bold cterm=reverse,bold ctermfg=Yellow ctermbg=DarkGray | |
" 通知 | |
highlight ErrorMsg term=reverse cterm=reverse ctermfg=Red ctermbg=NONE | |
highlight WarningMsg term=reverse cterm=reverse ctermfg=Red ctermbg=NONE | |
highlight ModeMsg term=bold cterm=bold ctermfg=NONE ctermbg=NONE | |
highlight MoreMsg term=bold cterm=bold ctermfg=NONE ctermbg=NONE | |
highlight Question term=bold cterm=bold ctermfg=NONE ctermbg=NONE | |
highlight Title term=bold cterm=bold ctermfg=NONE ctermbg=NONE | |
highlight StatusLine term=reverse,bold cterm=reverse,bold ctermfg=Gray ctermbg=Black | |
highlight StatusLineNC term=reverse cterm=reverse ctermfg=DarkGray ctermbg=Black | |
highlight TabLine term=reverse cterm=reverse ctermfg=DarkGray ctermbg=Black | |
highlight TabLineFill term=NONE cterm=NONE ctermfg=Black ctermbg=Black | |
highlight TabLineSel term=reverse,bold cterm=reverse,bold ctermfg=Gray ctermbg=Black | |
" 補完 | |
highlight Directory term=bold cterm=bold ctermfg=Blue ctermbg=NONE | |
highlight WildMenu term=reverse cterm=reverse ctermfg=DarkGray ctermbg=White | |
highlight Pmenu term=NONE cterm=NONE ctermfg=Black ctermbg=Gray | |
highlight PmenuSel term=reverse cterm=reverse ctermfg=DarkGray ctermbg=White | |
highlight PmenuSbar term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight PmenuThumb term=reverse cterm=reverse ctermfg=Gray ctermbg=NONE | |
highlight QuickFixLine term=bold cterm=bold ctermfg=NONE ctermbg=NONE | |
" 差異 | |
highlight DiffAdd term=NONE cterm=NONE ctermfg=NONE ctermbg=DarkGreen | |
highlight DiffDelete term=NONE cterm=NONE ctermfg=NONE ctermbg=DarkRed | |
highlight DiffChange term=NONE cterm=NONE ctermfg=NONE ctermbg=DarkYellow | |
highlight DiffText term=bold cterm=bold ctermfg=NONE ctermbg=NONE | |
" 綴 | |
highlight SpellBad term=NONE cterm=underline ctermfg=NONE ctermbg=NONE | |
highlight SpellCap term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight SpellLocal term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight SpellRare term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
" ファイルマネージャ | |
highlight netrwBak term=NONE cterm=NONE ctermfg=Gray ctermbg=NONE | |
highlight netrwCompress term=bold cterm=bold ctermfg=Red ctermbg=NONE | |
highlight netrwData term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight netrwHdr term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight netrwLib term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight netrwMakefile term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight netrwObj term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight netrwTags term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight netrwTilde term=NONE cterm=NONE ctermfg=Gray ctermbg=NONE | |
highlight netrwTmp term=NONE cterm=NONE ctermfg=Gray ctermbg=NONE | |
" 内部端末 | |
highlight Terminal term=NONE cterm=NONE ctermfg=NONE ctermbg=NONE | |
highlight StatusLineTerm term=reverse,bold cterm=reverse,bold ctermfg=Gray ctermbg=Black | |
highlight StatusLineTermNC term=reverse cterm=reverse ctermfg=DarkGray ctermbg=Black |
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
" XKB config file | |
autocmd BufNewFile,BufRead */{etc,share}/X11/xkb/*/* | |
\ setfiletype xkb | |
" X resource file | |
autocmd BufNewFile,BufRead *.xresources\= | |
\ setlocal filetype=xdefaults | |
" Minecraft | |
autocmd BufNewFile,BufRead */src/main/resources/mcmod.info | |
\ setlocal filetype=json | |
" FVWM | |
autocmd BufNewFile,BufRead /usr/share/fvwm/{Config,Fvwm}* | |
\ setlocal filetype=fvwm | |
autocmd BufNewFile,BufRead */fvwm/*.fpl | |
\ setlocal filetype=perl | |
" Dircolors | |
autocmd BufNewFile,BufRead {$XDG_CONFIG_HOME,~/.config}/dircolors | |
\ setlocal filetype=dircolors | |
" Geany | |
" 色設定 | |
autocmd BufNewFile,BufRead */geany/colorschemes/*.conf | |
\ setlocal filetype=dosini | |
" Python file | |
autocmd BufNewFile,BufRead *.{python,py3} | |
\ setfiletype python | |
" SKK IME dictionaly | |
autocmd BufNewFile,BufRead SKK-\=JISYO\c* | |
\ setfiletype skkdic | |
" PulseAudio daemon configuration file | |
" https://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/man/pulse-daemon.conf.5.xml.in | |
autocmd BufNewFile,BufRead */{etc,.config}/pulse/daemon.conf{,.d/*.conf} | |
\ setlocal filetype=paconf | |
" ble.sh | |
autocmd BufNewFile,BufRead bleshrc,blerc | |
\ setlocal filetype=blesh | |
autocmd BufNewFile,BufRead */ble.\\\{,1\}sh/*.sh | |
\ setlocal filetype=blesh | |
"autocmd BufNewFile,BufRead */akinomyoga/*/memo* setlocal filetype=akinomyoga-memo | |
" locale definition file | |
autocmd BufNewFile,BufRead i18n_ctype | |
\ setfiletype fdcc | |
" FontConfig | |
autocmd BufNewFile,BufRead {$XDG_CONFIG_HOME,~/.config}/fontconfig/fonts.conf | |
\ setfiletype xml | |
" TeXLua | |
autocmd BufNewFile,BufRead *.tlu setfiletype lua | |
" TeX defined file (package, font, babel) | |
autocmd BufNewFile,BufRead *.def,*.dfu,*.fd,*.bdf,*.ldf,*.cfg,*/tex/*tex*.src | |
\ if getline(1) =~ '^\(%\|\\Provides\).*' | | |
\ setlocal filetype=tex | | |
\ endif | |
" TeX INI file | |
autocmd BufNewFile,BufRead *.ini | |
\ if getline(1) =~ '^%.*' | | |
\ setlocal filetype=tex | | |
\ else | | |
\ setlocal filetype=dosini | | |
\ endif | |
" MetaPost file | |
autocmd BufNewFile,BufRead *.mpx setfiletype mp | |
" Tab separated value | |
"autocmd BufNewFile,BufRead *.tsv setfiletype tsv | |
" POSIX NLS .msg file | |
autocmd BufNewFile,BufRead *.msg setfiletype msg | |
" Vim help file | |
" NOTE:ちょっと強力すぎるかも | |
autocmd BufNewFile,BufRead pack/*/doc/*.{txt,??x} setfiletype help | |
" LeXML file | |
"autocmd BufNewFile,BufRead *.lexml setfiletype lexml | |
autocmd BufNewFile,BufRead *.lexml | |
\ setlocal filetype=lexml | |
" RDF file | |
autocmd BufNewFile,BufRead *.rdf | |
\ if getline(1) =~ '<?xml' | | |
\ setfiletype xml | | |
\ endif | |
" (E)BNF | |
"autocmd BufNewFile,BufRead *.bnf,*.ebnf setfiletype bnf | |
" XMP | |
autocmd BufNewFile,BufRead *.xmp setfiletype xml | |
"" RDF 1.1 Turtle | |
autocmd BufNewFile,BufRead *.ttl | |
\ if search("^\s*@prefix") != 0 | | |
\ setlocal filetype=txt | | |
\ else | | |
\ setlocal filetype=teraterm | | |
\ endif | |
autocmd BufRead,BufNewFile *.pkg | |
\ if getline(1) =~ '<?php' | | |
\ setfiletype php | | |
\ elseif getline(1) =~ "^#!\s*/bin/sh" | | |
\ setfiletype sh | | |
\ else | | |
\ setfiletype virata | | |
\ endif |
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
set guifont=Sarasa\ Term\ J\ 10 | |
set guioptions=mgRp |
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
scriptencoding UTF-8 | |
let b:keymap_name = "general" | |
loadkeymap | |
` <char-0x2018> " 左単引用符 | |
' <char-0x2019> " 右単引用符 | |
`` <char-0x201C> " 左複引用符 | |
'' <char-0x201D> " 右複引用符 | |
-- <char-0x2013> " N幅ダッシュ | |
--- <char-0x2014> " M幅ダッシュ |
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
set encoding=UTF-8 | |
scriptencoding UTF-8 | |
" もしもシステムがcompatibleを設定していたらnocompatibleに。 | |
if &compatible | |
set nocompatible | |
endif | |
unlet! skip_defaults_vim | |
source $VIMRUNTIME/defaults.vim | |
" 一連の設定 | |
augroup MyVimrc | |
autocmd! | |
augroup END | |
let s:myvimdir = expand($XDG_CONFIG_HOME) . "/vim" | |
execute "set runtimepath^=" . s:myvimdir | |
execute "set runtimepath+=" . s:myvimdir . "/after" | |
execute "set packpath^=" . s:myvimdir | |
" 文字符号処理 | |
set fileencodings=ucs-bom,utf-8,euc-jisx0213,euc-jp,cp20932,sjis,cp932,iso-2022-jp,default,latin1 | |
" 改行形式 | |
set fileformat=unix | |
" 履歴 | |
" 保存できる履歴の量は10000件が限界のようだ。ほんとうはもう少し多いほうがいいのだが | |
set history=10000 | |
" 状態の記録 | |
set viminfo='10000,<10000,s10000,h | |
execute "set viminfofile=" . expand($XDG_CACHE_HOME) . "/vim/viminfo" | |
" 遣り直し | |
set undofile | |
set undolevels=10000 | |
set undodir=$XDG_CACHE_HOME/vim/undo | |
" 一時保存 | |
set swapfile | |
set updatetime=1000 | |
set directory=$XDG_CACHE_HOME/vim/swap | |
" バックアップ | |
set backup | |
set backupdir=$XDG_CACHE_HOME/vim/bkp | |
set writebackup | |
" バッファ | |
set autoread | |
set hidden | |
" セッション | |
" 終了時自動的にセッションを保存(なんか不具合があるので無効) | |
"autocmd MyVimrc VimLeave * execute "mksession! " . expand($XDG_DATA_HOME) . "/vim/session" | |
" <Esc>押下後の態移行がクソ遅いのを修正 | |
set timeout timeoutlen=500 | |
set ttimeout ttimeoutlen=100 | |
" シェル | |
" こうしないとGNU Bashが~/.profileファイルを読み込まない | |
if &shell =~ ".*bash.*" | |
set shell=bash\ --login | |
endif | |
" タブ設定 | |
" タブ派 | |
set noexpandtab | |
set tabstop=4 | |
set shiftwidth=4 | |
set softtabstop=4 | |
set smarttab | |
set autoindent smartindent | |
" 折り返し | |
set linebreak | |
" ↓ASCII可視文字じゃないと駄目 | |
"set breakat+=。,(「(“ | |
set breakat+=\|>]) | |
set breakindent | |
set showbreak=> | |
" 文字幅 | |
set ambiwidth=single | |
set emoji | |
" Unicode合成文字の限界個数 | |
set maxcombine=6 | |
" 特殊文字を強調表示 | |
set list | |
set listchars=eol:↲ | |
set listchars+=tab:>─ | |
set listchars+=trail:. | |
"set listchars+=space:. | |
set conceallevel=2 | |
" 編集しているファイルのディレクトリに自動移動 | |
"autocmd MyVimrc BufEnter * | |
" \ if split(fnamemodify(expand("%"), ":p:h"), "/", 1)[0] !~ "\(file\|https\=\|ftp\):" | | |
" \ silent! execute "lchdir" fnamemodify(expand("%"), ":p:h") | | |
" \ endif | |
" タイトルを設定 | |
set title titlestring=%F\ -\ VIM | |
" 行番号 | |
set number | |
" 警告 | |
set noerrorbells | |
set novisualbell | |
" プラグインなど実行時にカクつくのを防ぐ | |
" 今どきの端末エミュレータで有効にする必要性があるのかは不明 | |
set lazyredraw | |
" 折り返し | |
set textwidth=0 | |
set wrap | |
" 折り畳み | |
set foldmethod=marker | |
" クリップボード | |
let &t_BE = "\<Esc>[?2004h" | |
let &t_BD = "\<Esc>[?2004l" | |
" 終了時に画面を消去しない | |
set norestorescreen | |
" 綴 | |
set spell | |
set spelllang+=cjk | |
" クリップボード | |
set clipboard-=autoselect | |
" 特殊前置鍵盤に<Space>を割り当て | |
let mapleader = "\<Space>" | |
" `C`, `D` に挙動を合わせる | |
nnoremap Y y$ | |
" 行の移動で視覚的に違和感を感じないように | |
nnoremap <silent> <expr> j v:count ? 'j' : 'gj' | |
nnoremap <silent> <expr> k v:count ? 'j' : 'gk' | |
xnoremap <silent> <expr> j v:count ? 'j' : 'gj' | |
xnoremap <silent> <expr> k v:count ? 'j' : 'gk' | |
onoremap <silent> <expr> j v:count ? 'j' : 'gj' | |
onoremap <silent> <expr> k v:count ? 'j' : 'gk' | |
nnoremap <silent> <expr> 0 &l:wrap ? 'g0' : '0' | |
nnoremap <silent> <expr> $ &l:wrap ? 'g$' : '$' | |
nnoremap <silent> gj j | |
nnoremap <silent> gk k | |
xnoremap <silent> gj j | |
xnoremap <silent> gk k | |
onoremap <silent> gj j | |
onoremap <silent> gk k | |
" 文字列の置換で視覚的に違和感を感じないように | |
nnoremap <silent> r gr | |
nnoremap <silent> R gR | |
nnoremap <silent> gr r | |
nnoremap <silent> gR R | |
" <u>--<U> という対応にする | |
nnoremap U <C-r> | |
nnoremap <C-r> U | |
" 現在日時と時刻を挿入 | |
" Shift+Function Keyが使えない端末がありそう……。 | |
" まだ遭遇してないけど。 | |
inoremap <expr> <F5> strftime("%Y-%m-%d", localtime()) | |
inoremap <expr> <S-F5> strftime("%H:%M:%S", localtime()) | |
" 現在絶対ディレクトリを挿入 | |
inoremap <expr> <F4> fnamemodify(expand("%"), ":p:h") | |
" 字下げを調整しても依然選択状態を続ける | |
vnoremap <Lt> <Lt>gv | |
vnoremap > >gv | |
" 選択している状態での検索関連 | |
"vnoremap / "zy/<C-r>z<Enter> | |
" <https://vim.fandom.com/wiki/Search_for_visually_selected_text#Advanced> | |
vnoremap <silent> * | |
\ :<C-u> | |
\ let old_reg = getreg('"')<Bar> | |
\ let old_regtype = getregtype('"')<Enter> | |
\ gvy/<C-r><C-r>=substitute(escape(@", '/\.*$^~['), | |
\ '\_s\+', '\\_s\\+', 'g')<Enter><Enter> | |
\ gV:call setreg('"', old_reg, old_regtype)<Enter> | |
vnoremap <silent> # | |
\ :<C-u> | |
\ let old_reg = getreg('"')<Bar> | |
\ let old_regtype = getregtype('"')<Enter> | |
\ gvy?<C-r><C-r>=substitute(escape(@", '/\.*$^~['), | |
\ '\_s\+', '\\_s\\+', 'g')<Enter><Enter> | |
\ gV:call setreg('"', old_reg, old_regtype)<Enter> | |
" 現在位置を強調 | |
nnoremap <C-g> :<C-u>silent<Space>set<Space>cursorline<Space>cursorcolumn<Enter>:<C-u>file<Enter> | |
autocmd MyVimrc CursorMoved * if &cursorline + &cursorcolumn > 0 | set nocursorline nocursorcolumn | endif | |
autocmd MyVimrc InsertEnter * if &cursorline + &cursorcolumn > 0 | set nocursorline nocursorcolumn | endif | |
" 種々の表示を取消 | |
nnoremap <silent> <C-l> :<C-u>nohlsearch<Bar>redraw!<Enter> | |
" タブ移動 | |
nnoremap <silent> <C-n> gt | |
nnoremap <silent> <C-p> gT | |
" 内部端末 | |
nnoremap <F12> :<C-u>silent!<Space>lcd<Space>%:p:h<Bar>terminal<Enter> | |
set termwinkey=<C-g> | |
" Emacs風の手引き入力待機態呼出 | |
nnoremap <C-h> :<C-u>help<Space> | |
set keywordprg= | |
" 補完 | |
set wildmenu | |
set wildmode=longest:full | |
set wildmode+=list:full | |
set pumheight=10 | |
" 命令欄の挙動 (Emacsっぽく) | |
cnoremap <C-p> <Up> | |
cnoremap <C-n> <Down> | |
cnoremap <C-a> <Home> | |
cnoremap <C-e> <End> | |
cnoremap <C-b> <Left> | |
cnoremap <C-f> <Right> | |
cnoremap <C-h> <BS> | |
cnoremap <C-d> <Del> | |
cnoremap <C-x><C-b> <S-Left> | |
cnoremap <C-x><C-f> <S-Right> | |
cnoremap <C-x><C-m> <C-a> | |
cnoremap <C-x>l <C-d> | |
cnoremap <C-l> <C-f> | |
cnoremap <Space> <C-]><Space> | |
" <C-c>で離脱する際,履歴を残さない | |
" FIXME: これは不完全。 | |
" ‘/’で検索した後<C-c>で離脱すると「histdel(...)」という語句を検索してしまう。 | |
" やりたいのは‘/’で入力した値を消去すること。 | |
" こ無ゾ | |
if 0 | |
cnoremap <silent> <C-c> <End><C-u>call<Space>{-><Space>if<Space>getcmdtype()==":"<Space><Bar><Space>histdel("cmd", -1)<Space><Bar><Space>endif}<Enter> | |
cnoremap <C-c> <C-\>eCmdHstDelX(getcmdtype())<Enter> | |
function! CmdHstDelX(cmdtype) | |
if a:cmdtype == ":" | |
return histdel("cmd", -1) | |
else | |
return call getcmdline() | |
endif | |
endfunction | |
endif | |
" <C-k>でカーソル位置から行末まで削除 | |
cnoremap <C-k> <C-\>estrpart(getcmdline(), 0, getcmdpos() - 1)<Enter> | |
" 短縮入力 | |
cabbrev te, tabedit | |
cabbrev vs, vsplit | |
cabbrev sp, split | |
cabbrev @/u/s/ /usr/share/ | |
cabbrev @/u/s/v/ /usr/share/vim/ | |
cabbrev @/u/s/a/ /usr/share/applications/ | |
cabbrev @/u/s/tl/ /usr/share/texlive/texmf-dist/ | |
" IM関係 | |
" 平仮名モード切り替えと競合するので無効に | |
nnoremap <C-@> <NOP> | |
inoremap <C-@> <NOP> | |
"map <C-Space> <NOP> | |
"map <Nul> <NOP> | |
" 挿入モードに移行するキー束縛は平仮名モードでも入力可能にする | |
nmap あ a | |
nmap い i | |
nmap お o | |
" vimgrep | |
autocmd MyVimrc QuickFixCmdPost *grep* cwindow | |
nnoremap [q :<C-u>cprevious<CR> | |
nnoremap ]q :<C-u>cnext<CR> | |
" 端末エミュレータやX Window Systemと相性が悪いマウス操作束縛を解除 | |
" LibVTEの端末エミュレータなどではShiftを押下しながらマウスを用いることで端末画面自体を操作できる(選択・転写など) | |
" X Window SystemはAltを押下しながらマウスを使うことでWindowを操作できる(最大化・移動など) | |
set mouse=a nomousehide | |
map <S-LeftMouse> <NOP> | |
map <A-LeftMouse> <NOP> | |
map <S-RightMouse> <NOP> | |
map <A-RightMouse> <NOP> | |
" ↓これは有効にしたい。が,既定の挙動がよく分からんのでとりあえず無効 | |
map <C-LeftMouse> <NOP> | |
map <C-RightMouse> <NOP> | |
" 検索 | |
set ignorecase smartcase | |
set hlsearch | |
set incsearch wrapscan | |
" 情報 | |
set display=truncate | |
set showtabline=2 | |
set laststatus=2 | |
set statusline= | |
set statusline+=\ %(%m\ %r\ %h\ %w%) | |
set statusline+=%< | |
set statusline+=%(%f%) | |
set statusline+=\ %y | |
set statusline+=%= | |
" NOTE: 「U+%04.8B」はファイルの文字符号化方式がUTF-8であることを前提としている | |
set statusline+=%(U+%04.8B%) | |
set statusline+=\ %(%l:%c%) | |
set showcmd | |
set showmode | |
" 括弧の対応 | |
set showmatch | |
set matchpairs+=‘:’,“:”,(:),⦅:⦆,「:」,「:」,『:』,[:],〚:〛,{:},〔:〕,〘:〙,〈:〉,《:》,‹:›,«:»,【:】,〖:〗,〝:〟 | |
" カーソルの形状を態毎に変更 | |
if exists('$TMUX') | |
let &t_SI .= "\<Esc>Ptmux;\<Esc>\<Esc>[5 q\<Esc>\\" | |
let &t_SR .= "\<Esc>Ptmux;\<Esc>\<Esc>[4 q\<Esc>\\" | |
let &t_EI .= "\<Esc>Ptmux;\<Esc>\<Esc>[2 q\<Esc>\\" | |
elseif &term =~ "screen" | |
let &t_SI .= "\<Esc>P\<Esc>[5 q\<Esc>\\" | |
let &t_SR .= "\<Esc>P\<Esc>[4 q\<Esc>\\" | |
let &t_EI .= "\<Esc>P\<Esc>[2 q\<Esc>\\" | |
else | |
let &t_SI .= "\<Esc>[5 q" | |
let &t_SR .= "\<Esc>[4 q" | |
let &t_EI .= "\<Esc>[2 q" | |
endif | |
" 新規領域の挙動をブラウザなどと挙動を統一 | |
set noequalalways | |
" 昔は逆の動作が標準だったのかな? 既定の動作だとすごく非直感的なんだけども | |
set splitbelow splitright | |
" 差分 | |
set diffopt=internal,filler,algorithm:histogram,indent-heuristic | |
let g:netrw_silent = 1 | |
let g:netrw_menu = 1 | |
let g:netrw_banner = 0 | |
let g:netrw_preview = 1 | |
let g:netrw_hide = 1 | |
let g:netrw_liststyle = 2 | |
let g:netrw_sizestyle = "H" | |
let g:netrw_xstrlen = 3 | |
let g:netrw_browsex_viwer = "xdg-open" | |
"" HTTPでファイルを取得する際の進捗出力を抑制 | |
if 0 | |
if g:netrw_http_cmd == "curl" | |
let g:netrw_http_xcmd .= " --silent" | |
elseif g:netrw_http_cmd == "wget" | |
let g:netrw_http_xcmd .= " --quiet" | |
elseif g:netrw_http_cmd == "fetch" | |
let g:netrw_http_xcmd .= " --quiet" | |
endif | |
endif | |
set noexrc | |
set nosecure | |
set cryptmethod=blowfish2 | |
" emmet-vim<https://mattn.github.io/emmet-vim/>の設定 | |
" 前置鍵盤は<C-\>(Ctrl+4などで入力)。 | |
let g:emmet_html5 = 1 | |
let g:user_emmet_leader_key = "<C-\\>" | |
let g:user_emmet_settings = {} | |
let g:user_emmet_settings["variables"] = {"lang": "ja", "locale": "ja-JP"} | |
let g:user_emmet_settings["html"] = {"filters": "html"} | |
let g:user_emmet_settings["html"]["default_attributes"] = {"meta:compat": | |
\ [{ "http-equiv": "X-UA-Compatible" }, | |
\ { "content": "IE=edge" }]} | |
let g:user_emmet_settings["html"]["snippets"] = {"html:5": | |
\ "<!DOCTYPE html>\n" . | |
\ "<html lang=\"${lang}\">\n" . | |
\ "<head>\n" . | |
\ "\t<meta charset=\"${charset}\">\n" . | |
\ "\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n" . | |
\ "\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n" . | |
\ "\n" . | |
\ "\t<title>新しいHTML文書</title>\n" . | |
\ "\</head>\n" . | |
\ "\n" . | |
\ "<body>\n" . | |
\ "\t<header>\n" . | |
\ "\t</header>\n" . | |
\ "\n" . | |
\ "\t<main>\n" . | |
\ "\t\t<h1>新しいHTML文書</h1>\n" . | |
\ "\n" . | |
\ "\t\t<section>\n" . | |
\ "\t\t\t<p>|</p>\n" . | |
\ "\t\t</section>\n" . | |
\ "\t</main>\n" . | |
\ "\n" . | |
\ "\t<footer>\n" . | |
\ "\t</footer>\n" . | |
\ "</body>\n" . | |
\ "</html>"} | |
" XML | |
let g:user_emmet_settings["xml"] = {"filters": "html"} | |
let g:user_emmet_settings["xml"]["snippets"] = {"!!!": | |
\ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"} | |
let g:user_emmet_settings["xml"]["snippets"] = {"xml:rdf": | |
\ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" . | |
\ "<rdf:RDF\n" . | |
\ " xml:lang=\"${lang}\"\n" . | |
\ " xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n" . | |
\ "\t<rdf:Description rdf:about=\"\">\n" . | |
\ "\t\t|\n" . | |
\ "\t<rdf:Description>\n" . | |
\ "</rdf:RDF>"} | |
filetype plugin indent on | |
syntax enable | |
colorscheme _ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment