set encoding=utf-8 scriptencoding utf-8 " " 単体動作テスト用 {{{1 " if &compatible " set nocompatible " Be iMproved " endif " " if empty(glob('c:/tools/vim/vim90/autoload/plug.vim')) " silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs " \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim " autocmd VimEnter * PlugInstall | source $MYVIMRC " endif " " call plug#begin('c:/tools/vim/vim90/plugged') " Plug 'vim-denops/denops.vim' " Plug 'Shougo/ddu.vim' " Plug 'Shougo/ddu-ui-ff' " Plug 'Shougo/ddu-kind-file' " Plug 'Shougo/ddu-filter-matcher_substring' " Plug 'Shougo/ddu-source-file' " " Plug 'Shougo/ddu-source-line' " " call plug#end() " " call ddu#custom#patch_global(#{ " \ ui: 'ff', " \ }) " " call ddu#custom#patch_global(#{ " \ uiParams: #{ " \ ff: #{ " \ startFilter: v:true, " \ split: 'floating', " \ prompt: '> ' , " \ filterSplitDirection: 'floating', " \ filterFloatingPosition: 'top', " \ highlights: #{filterText: 'Statement', floating: "Normal", floatingBorder: "Special"}, " \ floatingBorder: 'single', " \ autoAction: #{name: "preview"}, " \ startAutoAction: v:true, " \ previewFloating: v:true, " \ floatingTitle: '', " \ previewSplit: 'vertical', " \ } " \ }, " \ }) " " call ddu#custom#patch_global(#{ " \ kindOptions: #{ " \ file: #{ " \ defaultAction: 'open', " \ }, " \ } " \ }) " " call ddu#custom#patch_global(#{ " \ sourceOptions: #{ " \ _: #{ " \ matchers: ['matcher_substring'], " \ }, " \ } " \ }) " " autocmd FileType ddu-ff-filter call s:ddu_filter_my_settings() " function! s:ddu_filter_my_settings() abort " nnoremap q " \ close " nnorema " \ call ddu#ui#ff#do_action('itemAction') " nnoremap " \ call ddu#ui#ff#do_action('toggleSelectItem') " nnoremap i " \ call ddu#ui#ff#do_action('openFilterWindow') " nnoremap q " \call ddu#ui#ff#do_action('quit') " endfunction " " " }}}1 " -------------------------------------------------------- ローカル設定 if has('vim_starting') set nocompatible endif let g:python3_host_prog = 'C:\Python311\python.exe' " ----- settings. if has('mac') else source C:\tools\vim\vim90\rc\env.vim source C:\tools\vim\vim90\rc\plugin.vim " changelog autocmd FileType changelog set tabstop=2 noexpandtab formatoptions=q endif set renderoptions=type:directx " denops let g:denops#debug = 0 let g:denops_disable_version_check = v:true let g:denops_server_addr = '127.0.0.1:32123' " outline function! s:textobject_outline(...) abort let from_parent = index(a:000, 'from_parent') >= 0 let with_blank = index(a:000, 'with_blank') >= 0 " get current line and indent let from = line('.') let indent = indent(from) if indent < 0 return endif let to = from " search first parent if from_parent && from > 1 && indent > 0 let lnum = from - 1 while indent <= indent(lnum) || (with_blank && getline(lnum) =~ '^\s*$') let lnum -= 1 endwhile " update current line and indent let from = lnum call cursor(from, 0) let indent = indent(from) endif " search last child let lnum = to + 1 while indent < indent(lnum) || (with_blank && getline(lnum) =~ '^\s*$') let to = lnum let lnum += 1 endwhile " exit visual mode let m = mode() if m ==# 'v' || m ==# 'V' || m == "\" execute 'normal! ' .. m endif " select with line-visual mode normal! V call cursor(to, 0) normal! o endfunction command! -nargs=* TextobjectOutline call s:textobject_outline() xnoremap io TextobjectOutline xnoremap ao TextobjectOutline from_parent xnoremap iO TextobjectOutline with_blank xnoremap aO TextobjectOutline from_parent with_blank onoremap io TextobjectOutline onoremap ao TextobjectOutline from_parent onoremap iO TextobjectOutline with_blank onoremap aO TextobjectOutline from_parent with_blank onoremap i iW' function! s:ReplaceJapaneseComma() call setline(line('.'), substitute(getline('.'), "@", '、', 'g')) call setline(line('.'), substitute(getline('.'), " てん ", '、', 'g')) call setline(line('.'), substitute(getline('.'), " 楽天 ", '。', 'g')) call setline(line('.'), substitute(getline('.'), "楽天 ", '。', 'g')) call setline(line('.'), substitute(getline('.'), "&", '。', 'g')) call setline(line('.'), substitute(getline('.'), "句点", '。', 'g')) call setline(line('.'), substitute(getline('.'), "点", '。', 'g')) call setline(line('.'), substitute(getline('.'), "ケーピーアイ", 'KPI', 'g')) call setline(line('.'), substitute(getline('.'), "スペース", ' ', 'g')) call setline(line('.'),substitute(getline('.')," ",'','g')) call setline(line('.'), substitute(getline('.'), "+", '+ ', 'g')) call setline(line('.'), substitute(getline('.'), "バッハ", 'バッファ', 'g')) return '' endfunction command! -range ReplaceJapaneseComma call s:ReplaceJapaneseComma() nnoremap :ReplaceJapaneseComma inoremap ReplaceJapaneseComma " previm let g:previm_open_cmd = 'C:\\Users\\taket\\AppData\\Local\\Mozilla\ Firefox\\firefox.exe' call ai_review#config({ 'chat_gpt': { 'model': 'gpt-4-1106-preview' } }) " chatgpt let g:chat_gpt_max_tokens=2000 let g:chat_gpt_model='gpt-4-1106-preview' let g:chat_gpt_session_mode=1 let g:chat_gpt_temperature = 0.7 let g:chat_gpt_lang = 'Japanese' " perplexity let g:perplexity_token = 'ok' let g:perplexity_model = 'aaa' " END