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

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

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

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

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

解決済

1回答

2135閲覧

neovimにskkeletonを導入したいが変換ができない

Shoriencohol

総合スコア10

Vim

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

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

1グッド

1クリップ

投稿2023/03/16 12:54

編集2023/03/28 23:22

実現したいこと

  • neovimにskkeletonを導入して、スムーズに日本語入力ができるようにしたい。

前提

Vimに取り組み始めて、APIの取入れも視野に入れてneovimに切り替えようと思っています。

ノーマルモードから挿入モードへ、挿入モードからノーマルモードへ切り替えるたびにIMEが切り替わらず日本語入力のままで、ノーマルモードのコマンド入力がままなりません。

そこで、下記の記事(作者)を参考にskkeletonを導入することにしました。
新しいVim用日本語入力プラグインを作った

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

記事の通り、Deno, denops.vim, skkeletonを導入し、辞書ファイルをダウンロードして/.config/nvim/JISYO-SKK.Lに配備し、下記のコードを同フォルダにあるinit.luaに記載しましたが、スペースキーを押しても変換が出てきません。(挿入モードからCtrl+Jで日本語入力自体は起動)

lua

1vim.fn['skkeleton#config']({globalJisyo="~/.config/nvim/SKK-JISYO.L"})

2023/3/29追記: 設定ファイル
イメージ説明

2023/3/29追記: フォルダ構成
イメージ説明

該当のソースコード

プラグインは、packer.nvimで下記のように導入しています。

nvim

1use 'vim-denops/denops.vim' 2use 'vim-skk/skkeleton'

試したこと

辞書ファイルがうまく読み込めていないことが原因かと思い、リンクの書き方を様々変えたり、場所を変えたりしたがダメでした。

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

Windows11 WSL2 (ubuntu)
nvim v0.9.0
deno 1.31.2

2023/3/28追記: 実際の動作画像

下図のように、変換の▽がでないため、スペースを押しても変換できず仮名で確定してしまいます。
※ちなみに、ファイルは実際のプラグイン追加用ファイル。

イメージ説明

Kuki👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

挿入モードからCtrl+Jで日本語入力自体は起動

とのことですので、プラグインの導入自体はできていると思われます。

入力時にが表示されているでしょうか?
SKKでは漢字に変換する範囲をユーザーが明示的に指定します。デフォルトではshiftキーで入力を行うと変換範囲を区切ることができます。

例えば、以下のように入力する必要があります。

  • 「日本」と入力したい場合→Nihonと入力
    • すべて漢字なので、最初にshiftをつける
  • 「着る」と入力したい場合→KiRuと入力
    • 漢字と送り仮名が混ざるので、それぞれの最初にshiftをつける

上記の入力後にスペースを押せば変換できるはずです。
なお、変換中はが表示されます。

投稿2023/03/22 01:44

kawarimidoll

総合スコア35

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

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

Shoriencohol

2023/03/28 07:10

返答遅くなりました。ご返信ありがとうございます。 ▽が表示されないので、スペースを押しても変換できず、仮名のまま確定してしまいます。 質問本体のほうに動作時の画像を追加しました。 ちなみに、実際のプラグインの追加用ファイルになります。
kawarimidoll

2023/03/28 10:11

Neovimの設定は画像で示していただいたもので全てでしょうか? 他に設定がないのであれば、skkeletonの起動マッピングが登録されていないので、skkeletonを使った入力になっていないと思われます。 helpを参考に、以下のような起動マッピングを追加してください(luaを使っているようなので、vim.cmdでまとめています)。 ```lua vim.cmd([[ imap <C-j> <Plug>(skkeleton-toggle) cmap <C-j> <Plug>(skkeleton-toggle) ]]) ``` skkeletonが起動していれば、`Henkan`のようにshiftキーを使って入力した段階で▽が表示されます。
kawarimidoll

2023/03/28 10:25 編集

すみません、画像を見直しましたが、右下にちゃんと<skkeleton>が出ているので、たぶん起動設定はできています。 > ▽が表示されないので、スペースを押しても変換できず、仮名のまま確定してしまいます。 こちらですが、shiftキーを使って入力しても同じ結果でしょうか?
Shoriencohol

2023/03/28 23:24

回答ありがとうございます。 Shiftキーを押すと無事に▽が表示されました!ありがとうございます。 ただ、やはり漢字変換ができず(▼がでない)、辞書登録のモードになってしまいます。 おそらく、辞書の設定がうまくできていないように思うのですが、 なにかおかしいところはありますでしょうか?(私のほうでもいろいろ試したいとは思いますが) 質問内容に画像を追加しましたので、心当たりがあれば教示いただきたく。
kawarimidoll

2023/03/30 03:40

表示できたようで良かったです! globalJisyoの設定の書き方は問題なさそうですが、「2023/3/28追記」の画像を見ると、skkeletonの読み込みよりも先に辞書登録が書かれているようです ここの順序を入れ替えてみてはどうでしょうか? 「denops読み込み→skkeleton読み込み→辞書の設定」の順序でないと、正しく登録できない可能性があります
Shoriencohol

2023/03/30 12:02

ありがとうございます。 いろいろとアドバイスをいただいて、設定に間違いがないことを確信できましたので、最後は辞書ファイルの不具合しかないということで調べたところ、なぜか文字コードがenc-jpで読み込まれずファイル自体が文字化けしていました(最初見たときはそういうものだと思ってしまっていました…)。 文字コードを変更して辞書ファイルの文字化けを修正したところ、正しく使用することができました!本当にありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問