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

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

ただいまの
回答率

89.63%

vimでカラースキーマmolokaiが認識されない

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 93

ohyama

score 23

前提・実現したい事

vimを自分なりにカスタマイズしたいと思い、いろいろなサイトの.viimrcを真似てみたのですが、カラースキーマのmolokaiが認識されません。$HOME/.cache/dein/repos/github.com/tomasr/molokaiというディレクトリはあったので、molokaiのインストール自体は出来ているのだと思います。

発生している問題・エラーメッセージ

/root/.vimrc の処理中にエラーが検出されました:
行 100:
E185: カラースキーム 'molokai' が見つかりません。

該当のソースコード

set encoding=utf-8
scriptencoding utf-8
"↑1行目は読み込み時の文字コードの設定
"↑2行目はVim Script内でマルチバイトを使う場合の設定
"Vim
"Scriptにvimrcも含まれるので、日本語でコメントを書く場合は先頭にこの設定が必要になる

"dein Scripts-----------------------
if &compatible
    set nocompatible    "Be improved
endif

"必要なもの:
set runtimepath+=$HOME/.cache/dein/repos/github.com/Shougo/dein.vim

"必要なもの:
if dein#load_state('$HOME/.cache/dein')
    call dein#begin('$HOME/.cache/dein')

    "Let dein manage dein
    "必要なもの:
    call dein#add('$HOME/.cache/dein/repos/github.com/Shougo/dein.vim')

    "Add or remove your plugins here:
  "molokaiのカラーテーマ
    call dein#add('tomasr/molokai')
  "構文チェックを行なう
    call dein#add('scrooloose/syntastic')
  "()を補完する
    call dein#add('Townk/vim-autoclose')
  "()色付け
    call dein#add('itchyny/lightline.vim')
  "インデントの色付け
    call dein#add('Yggdroot/indentLine')
  "末尾の全角と半角の空白文字を赤くハイライト
    call dein#add('bronson/vim-trailing-whitespace')
  "コードの自動補完(neocomplete・neosnippet・neosnippet-snippets)
  if has('lua')
    "自動補完
      call dein#add('Shougo/neocomplete.vim')
    "スニペットの補完機能
      call dein#add('Shougo/neosnippet')
    "スニペット集
      call dein#add('Shougo/neosnippet-snippets')
  endif

    call dein#end()
    call dein#save_state()
endif

"必要なもの
filetype plugin indent on
syntax enable

"必要なもの
if dein#check_install()
    call dein#install()
endif

"End dein Scripts----------------------

"molokai
let g:molokai_original=1

"--------------------------------------
"文字
"--------------------------------------
set fileencoding=utf-8 "保存時の文字コード
set fileencodings=ucs-boms,utf-8,euc-jp,cp932 "読み込み時の文字コードの自動判別
set fileformats=unix,dos,mac "改行コードの自動判別
set ambiwidth=double "文字が崩れる問題を解決

"--------------------------------------
"ステータスライン
"--------------------------------------
set laststatus=2 "ステータスラインを常に表示
set showmode "現在のモードを表示
set showcmd "売ったコマンドをステータスラインの下に表示
set ruler "ステータスラインの右側にカーソルの位置を表示する

"--------------------------------------
"コマンドモード
"--------------------------------------
set wildmenu "コマンドモードの補完
set history=5000 "保存するコマンド履歴の数

"--------------------------------------
"タブ・インデント
"--------------------------------------
set expandtab "タブ入力を複数の空白入力に置き換える
set tabstop=2 "画面上でタブ文字が占める幅
set softtabstop=2 "連続した空白に対してタブキーやバックスペースキーでカーソルが動く幅
set autoindent "改行時に前の行のインデントを継続する
set smartindent "改行時に前の行の構文をチェックし次の行のインデントを増減する
set shiftwidth=2 "smartindentで増減する幅

"---------------------------------------
"カラースキーム
"---------------------------------------
colorscheme molokai
set t_Co=256

"---------------------------------------
"文字列検索
"---------------------------------------
set incsearch "インクリメンタルサーチ
set ignorecase "検索パターンに大文字・小文字を区別しない
set smartcase "検索パターンに大文字を含んでいたら大文字・小文字を区別する
set hlsearch "検索結果をハイライト

"ESCキー2度押しでハイライトの切り替え
nnoremap <silent><Esc><Esc> :<C-u>set nohlsearch!<CR>

"---------------------------------------
"カーソル
"---------------------------------------
set whichwrap=b,s,h,l,<,>,[,],~ "カーソルの左右移動で行末から次の行の行頭への移動が可能になる
set number "行番号を表示
set cursorline "カーソルラインをハイライト

"行が折り返し表示されていた場合、行単位ではなく表示行単位でカーソルを移動する
nnoremap j gj
nnoremap k gk
nnoremap <down> gj
nnoremap <up> gk

"バックスペースキーの有効化
set backspace=indent,eol,start

"--------------------------------------
"カッコ・タグの対応
"--------------------------------------
set showmatch "括弧の対応関係を一瞬表示する
source $VIMRUNTIME/macros/matchit.vim "vimの「%」を拡張する

"--------------------------------------
"マウスでカーソル移動とスクロール
"--------------------------------------
if has('mouse')
    set mouse=a
    if has('mouse_sgr')
        set ttymouse=sgr
    elseif v:version > 703 || v:version is 703 && has('patch632')
        set ttymouse=sgr
    else
        set ttymouse=xterm2
    endif
endif

"--------------------------------------
"クリップボードからのペースト
"--------------------------------------
"挿入モードでクリップボードからペーストする時に自動でインデントさせないようにする
if &term =~ "xterm"
    let &t_SI .= "\e[?2004h"
    let &t_EI .= "\e[?2004l"
    let &pastetoggle = "\e[?201~"

    function XTermPasteBegin(ret)
        set paste
        return a:ret
    endfunction

    inoremap <special> <expr> <Esc>[200~ XTermPasteBegin("")
endif

"---------------------------------------
"neocomplete・neosnippetの設定
"---------------------------------------
"vim起動時にneocompleteを有効にする
let g:neocomplete#enable_at_startup=1
"smartcase有効化。大文字が入力されるまで大文字・小文字の区別を無視する
let g:neocomplete#enable_smart_case=1
"3文字以上の単語に対して補完を有効にする
let g:neocomplete#min_keyword_length=3
"区切り文字まで補完する
let g:neocomplete#enable_auto_delimiter=1
"1文字目の入力から補完のポップアップを表示
let g:neocomplete#auto_completion_start_length=1
"バックスペースで補完のポップアップを閉じる
inoremap <expr><BS> neocomplete#smart_close_popup()."<C-h>"

"エンターキーで補完候補の確定。スニペットの展開もエンターキーで確定
imap <expr><CR> neosnippet#expandable() ? "<Plug>(neosnippet_enpand_or_jump)" : pumvisible() ? "<C-y>" : "<CR>"
"タブキーで補完候補の選択。スニペット内のジャンプもタブキーでジャンプ
imap <expr><TAB> pumvisible() ? "<C-n>" : neosnippet#jumpable() ? "<Plug>(neosnippet_expand_or_jump)" : "<TAB>"

"---------------------------------------
"Syntastic
"---------------------------------------
"構文エラー行に「>>」を表示
let g:syntastic_enable_signs=1
"他のプラグインと競合するのを防ぐ
let g:syntastic_always_populate_loc_list=1
"構文エラーリストを非表示
let g:syntastic_auto_loc_list=0
"ファイルを開いた時に構文エラーチェックを実行する
let g:syntastic_check_on_open=1
"「:wq」で終了するときも構文エラーチェックする
let g:syntastic_check_on_wq=1

"JavaScript用。構文エラーチェックにESLintを使用
let g:syntastic_javascript_checkers=['eslint']

"---------------------------------------
"CtrlP
"---------------------------------------
let g:ctrlp_match_window='order:ttb,min:20,max:20,result:100' "マッチウィンドウの設定
let g:ctrlP_show_hidden=1 ".(ドット)から始まるファイルも検索対象にする
let g:ctrlP_types=['fil'] "ファイル検索のみ使用
let g:ctrlP_extensions=['funky', 'commandline'] "CtrlPの拡張として「funky」と「commandline」を使用

"CtrlPCommandLineの有効化
command! CtrlPCommandLine call ctrlp#init(ctrlp#commandline#id())

"CtrlPFunkyの絞り込み検索設定
let g:ctrlp_funky_matchtype='path'

if executable('ag')
  let g:ctrlp_use_caching=0 "CtrlPのキャッシュを使わない
  let g:ctrlp_user_command='ag %s -i --hidden -g ""' "「ag」の検索設定
endif

試したこと

調べてみると、カラースキームの設定をcall dein#endよりも外に出せという記事を見かけたのですが、外に出しても結果は変わりませんでした。

補足情報

OSはFrreeBSD12.1で動作しています。
Vimのバージョンは8.2です。
参考サイト1
参考サイト2

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

dein.vimでcolorschemeを使う時にハマったこと | たくのこ Web
を見たのではないかと思いますが...

文中の解説にもありますが

call dein#add('tomasr/molokai', {'merged': 0})
...
call dein#end()
colorscheme molokai

とあるように merged : 0 を設定しないと、効果が出ません
(マージ処理の都合、マージしたものはカラースキームの認識がVimEnterの後になってしまう...のだったと思います)

これがいやなら、次の設定をvimrcに追加するのはどうでしょう?

augroup colorscheme-init
  autocmd!
  autocmd VimEnter * nested colorscheme molokai | autocmd! colorscheme-init
augroup END

これはVimEnter時に設定するautocmdを設定する(ついでに消える)というものです。
たぶんこちらのほうが、問題は出にくいかと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/01/07 11:31

    記事に「この方法を試したけどダメでした」とあったので試していませんでした。ありがとうございました。

    キャンセル

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

  • ただいまの回答率 89.63%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る