Code Monkey home page Code Monkey logo

vim.xlam's Issues

`nextWorkbook` と `prevWorkbook` で無限ループが発生

Function nextWorkbook()
Dim i As Integer
i = getWorkbookIndex(ActiveWorkbook) - 1
Do
i = ((i + 1) Mod Workbooks.Count) + 1
If Windows(Workbooks(i).Name).Visible Then
Workbooks(i).Activate
Exit Function
End If
Loop
End Function
Function previousWorkbook()
Dim i As Integer
i = getWorkbookIndex(ActiveWorkbook) - 1
Do
i = ((i - 1 + Workbooks.Count) Mod Workbooks.Count) + 1
If Windows(Workbooks(i).Name).Visible Then
Workbooks(i).Activate
Exit Function
End If
Loop
End Function

i の計算が 1ずれているので修正が必要。

next

-     i = getWorkbookIndex(ActiveWorkbook) - 1 
+     i = getWorkbookIndex(ActiveWorkbook)
      Do 
-         i = ((i + 1) Mod Workbooks.Count) + 1
+         i = (i Mod Workbooks.Count) + 1

prev

-     i = getWorkbookIndex(ActiveWorkbook) - 1 
+     i = getWorkbookIndex(ActiveWorkbook)
      Do 
-         i = ((i - 1 + Workbooks.Count) Mod Workbooks.Count) + 1
+         i = ((i - 2 + Workbooks.Count) Mod Workbooks.Count) + 1

`nextWorkbook` と `prevWorkbook` がおかしい

  • Windows() を使うと常にアクティブインデックスが1になるので、2つしか切り替えできない
  • Workbooks のインデックスを取得できるようにする必要がありそう
  • Ctrl + Tab にマッピングさせるのもあり?

Bug: ShapeInsert mode does not exit

ShapeInsert mode does not exit when a cell is selected while in ShapeInsert mode; turning Vim load off/on does not return to Normal mode.

v0.4.0 に向けた変更(大幅なキーマップ変更含む)

次の v0.4.0 では、キーマップ周りを大きく変えようと思っています。
機能追加も考えていますが、なにかご意見あればコメントいただけると幸いです。

  • Next/Prev 系のコマンドを Vim のキーバインドっぽく ]/ [ を Prefix にしたい
    • それに合わせて現行のコマンドを次のように変更
      • インデント上げ/下げ:+/-</> (これもより Vim っぽくなる)
      • フォント小/大:</>-/+
      • 小数点けた 少/多:[/](/)
    • Next/Prev 系のコマンドを追加
      • SpecialCells で取れるやつとかを検討中。コメントありのセルに移動とか便利そう
      • 図形を選択する Next/Prev とか
  • 新機能
    • セルの内容をプレーンテキストとしてコピーする機能(割当予定:Y
    • n/N を縦優先ではなく横優先で検索(割当予定:;/, 無理そうなので諦め
    • 数値の , 区切りスタイルのトグル(割当予定:f,
    • オートSUMとか関数関連(割当予定:Prefix =
  • 優先度低めの新機能(v0.4.0では実装しないかも
    • 数値のインクリメント/デクリメント(割当予定:<C-a>/<C-x>
    • 上下のセルの内容を結合する機能(割当予定:gJ
    • セルの内容を大文字/小文字変換(割当予定:gU/gu
    • エクセルの参照先/参照元へ移動する機能(割当予定:gd/未定)
  • 拡張セル選択の解除機能を切り分け
    • Shift+BackSpace がデフォルトで拡張選択解除なので、そこに割当予定
  • 行ペーストのとき p が逆の挙動なのを直したい
    • p/P のどちらもペースト機能に割当。(通常時はどちらも同じ挙動)
    • 現状 P 割当の SpecialPastegp とかで検討中
  • デフォルトキーマップの変更(大きな方針として、@ プレフィックスはユーザ用に予約したい)
    • 読み取り専用トグル:@a~
    • Next/Prev ブック:@n/@N]b/[b(変わるかも)
    • ウィンドウ固定:@wzf (freeze)
    • セル内折り返し:@rzw (wrap)
    • セル結合/解除のトグル:@m&
    • 関数バーの表示/非表示トグル:@x=v (関数系Prefix適用予定)
    • ファイル情報?表示:@sgs
    • プリント範囲の設定/解除:@p/@Pzp/zP

一気にやるかどうかはわからないです。ちょっとずつ変えてくかも。
あと、いずれはフィルタとかもいじれるようにしたいとは思っています。
(私の普段の使い方だと、フィルタあまり使わないので後回し気味)

Excelの古いバージョンへの対応について

お世話になっております。
VimExcelが2.0になり動かなくなったので、こちらを利用させていただきました。

当方、Windows10 64bit で Office2007 32bit を使っております。
この環境ではINSERTモードにするとフリーズ1するようで、C_KeyStrokeを修正すると動くようになりました。
具体的にはモジュールの宣言のところでAPIの戻り値をIntergerに変更しました。

    Public Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Integer
    Public Declare Function GetKeyState Lib "User32.dll" (ByVal vKey As Long) As Integer

#IF文で分岐するのだと思いますがやり方が分からず、もし簡単に直るのでしたらご対応いただければ幸いです。
珍しい環境かと思いますのでご面倒ならば修正不要です。

Footnotes

  1. フリーズではなくShiftキーやCtrlキーが押しっぱなしになるようです。

新機能:VimEditor

セルの中身や図形に書かれた文字を編集したい!
だけどわざわざ外部エディタを起動してやるほどでもない…
みたいなレベル感のテキストを編集するための、なんちゃってVimを作っています。

feature/vim-editor ブランチで開発しているのですが、色々うまくいってなかったりします。
協力してくれる方がいらっしゃいましたら大変嬉しいです。

macOS版への対応

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


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

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.