5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

neovimとlazy.nvimでskkeletonを使いたい

Posted at

はじめに

とりあえず、なぜそうしようと決めたかといいますと、chromebookdeのlinux環境をバックアップしてパワーウォッシュしたつもりが、バックアップファイル0kbでまったくバックアップされてなく。。。
最初から構築するならvimもよいが、せっかくなのでneovim使いたいじゃん!!

neovimインストール

で、neovimをインストール
sudo apt install neovim
Screenshot 2024-05-15 23.57.03.png

古いバージョンだと最新のプラグインマネージャが使用出来ないみたい。
しょうがないので、ソースからコンパイルして最新のバージョンを使います!
Screenshot 2024-05-16 21.59.50.png
最新すぎましたorz

再コンパイルしてようやく、neovim v0.9.5になりました。
skkeleton作者様やこれまでに導入された先人様の記事を読みつつ設定に明け暮れること4日間。
色々と分らないことだらけで悪戦苦闘し、どうにか導入する事が出来ました♪
Screenshot 2024-05-19 09.25.14.png

辞書を読み込み変換も出来るが、変換候補も出欲しいんだけどなぁ。
しかし、自分にはこれが精一杯でございました。ごちそうさま。

やはりおかわり

skkeletonが起動しているのかそのままでは分らないので、インジゲーターを導入しました。
これも四苦八苦して、どうにか導入しておしまい。

補完に苦しむ

補完は。。。難しいです。ネット記事を読んでもlazy.nvimで入れている人が見付からなくて、
いたとしてもどのように入れたのかが分らない。
ネットで調べていくうちに、プラグインが足りてないような感じだったんで、プラグインのドキュメントを読み、作者様の記事を読み、読み、読み
あげくの果てに結果導入することができてよかったです。
Screenshot 2024-05-22 20.21.18.png
沖縄辞書も導入して表示もオッケイでした!

あと、vimmerな先人の方々、このような素晴らしいプラグインをありがとうございます。

自分が一番知りたかった所をのせておきます。
もっとスマートな方法があるかもしれませんが、教えてください。
※辞書ファイルは自分が置いているところのパスです。

skkeleton.lua
return {
        {
        "vim-skk/skkeleton",
        dependencies = {"vim-denops/denops.vim",
                        "Shougo/ddc.vim"},
        config = function()
        vim.cmd([[ call skkeleton#config({
        \ 'globalDictionaries': ['~/.skk/SKK-JISYO.L', '~/.skk/SKK-JISYO.okinawa'],
        \ 'completionRankFile': '~/.skk/rank.json',
        \ 'eggLikeNewline': v:true,
        \ })]])
        vim.cmd([[ call ddc#custom#patch_global( 'sources', ['skkeleton'])]])
        vim.cmd([[ call ddc#custom#patch_global( 'sourceOptions', {
        \ '_': {
        \ 'matchers': ['matcher_head'],
        \ 'sorters': ['sorter_rank'],
        \ },
        \ 'skkeleton' : {
        \ 'mark': 'skkeleton',
        \ 'matchers': [],
        \ 'sorters': [],
        \ 'converters': [],
        \ 'isVolatile': v:true,
        \ 'minAutoCompleteLength': 1
        \ }})]])
        vim.cmd( [[call ddc#enable()]])
        vim.cmd([[ call ddc#custom#patch_global('ui', 'pum')]])
end
 },
}
denops.lua
return {
        {
        "vim-denops/denops.vim", lazy = false,
        },
}
ddc.lua
return {
        {
    "Shougo/ddc.vim",
    "Shougo/pum.vim",
    "Shougo/ddc-ui-pum"
   },
}

keymaps.luaに下記を追加

keymaps.lua
vim.keymap.set({"i", "c"}, [[<C-j>]], [[<Plug>(skkeleton-toggle)]], { noremap = false }) vim.keymap.set({"i", "c"}, [[<C-n>]], "<cmd>call pum#map#insert_relative(+1)<CR>")
vim.keymap.set({"i", "c"}, [[<C-p>]], "<cmd>call pum#map#insert_relative(-1)<CR>")
vim.keymap.set({"i", "c"}, [[<C-y>]], "<cmd>call pum#map#confirm()<CR>")
vim.keymap.set({"i", "c"}, [[<C-e>]], "<cmd>call pum#map#cancel()<CR>")
vim.keymap.set({"i", "c"}, [[<PageDown>]], "<cmd>call pum#map#insert_relative_page(+1)<CR>")
vim.keymap.set({"i", "c"}, [[<PageUp>]], "<cmd>call pum#map#insert_relative_page(-1)<CR>")
indicater.lua
return{
      {
      "delphinus/skkeleton_indicator.nvim",
       config = function()
       vim.cmd([[ lua require("skkeleton_indicator").setup{}]])
       
end
},
}
5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?