Skip to content

vimrc now

foolmacky edited this page Jul 23, 2025 · 2 revisions

■現在のvimrc

call plug#begin('~/.vim/plugged')
Plug 'lifepillar/vim-colortemplate'
Plug 'nanotech/jellybeans.vim', { 'tag': 'v1.7' }
Plug 'romgrk/doom-one.vim'
Plug 'rust-lang/rust.vim'
Plug 'sebdah/vim-delve', {'for': ['go'] }
Plug 'prabirshrestha/vim-lsp'
Plug 'mattn/vim-lsp-settings'
Plug 'prabirshrestha/asyncomplete.vim'
Plug 'prabirshrestha/asyncomplete-lsp.vim'
Plug 'Shougo/vimproc.vim', {'do' : 'make'}
Plug 'Shougo/vimshell.vim'
Plug 'mattn/vim-lexiv'
Plug 'mattn/vim-goimports'
Plug 'hrsh7th/vim-vsnip'
Plug 'hrsh7th/vim-vsnip-integ'
Plug 'mattn/vim-chatgpt'
Plug 'sheerun/vim-polyglot'
Plug 'mattn/vim-treesitter'
Plug 'tpope/vim-markdown'
Plug 'previm/previm'
call plug#end()

let g:jellybeans_overrides = {
\ 'background': { 'ctermbg': 'none', '256ctermbg': 'none', 'guibg': 'none', 'guigb': 'none' },
\ 'CursorLine': { 'ctermbg': 'none', '256ctermbg': 'none', 'guibg': 'none', 'guigb': 'none' },
\ 'String': { 'guifg': '99cc66' },
\ 'Statement': { 'ctermfg': 'Blue', '256ctermfg': 'Blue' },
\}
"colorscheme jellybeans
autocmd colorscheme * highlight Normal guibg=NONE
autocmd colorscheme * highlight EndOfBuffer guibg=NONE
colorscheme doom-one

syntax enable
hi Comment	term=underline ctermfg=12 guifg=#5f9ea0
hi CursorColumn	term=reverse ctermbg=240 guibg=#483d8b
hi CursorLine	term=underline cterm=underline gui=underline ctermul=244 guisp=#696969 guibg=NONE

let g:netrw_liststyle=3
let g:netrw_altv=1
let g:netrw_alto=1

function! s:on_lsp_buffer_enabled() abort
    setlocal omnifunc=lsp#complete
    setlocal signcolumn=yes
    if exists('+tagfunc') | setlocal tagfunc=lsp#tagfunc | endif
    nmap <buffer> gd <plug>(lsp-definition)
    nmap <buffer> gt <plug>(lsp-type-definition)
    nmap <buffer> K <plug>(lsp-hover)

    let g:lsp_format_sync_timeout = 1000
    autocmd! BufWritePre *.rs,*.go call execute('LspDocumentFormatSync')
endfunction

augroup lsp_install
    au!
    " call s:on_lsp_buffer_enabled only for languages that has the server registered.
    autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled()
augroup END

let g:lsp_async_completion = 1
let g:lsp_diagnostics_enabled = 1
let g:lsp_diagnostics_echo_cursor = 1
let g:lsp_text_edit_enabled = 0
let g:lsp_highlight_references_enabled = 1
let g:lsp_settings = {
  \   'gopls': {
  \     'initialization_options': {
  \       'usePlaceholders': v:true,
  \     },
  \   },
  \ }
let g:goimports_simplify = 1

let g:asyncomplete_auto_popup = 1
let g:asyncomplete_auto_completeopt = 0
set completeopt=menuone,noinsert,noselect,preview
autocmd! CompleteDone * if pumvisible() == 0 | pclose | endif
"let g:asyncomplete_popup_delay = 200
let g:rustfmt_autosave = 1

let g:previm_open_cmd = 'open -a Firefox'

"vim-vsnip
"imap <expr> <C-j>   vsnip#expandable()  ? '<Plug>(vsnip-expand)'         : '<C-j>'
smap <expr> <C-j>   vsnip#expandable()  ? '<Plug>(vsnip-expand)'         : '<C-j>'

" Expand or jump
imap <expr> <C-l>   vsnip#available(1)  ? '<Plug>(vsnip-expand-or-jump)' : '<C-l>'
smap <expr> <C-l>   vsnip#available(1)  ? '<Plug>(vsnip-expand-or-jump)' : '<C-l>'

" Jump forward or backward
imap <expr> <Tab>   vsnip#jumpable(1)   ? '<Plug>(vsnip-jump-next)'      : '<Tab>'
smap <expr> <Tab>   vsnip#jumpable(1)   ? '<Plug>(vsnip-jump-next)'      : '<Tab>'
imap <expr> <S-Tab> vsnip#jumpable(-1)  ? '<Plug>(vsnip-jump-prev)'      : '<S-Tab>'
smap <expr> <S-Tab> vsnip#jumpable(-1)  ? '<Plug>(vsnip-jump-prev)'      : '<S-Tab>'

" Select or cut text to use as $TM_SELECTED_TEXT in the next snippet.
" See https://github.com/hrsh7th/vim-vsnip/pull/50
nmap        s   <Plug>(vsnip-select-text)
xmap        s   <Plug>(vsnip-select-text)
nmap        S   <Plug>(vsnip-cut-text)
xmap        S   <Plug>(vsnip-cut-text)

"quickfix
"autocmd QuickfixCmdPost make,grep,vimgrep if len(getqflist()) != 0 | copen | endif
autocmd QuickfixCmdPost *grep* cwindow
"nnoremap <silent> <C-n> :<C-n>cnext<CR>
"nnoremap <silent> <C-p> :<C-p>cprev<CR>
"inoremap <C-p> <C-r>0
noremap <C-p> "0p

set nu
set encoding=utf-8
set fileencodings=utf-8,iso-2022-jp,cp932,sjis,euc-jp
set listchars=tab:»-,trail:-,eol:↲,extends:»,precedes:«,nbsp:%
set fileformats=unix,dos,mac

set tabstop=4
set shiftwidth=4
set noswapfile
set nocompatible
set nowritebackup
set nobackup
set autoread
set hidden
set showcmd
set showmatch
set cursorline
set cursorcolumn
set laststatus=2
set wildmode=list:longest
set ignorecase
set smartcase
set wrapscan
set hlsearch
set mouse=a
set ttymouse=xterm2
set ttymouse=sgr
set updatetime=500
set balloondelay=250
set autoindent
set smartindent
set backspace=2
set clipboard=unnamed
set statusline=%f\ [%l/%02v]\ %m
set scrolloff=999
set termguicolors

filetype indent on
filetype plugin on

nmap <Esc><Esc> :nohlsearch<CR><Esc>

if executable('rg')
    let &grepprg = 'rg --vimgrep --hidden'
    set grepformat=%f:%l:%c:%m
endif

Clone this wiki locally