sha5010 / vim.xlam

Vim experience in Excel: An add-in that brings Vim’s key bindings to Excel, enhancing navigation and efficiency.
MIT License
68 stars 6 forks source link

macOS版への対応 #37

Closed nullplus closed 1 year ago

nullplus commented 1 year ago

こんにちは。とても気になるアドインです。 regexを使った部分を制限するなどして、macOS版で動かすことはできるでしょうか。


macOS版でも使えるかな?と思い、インストールを試みましたが、Dictionaryおよびregex対応の面で機能しないようでした。

Dictionaryは下記ライブラリを試してみましたが、regexは既存の代替品が無く、読み込み時点でエラーになります。 https://github.com/VBA-tools/VBA-Dictionary

sha5010 commented 1 year ago

興味を持っていただき、ありがとうございます。

ご質問のMac版での動作ですが、残念ながら難しいと考えています。 本アドインでは多くの機能でWindowsAPIを利用しておりますが、MacではWindowsAPIが使えないはずです。(未検証) 中でもkeybd_eventというキー操作をおこなうAPIを多用しており、これが使えないとなると多くの機能を再実装する必要があると考えられます。(hjklの移動系コマンドは矢印キーにマップしているが、これをセル選択に実装しなおす等)

Regex系の利用を避け、Dictionaryを紹介いただいたものに置き換えた上で機能の再実装をすれば、動作させられるかもしれません。 ただMac版のExcel VBAは全然詳しくないので、どこまでできるのかは正直わかりません。

nullplus commented 1 year ago

ありがとうございます。 伺った内容から察するにWindowsAPI部分をApppleScriptに置き換える作業になるかもですね...。

sha5010 commented 1 year ago

そんな感じです。AppleScriptで実現できないところは、VBAだけでなんとかする or 諦めるといった感じになると思います。

ただいずれにしてもMac版とWindows版ではショートカットキーがだいぶ異なるので、全体的に置き換える必要がありそうです。 (例えば左揃えなら、Windowsでは Alt+H, L, 1 のキーを連続して押してますが、これがMac版だと Cmd+L になるので、キー定義の変更が必要という感じです)

申し訳ないですが、当方でMac対応版を作成する予定は今のところありません。ご期待に添えずすみません。 Windows版は引き続きぼちぼち開発していきますので、よろしくお願いいたします。

nullplus commented 1 year ago

OK! 普段はkarabiner-elementsで外部からvimの挙動を実装しているのですが、やはりネイティブな制御の方がExcelを操作しやすそうなので、この開発にそそられました。気が向いたときに、調査&実装してみるかもなので、forkしておきます><!!

Thank you ;)

sha5010 commented 1 year ago

フォークありがとうございます。 一旦、本Issueはクローズさせていただきます。


Mac版の開発に興味がある方へ 以下のリポジトリへご協力いただければと思います。

For those interested in developing a Mac version Please cooperate with the following forked repository.

https://github.com/nullplus/macvim.xlam