幅広い知識と幅広いスキルを求められている系システムエンジニアです。リモートワークしかやりません。

Cicaフォントを使ってVimをオシャンティーにする設定

Cica フォントを使って Vim(GVim、MacVim)をかっこよくする設定のご紹介です。

基本設定

Mac

set guifont=Cica:h16
set printfont=Cica:h12
set ambiwidth=double

Windows の場合は以下のようにしています。

set guifont=Cica:h11
set printfont=Cica:h8
set renderingoptions=type:directx,renmode:5
set ambiwidth=double

ambiwidth は環境によっては single の方が正しい場合があるかもしれません。(iTerm など?要調査)

vim-devicons

ryanoasis/vim-devicons: Adds file type glyphs/icons to popular Vim plugins: NERDTree, vim-airline, Powerline, Unite, vim-startify and more

Cica を v2 にする発端となったプラグインです。Nerd Fonts を含むフォントを設定して、 インストールするだけで対応するプラグインに Deviconsが表示されるようになります。

デフォルトでディレクトリのアイコンは有効になっていないので、以下の設定を vimrc に入れます。

" フォルダアイコンの表示をON
let g:WebDevIconsUnicodeDecorateFolderNodes = 1

適用前

適用後

NERDTree

scrooloose/nerdtree: A tree explorer plugin for vim.

超有名プラグインですね。(NERD ってオタクという意味なんですね 。)

ディレクトリの左の三角アイコンを設定しておきます。

let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'

三角アイコン

CtrlP

ctrlpvim/ctrlp.vim: Active fork of kien/ctrlp.vim—Fuzzy file, buffer, mru, tag, etc finder.

ファイルをサクッと開ける便利プラグインですね。特に必要な設定はありません。

NERDTree みたいにアイコンに色つけられないかなーとみていたら、vim-jp の皆さまの Issue マター()になっていました。

set ctrlp buffer's filetype by HerringtonDarkholme · Pull Request #316 · ctrlpvim/ctrlp.vim

CtrlP

Powerline / Lightline / AirLine

私は Lightline を使っていて以下のように設定しています。せっかくなので燃えてるやつを設定しています。

let g:lightline = {
            \ 'colorscheme': 'jellybeans',
            \ 'active': {
            \   'left': [ [ 'mode', 'paste' ],
            \             [ 'fugitive', 'filename' ] ]
            \ },
            \ 'component_function': {
            \   'fugitive': 'LightLineFugitive',
            \   'readonly': 'LightLineReadonly',
            \   'modified': 'LightLineModified',
            \   'filename': 'LightLineFilename',
            \   'filetype': 'LightLineFiletype',
            \   'fileformat': 'LightLineFileformat',
            \ },
            \ 'separator': { 'left': '', 'right': '' },            \ 'subseparator': { 'left': '', 'right': '' }            \ }

function! LightLineModified()
    if &filetype == "help"
        return ""
    elseif &modified
        return "+"
    elseif &modifiable
        return ""
    else
        return ""
    endif
endfunction

function! LightLineReadonly()
    if &filetype == "help"
        return ""
    elseif &readonly
        return ""
    else
        return ""
    endif
endfunction

function! LightLineFugitive()
    if exists("*fugitive#head")
        let _ = fugitive#head()
        return strlen(_) ? ''._ : ''
    endif
    return ''
endfunction

function! LightLineFilename()
    return ('' != LightLineReadonly() ? LightLineReadonly() . ' ' : '') .
                \ ('' != expand('%:t') ? expand('%:t') : '[No Name]') .
                \ ('' != LightLineModified() ? ' ' . LightLineModified() : '')
endfunction

function! LightLineFiletype()
  return winwidth(0) > 70 ? (strlen(&filetype) ? &filetype . ' ' . WebDevIconsGetFileTypeSymbol() : 'no ft') : ''
endfunction

function! LightLineFileformat()
  return winwidth(0) > 70 ? (&fileformat . ' ' . WebDevIconsGetFileFormatSymbol()) : ''
endfunction

Powerline と Airline は vim-devicons の README の設定例をご確認ください(投

完成!

でーん。

でーん

© 2023 @miiton