😎

Neovimで色を自在に作ろう!

2022/09/22に公開約1,600字

はじめに

https://github.com/uga-rosa/ccc.nvim

便利で見た目がリッチな色作成用のプラグインです。
スライダーの動的ハイライト、様々な色空間対応、以前使った色の復元、バッファ内のハイライトなど、機能モリモリです。

背景

特にちゃんとした理由があるわけでもないんですが、欲しい感じのものがなくて、自分で作れそうだったので作りました。
似たようなプラグインは多いですが、多分これが一番便利です。

使い方

normal modeから使うためのコマンドと、insert modeから使うためのマッピングがあります。

  • :CccPick

    • カーソル下の色を検出し、調整した色で置き換えます。
  • <Plug>(ccc-insert)

    • 作った色を挿入します。

セットアップ

Lua製プラグインあるあるの、デフォルト設定のまま使うのに空setupが必要な点は回避しています。
なにかしらの変更が必要な場合だけsetupしてください。

local ccc = require("ccc")
local mapping = ccc.mapping

ccc.setup({
    highlighter = {
        -- ハイライトの自動有効化
        auto_enable = true,
        -- ハイライトが有効になるファイルタイプの制限
        filetypes = { "css", "html", "vim" },
    },
    mappings = {
        -- qで閉じるの無効化
        q = mapping.none,
    },
})

オプション

まだ作ったばかりで開発がアクティブなので、FAQ的に重要な設定だけ載せようと思います。
helpはちゃんと書いてるので、気になったことがあれば見てみてください。

Q. なんかエラー出たんだけど
A. mainでは大量の動的ハイライトによるバグを回避するために、0.7.2には存在しないAPIを使っています。
0.7.2というブランチがあるのでそれを使ってください。
バージョンの問題でないならissueお願いします。

Q. スライダーの見た目関連
A. フォントの問題で滑らかに見えないのはよくあるようです。
好きな文字に変えられるので、フォントにあったものを選んでください。
ポインターの文字や色も設定できます。

ccc.setup({
    bar_char = "█",
    point_char = "😈",
    point_color = "#4833cc",
})

Q. あの色空間が欲しい。
A. 既に実装してあるのは、RGB, HSL, HSV, CMYK, Lab, XYZ, HSLuvです。
追加は簡単なので、要望あればissue立ててください。
複数の色空間を同時に使うこともできますが、これはちょっと高度な設定がいるのでwikiを見てください。

multiple

おわりに

相談に乗って下さったvim-jpの皆様に、この場を借りて感謝申し上げます。

GitHubで編集を提案

Discussion

ログインするとコメントできます