質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

Q&A

解決済

1回答

4273閲覧

neovimでinit.vim(の一部)が反映されない

ring-ring-ring

総合スコア2

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

0グッド

0クリップ

投稿2020/10/22 08:05

neovimでカラースキーマを変更する

neovimでカラースキーマを変えようと、init.vimをいじったのですが、init.vimファイルを開いた時にしかカラースキームが反映されません。
(しかもinit.vimを開いた時にすら反映されない時もある)
解決策としてどのようなことが考えられますでしょうか。
どなたか心当たりがある方、よろしくお願いします。

### 試したこと

反映されない内容としては、カラースキームだけでなく、lightline.vimの設定も反映される時とされない時があります。
逆に,set numberや、キーバインドなどの基本設定は常に反映されます。

補足情報(FW/ツールのバージョンなど)

nvim: v0.4.4
プラグイン管理: dein.vim

ここにより詳細な情報を記載してください。

init.vim

:syntax on
set number "行番号を表示する

"dein Scripts-----------------------------
let g:python3_host_prog = '/usr/local/Cellar/python@3.8/3.8.5/bin/python3.8'

if &compatible
set nocompatible " Be iMproved
endif
" Required:
set runtimepath+=/Users/tosarinto/.cache/dein/repos/github.com/Shougo/dein.vim

" Required:
if dein#load_state('/Users/tosarinto/.cache/dein')
call dein#begin('/Users/tosarinto/.cache/dein')
" Let dein manage dein
" Required:
call dein#add('/Users/tosarinto/.cache/dein/repos/github.com/Shougo/dein.vim')

" Add or remove your plugins here like this: "カラースキーム call dein#add('tomasr/molokai') call dein#add('gosukiwi/vim-atom-dark') set t_Co=256 colorscheme atom-dark-256 "ステータスライン" call dein#add('itchyny/lightline.vim') " lightline.vim let g:lightline = 'colorscheme': 'landscape', call dein#add('Shougo/neosnippet.vim') call dein#add('Shougo/neosnippet-snippets') " deoplete(コード補間 call dein#add('Shougo/deoplete.nvim') call dein#add('roxma/nvim-yarp') call dein#add('roxma/vim-hug-neovim-rpc') let g:deoplete#enable_at_startup = 1 "ここまでdeoplete本体 " Vim用自動補完プラグイン(任意) call dein#add('Shougo/neco-vim') call deoplete#custom#option('num_processes', 1) " vim-lsp" call dein#add('prabirshrestha/async.vim') call dein#add('prabirshrestha/vim-lsp') call dein#add('mattn/vim-lsp-settings') let g:syntastic_quiet_messages = {"level":"warnings", \ "file": "\Applications/Xcode.app/"} " vim-lspの各種オプション設定 let g:lsp_signs_error = {'text': '✗'} let g:lsp_signs_warning = {'text': '‼'} let g:lsp_signs_information = {'text': 'i'} let g:lsp_signs_hint = {'text': '?'} let s:use_lsp_sources = ['lsp', 'dictionary', 'file'] set omnifunc=lsp#complete " typescript if executable('typescript-language-server') augroup LspTypeScript au! autocmd User lsp_setup call lsp#register_server({ \ 'name': 'typescript-language-server', \ 'cmd': {server_info->[&shell, &shellcmdflag, 'typescript-language-server --stdio']}, \ 'root_uri':{server_info->lsp#utils#path_to_uri(lsp#utils#find_nearest_parent_file_directory(lsp#utils#get_buffer_path(), 'tsconfig.json'))}, \ 'whitelist': ['typescript'], \ }) autocmd FileType typescript setlocal omnifunc=lsp#complete augroup END :echomsg "vim-lsp with `typescript-language-server` enabled" else :echomsg "vim-lsp for typescript unavailable" endif " python" if (executable('pyls')) " pylsの起動定義 augroup LspPython autocmd! autocmd User lsp_setup call lsp#register_server({ \ 'name': 'pyls', \ 'cmd': { server_info -> ['pyls'] }, \ 'whitelist': ['python'], \}) augroup END endif augroup LspAutoFormatting autocmd! autocmd BufWritePre *.py LspDocumentFormatSync augroup END " 便利機能s " ヤンクした履歴を保持 call dein#add('LeafCage/yankround.vim') call dein#add('kien/ctrlp.vim') nmap p <Plug>(yankround-p) "nmap P <Plug>(yankround-P) nmap <C-p> <Plug>(yankround-prev) nmap <C-n> <Plug>(yankround-next) let g:yankround_max_history = 50 " 履歴取得数 nnoremap <silent>g<C-p> :<C-u>CtrlPYankRound<CR> " コメントアウトショートカット call dein#add('tomtom/tcomment_vim') " windowsizeのやつ call dein#add('simeji/winresizer') " gitの記号" call dein#add('airblade/vim-gitgutter') " bracey" call dein#add('turbio/bracey.vim') " highlights " javascript" call dein#add('maxmellon/vim-jsx-pretty') call dein#add('pangloss/vim-javascript') " typescript" call dein#add('peitalin/vim-jsx-typescript') " "call dein#add('leafgarland/typescript-vim') " css" call dein#add('ap/vim-css-color') let g:dein#auto_recache = 1 " Required: call dein#end() call dein#save_state()

endif
if dein#check_install()
call dein#install()
endif
" Required:
filetype plugin indent on
syntax enable
" If you want to install not installed plugins on startup.
if dein#check_install()
call dein#install()
endif
"End dein Scripts-------------------------

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

見てみると

vim

1call dein#add('gosukiwi/vim-atom-dark') 2set t_Co=256 3colorscheme atom-dark-256

とありますが、deinとしてプラグインのロードを行うのは

vim

1call dein#end()

の後です。

カラースキームの反映ならヘルプにも記載があり

text

1Q: Cannot load colorscheme when reloading .vimrc. 2 3A: You must write |:colorscheme| lines after |dein#end()|. 4> 5 call dein#add('tomasr/molokai', {'merged': 0}) 6 ... 7 8 call dein#end() 9 colorscheme molokai 10<

とあります。

もしくはその後にもありますが

text

1Or you can use |dein#source()| for it. 2> 3 call dein#add('tomasr/molokai', {'merged': 0}) 4 call dein#source('molokai') 5 colorscheme molokai 6<

dein#source() でプラグインを即座に読み込みするという手もありますが...まあend後が無難だと思います。

投稿2020/10/22 08:26

編集2020/10/22 08:32
tsuyoshi_cho

総合スコア189

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ring-ring-ring

2020/10/24 01:44

回答ありがとうございます!! 試してみたのですが、保存してvimを開き直した一度目だけしか反映されないです。 二度目以降はデフォルトに戻ってしまいます。 この書き方では間違っているのでしょうか? " Required: if dein#load_state('/Users/tosarinto/.cache/dein') call dein#begin('/Users/tosarinto/.cache/dein') " Let dein manage dein " Required: call dein#add('/Users/tosarinto/.cache/dein/repos/github.com/Shougo/dein.vim') " Add or remove your plugins here like this: "カラースキーム call dein#add('tomasr/molokai') ~~~~~~~~~~~~~ " Required: call dein#end() set t_Co=256 colorscheme atom-dark-256 call dein#save_state() endif
tsuyoshi_cho

2020/10/24 03:57 編集

これが最小セットだとして... あらためて見てみてわかりましたが、ちょっと指摘が足りてませんでした。 まず、最低限の問題として ```vim if dein#load_state('/Users/tosarinto/.cache/dein') ~~~~~~~~~~~~~ endif ``` ブロックの後に colorschemeは移動させないとだめです。 helpにありますが ```text *dein#load_state()* dein#load_state({base-path}) Load dein's state from the cache script, which is located in `dein#util#_get_runtime_path() . '/state_' . fnamemodify(v:progname, ':r') . '.vim'`. {base-path} is where your downloaded plugins will be placed. Note: You must call it before |dein#begin()|. It clears dein all configuration. Note: It overwrites your 'runtimepath' completely, you must not call it after change 'runtimepath' dynamically. Note: The block is skipped if dein's state is loaded. It returns 1, if the cache script is old or invalid or not found. ``` deinとしてのステートを保持しており、これが古くなった=プラグインの更新が必要 と判断したときに 1 を返して、結果として if/endifまでの処理をして状態の再設定ができる、というのが処理の大部分です。 本来はbeginにinit.vimを設定したりしますが、未指定だと最初に読まれたファイル(init.vim)は監視対象に加えてくれるので、とりあず大丈夫です。 そして、このブロックに入らないとcolorschemeが適用されないので、現在の症状になっていると考えられます。 各処理がなんのためなのか、1つ1つhelpを引いていくと理解ができると思います。 --- このコードで分る範囲で正解(のはず)を書くと ```vim " Required: if dein#load_state('$HOME/.cache/dein') ~~~~~~~~~~~~~ " Add or remove your plugins here like this: "カラースキーム call dein#add('tomasr/molokai') ~~~~~~~~~~~~~ " Required: call dein#end() call dein#save_state() endif if dein#check_install() call dein#install() endif " Required: filetype plugin indent on syntax enable set t_Co=256 colorscheme atom-dark-256 "End dein Scripts------------------------- ```
ring-ring-ring

2020/10/24 23:32

ありがとうございます!! 解消しました! ブロックの役割をしっかり把握できていなかったです。詳しい解説に加えて正解のコードまで本当にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問