t9md / atom-vim-mode-plus

vim-mode improved
https://atom.io/packages/vim-mode-plus
MIT License
1.4k stars 111 forks source link

[META] List of Atom packages I'm maintaining #486

Open t9md opened 7 years ago

t9md commented 7 years ago

Packages I'm maintaining and status and comment for each

[update] 8 Jan. 2017. [update] 17 Jan. 2017. removed Motivation: field, roughly ordered by motivation.

I'm maintaining bunch of packages for Atom editor. I use some of it in daily editing, but for others I rarely use it. Here is summary of my current feeling against each packages.

atom-vim-mode-plus

Status Usage Like? Need? TODO
?? Always Yes! Yes! Lot!

atom-try

Status Usage Like? Need? TODO
Stable Always Yes! Yes! Nothing

Simple package, just copy selected text to pre-determined buffer. Useful to experiment code-snippets in sandbox. This package is incorporated my dev-style.

Flow is paste by atom-try package and run by atom-transformer. Just for me.

atom-transformer

Status Usage Like? Need? TODO
Beta Always Yes Yes! Update on my demand
( e.g. support language specific option )

This package is mainly just for me. I don't link script package which write output to non-editor panel. I want write-out run-output to normal text-editor buffer so that I can use vim-mode-plus or other text-editor specific keybinding and features.

atom-cursor-history

Status Usage Like? Need? TODO
Stable Always Yes!! Yes! Nothing

Well maintained including test spec. I can make cursor-history bundled in vim-mode-plus, but release this package as independent one. For benefit of non-vmp-user. I'm no frustration with current cursor-history implementation. So no special enhancement is planned but will continue maintainance.

atom-quick-highlight

Status Usage Like? Need? TODO
Stable
( rewritten at Jan. 2017 )
Always Yes!! Yes!! Nothing

I use frequently in daily basis. I noticed minor bug. Should I release(minimap-quick-highlight? but I'm not minimap user!).

atom-clip-history

Status Usage Like? Need? TODO
Stable
( rewritten at Jan. 2017 )
Always Yes Yes!! Nothing

I'm very actively use this package. Mainly I use this in insert-mode. I want this package well work in vim-mode-plus(special integration with p and P for vim-mode-plus).

atom-project-folder

Status Usage Like? Need? TODO
Stable Always Yes! Yes!! Nothing

Provide keyboard based project management(add/remove), support custom project group.

atom-toggle

Status Usage Like? Need? TODO
Stable
( rewritten at Jan. 2017 )
Always So so. Yes!! Make it subword aware?

I use this especially in debugging or writing test-spec(lots of boilerplate text).

atom-open-this

Status Usage Like? Need? TODO
Stable Always Yes Yes Nothing

I use daily basis. and code is simple, can continue maintain without mess. Want to improve language-based special handling(by providing mechanism to load user script?)

atom-vim-mode-plus-move-selected-text

Status Usage Like? Need? TODO
Stable( rewritten at Jan. 2017 ) Always Yes Yes Nothing

atom-project-find-navigation

Status Usage Like? Need? TODO
?? Always No, it should be included in project-find itself. Yes Nothing

Feature is achieved by dirty-hacking of find-and-replace package. Vulnerable by upstream package change, but I use daily basis want to improve further.

atom-vim-mode-plus-ex-mode

Status Usage Like? Need? TODO
Alpha Sometimes No. Ideally user should give up ex-mode since it's Atom. Not specially Nothing

Many former vim-user seems to want this feature, but I won't. I hope someone release independent package if they want. I have no motivation to improve ex-mode feature.

atom-narrow

Status Usage Like? Need? TODO
Beta Rarely Not currently but will like if improved Not sure Lot

I have lots of idea which is feature migration from Unite.vim or Emacs's helm. Have great potential to improve your editing further speed-up. Current status is very alpha(created and released but not brushed up and not maintained to fix bug). I have motivation but to work for this package seriously, I need time, but I want to use my time for vim-mode-plus rather than this package.

If time become available or I'm bored to work for vim-mode-plus, I will improve this package. So expect that update without asking when!

atom-theme-switch

Status Usage Like? Need? TODO
Stable Sometimes Yes Yes Nothing

atom-recent-finder

Status Usage Like? Need? TODO
Stable Sometimes So so Sometimes Nothing

Code is small and simple, no not hard to maintain.

atom-markdown-toc-auto

Status Usage Like? Need? TODO
Stable Sometimes Yes Yes Nothing

Created just for me to auto-generate TOC table for github wiki. I have lots of content of github wiki on vim-mode-plus page. Existing similar package is not good at escaping special char used in markdown header.

atom-dev

Status Usage Like? Need? TODO
N/A Frequent N/A Yes Nothing

Not published, I use and sometimes update this package to help my atom packages development.

atom-vim-mode-plus-jasmine-increase-focus

Status Usage Like? Need? TODO
Stable( rewritten at Jan. 2017 ) Sometimes Yes Yes Nothing

atom-vim-mode-plus-move-to-symbols

Status Usage Like? Need? TODO
Stable( rewritten at Jan. 2017 ) Zero So so No Nothing

Depending on core symbols-view package for tag generation and have to save to update symbol position.

atom-vim-mode-plus-plugin-sample

Status Usage Like? Need? TODO
N/A Zero N/A No Nothing

Boilerplate package for vim-mode-plus-plugn packages.

atom-vim-mode-plus-replace-with-execution

Status Usage Like? Need? TODO
?? Zero No Not sure Nothing

Require big help by vmp-core which introduce some mess in Operator code. Idea itself was good. But I rarely hit situation when I found I need this.

atom-paner

Status Usage Like? Need? TODO
?? Surprisingly getting less frequent No, hope to be supported natively Not sure Nothing

I feel this feature is ideally included by Atom core. So I want to make PR and want to DEPRECATE this package in future. I NEED this just after I switched from pure-Vim to Atom, but surprisingly, I don't feel strong necessity right now.

atom-choose-pane

Status Usage Like? Need? TODO
?? Rarely Not sure Not sure Nothing

Port of https://github.com/t9md/vim-choosewin, but I'm not yet actively using this package.
The vim-choosewin is popular, but I haven't use it frequently by myself.
So

atom-focus-pane-or-panel

Status Usage Like? Need? TODO
?? Rarely No No... Nothing

In Atom, window have multiple pane, but not all pane is text-editor. This package is attempting to move around pane seamlessly regardless of text-editor or other special pane. But currently after I published this package, I haven't yet use this package frequently.

atom-keymap-disabler

Status Usage Like? Need? TODO
Stable Zero Yes No Nothing

Since there is better disable-keybindings is already exists. Also Atom itself support disabling keymaps package-wide.

atom-lazy-motion

Status Usage Like? Need? TODO
Stable? Zero Yes before. but No now No DEPRECATE?

I'm not using this package feature in daily editing. But I also feel power of lazy-search. Although I myself not using this package, I'm willing to maintain for other users.

atom-keystroke

Status Usage Like? Need? TODO
Beta Zero No No DEPRECATE?

The chance is very low where I find myself I need features this package provides. Just released as sum-up of my experiment.

atom-smalls

Status Usage Like? Need? TODO
Stable Zero No No Keep maintain???

I have ideas to improve but I'm not using this.

atom-phrase

Status Usage Like? Need? TODO
?? Zero Yes, before Maybe in future Nothing currently

atom-vim-mode-visual-block [DEPRECATED]

Status Usage Like? Need? TODO
DEPRECATED Zero No, it was adhoc workaround Yes, before Unpublish from atom.io?

This is old package for vim-mode. I no longer use vim-mode.

atom-vim-mode-plus-project-find-from-search [DEPRECATED]

Status Usage Like? Need? TODO
DEPRECATED
Now merged into vmp-core
Sometimes Yes before Sometimes Unpublish
chenglou commented 7 years ago

Thanks for all the great work so far! Some feedback from me:

atom-choose-pane: still using it sometimes, less than I thought.

atom-clip-history: I use clipboard-plus (followed the link from clip-history. Thanks for the recommendation!). I like that it's a bit more visual. What kind of integration to vmp are you thinking about?

atom-cursor-history: I use it a lot, but I've found it buggy at times; I can't get a clean repro case though.

atom-lazy-motion: still have it, but surprisingly not using it as much as I thought. Maybe it's because my regex wasn't well-defined enough and I've missed some occurrences. Or maybe the built-in search is good enough.

atom-narrow: using it a lot! It's great. Can elegantly replace a couple of other plugins I have.

atom-open-this: I use nuclide's hyperclick.

atom-project-find-navigation: I don't use it, but it looks like it can be covered by atom-narrow?

atom-project-folder: I don't use it. I open one atom editor window per project and I keep my tree view closed. Is this better though?

atom-quick-highlight: interested in it, haven't started using it.

atom-smalls: used to use it. Not sure why I stopped.

atom-theme-switch: interested.

atom-vim-mode-plus: of course =)

t9md commented 7 years ago

@chenglou Thanks for feedback, I need this kind of feedback always.

Thanks for all the great work so far! Some feedback from me:

atom-choose-pane: still using it sometimes, less than I thought.

Yes, me too less than I thought.

atom-clip-history: I use clipboard-plus (followed the link from clip-history. Thanks for the recommendation!). I like that it's a bit more visual. What kind of integration to vmp are you thinking about?

You like select-list UI? I prefer directly replace editor text and if that wasn't what I want then repeat to pop from clip-history. Integration is same as clipboard-plus provides, just work well for p and P can pop clipboard history.

atom-cursor-history: I use it a lot, but I've found it buggy at times; I can't get a clean repro case though.

Humm, really. Pls report if you found some issue.

atom-lazy-motion: still have it, but surprisingly not using it as much as I thought. Maybe it's because my regex wasn't well-defined enough and I've missed some occurrences. Or maybe the built-in search is good enough.

I use vim-mode-plus's /, using more than one sesarch method is confusing for me.

atom-narrow: using it a lot! It's great. Can elegantly replace a couple of other plugins I have.

OK, I have motivation to work for narrow, wait for a week, don't judege narow with current implementation(I'm not using it since it's not work well for now).

atom-open-this: I use nuclide's hyperclick.

atom-project-find-navigation: I don't use it, but it looks like it can be covered by atom-narrow?

Yes I think so. But replacing narrow-buffer change actuall buffer-text feature is really big one, until that you have to use projec-find so this package's keyboard navigation help your workflow.

atom-project-folder: I don't use it. I open one atom editor window per project and I keep my tree view closed. Is this better though?

Even if you open separate window, I think it's useful, just create pacakge-group(group of folder) and ctrl-enter on project name or project-group open in new-window. So, faster navigation.

atom-quick-highlight: interested in it, haven't started using it.

Useful to find typo or PAIR programming to explaining to indicate your focused variable.

atom-smalls: used to use it. Not sure why I stopped.

Since it demand brain context switching(I too no longer use).

atom-theme-switch: interested.

Sometimes, under daylight, I want to use light color theme. Normally I use dark theme. cmd-shift-up, cmd-shift-down to change theme.

atom-vim-mode-plus: of course =)

Mee too :)

chenglou commented 7 years ago

You like select-list UI? I prefer directly replace editor text and if that wasn't what I want then repeat to pop from clip-history

Yeah sometimes my pastes are big, so it helps glancing over the list and find the right one immediately. I can't remember the last time that was that useful though; I don't have a strong preference here.

I use vim-mode-plus's /, using more than one search method is confusing for me.

Same. I rarely use / even though the built-in find-and-replace could really get some inspiration from /'s better highlighting and labels (labels are great, especially the red indication at the end). But the built-in one can be "upgraded" to a project-wide search, and offers a few options I use sometimes, so I think I developed some muscle memories to use the built-in search rather than vmp's.

As an aside, the common theme here seems to be incrementality. Being able to upgrade/downgrade, narrow/expand, and doing so incrementally (which is why I like narrow a lot). Interoperability with the atom infrastructure is great too.

Maybe a clever UI for narrow can replace all these searches, I dunno.

Even if you open separate window, I think it's useful When I open a project in atom from the command line through atom ., atom recognizes the root and opens all the previous panes and tabs. This is why I've kept the windows separate.

Useful to find typo or PAIR programming to explaining to indicate your focused variable

I totally forgot that (this package)[https://atom.io/packages/highlight-selected] wasn't part of Atom! I had this installed since the beginning and it's automatically all the time. It highlights without extra mechanism/keybindings; I like its simplicity. Of course, if you move around your cursor then the highlight's lost, but I don't know if I need to have one or more highlights persisted, ever. There's something Narrow can help with here, but I can't figure out the exact use-case/UI. Imagine https://github.com/t9md/atom-narrow/issues/15 with narrow overlaid on top or in another window, something like that. Just an idea though.

Narrow has the potential to be really great & interop with Atom well.

Btw vim-mode-plus' startup time is not too fast (800ms?). Though it's much better than some of my other plugins (Nuclide takes 4-5 seconds...)

t9md commented 7 years ago

I want let you use / by improving / futher :). So you like narow, me too, but my backlog of vmp is always full, so I work for narrow or other package when I'm tired of vmp as refresher.

For the speed of vmp, YES slow!! I want to improve, to do that, I think I have to learn about basic performance tuning of JavaScript. The slowness of vmp is most part from Atom itself, other part is my lack of understanding of js. So need more free time to let me learn things.

averrin commented 7 years ago

@t9md how you navigates through files tree? I use NerdTree, but i cant say, that its ideal for me.

t9md commented 7 years ago

Nerdtee keymap for atom package? I use default tree-view and fuzzzy file finder.

t9md commented 7 years ago

@averrin what did you use in pure-Vim? Vimfiler?

averrin commented 7 years ago

@t9md nerd-treeview: https://github.com/sQu1rr/nerd-treeview it has some code, not only keymaps, but its no longer supported. I used vim as ide some years ago and used NerdTree. Fuzzy finders is nice, when you know what you looking for.

gouegd commented 7 years ago

Hi ! Happy new year to all. @t9md, thanks for all these packages. I use some of them (mostly vim mode plus and quick-highlight) and I'm also a minimap user. I saw your note about integrating it with quick-highlight, so I've had a look at it and got something basic working, with reserves. Please see the discussion I started on https://github.com/t9md/atom-quick-highlight/issues/12. Cheers !

thancock20 commented 7 years ago

Thanks for all the work you’ve done on these packages t9md! Since I love the work you've done on vim-mode-plus, I've at least looked at all your other published packages, so I thought I might as well add my feedback to here as well:

atom-choose-pane: Currently installed, and I use it every time I have more than one pane open. Out of curiosity, how do you move the cursor from one pane to another if not by this package? I'm pretty sure you don't use the mouse.

atom-clip-history: Not currently installed. Can’t remember why I uninstalled it, but I’d try it again if special integration with p and P were added.

atom-cursor-history: Currently installed, though I forget about it most of the time. I’m sure it would come in handy if I could get in the habit of using it.

atom-focus-pane-of-panel: Not currently installed. I prefer the way choose-pane works.

atom-keymap-disabler: Not currently installed. I use disable-keybindings instead as well.

atom-keystroke: Currently installed. I have a couple keymaps set up that use it.

atom-lazy-motion: Not currently installed. I had it at one time, but I never used it.

atom-markdown-toc-auto: Not currently installed. I'm sure I'll check it out at some point.

atom-narrow: Currently installed. I really like this package, and I use it instead of project find most of the time. I'm really looking forward to seeing where this one goes.

atom-open-this: Currently installed. Another one that I need to get into the habit of using. Actually would be great to use this to look at an imported function and then cursor-history to get back to where I was.

atom-paner: Not currently installed. Would use the swap pane functionality if included in core, though.

atom-phrase: Not currently installed. Sounds like it might come in handy at some point, though.

atom-project-find-navigation: Currently installed, but I use narrow more often than project find nowadays.

atom-project-folder: Not currently installed. I just work on one project at a time, and load them from the terminal with atom .

atom-quick-highlight: Currently installed. Use it from time to time.

atom-recent-finder: Currently installed. I think there are a few packages similar to this, but I grabbed this one since it's from you.

atom-smalls: Not currently installed. I use jumpy. I know I tried this out at one point, but I don't remember why I went with jumpy instead.

atom-theme-switch: Not currently installed. I just use the same dark theme all the time.

atom-transformer and atom-try: Not currently installed. Sounds sort of like having a REPL in Atom?

atom-vim-mode-plus: Currently installed, and probably wouldn't still be using Atom if it didn't exist.

atom-vim-mode-plus-ex-mode: Not currently installed. I have : mapped to the command palette. There's a built in go-to-line package, and the occurrence commands are far more than a replacement for the substitute command in vim's ex-mode. So I really have no need for this.

atom-vim-mode-plus-jasmine-increase-focus: Not currently installed. I prefer Mocha to Jasmine.

atom-vim-mode-plus-move-selected-text: Currently installed. Much easier than copying and pasting in the same file.

And the five at the bottom are not installed.

Once again, thank you for all your hard work t9md!

t9md commented 7 years ago

Thanks @thancock20, I like feedback! want to know what was worked and what was NOT worked for other user.

atom-choose-pane: Currently installed, and I use it every time I have more than one pane open. Out of curiosity, how do you move the cursor from one pane to another if not by this package? I'm pretty sure you don't use the mouse.

I TYRING to not use mouse yes. For move around text-editor pane, I use ctrl-l, ctrl-h, ctrl-j, ctrl-k by keymaping. For other type pane(which is original motivation for this package), this situation is typically find-and-replace mini editor, or tree-view focusing, I use distinct keymap provided by these package. What was NOT worked for me is reading and typing label introduce small mental context swtich which I want to avoid.

atom-cursor-history: Currently installed, though I forget about it most of the time. I’m sure it would come in handy if I could get in the habit of using it.

cursor history navigation is must need supported feature for middle level vim-user in my opinion.

atom-markdown-toc-auto: Not currently installed. I'm sure I'll check it out at some point.

Necessary only when you write wiki page on github-wiki.

atom-narrow: Currently installed. I really like this package, and I use it instead of project find most of the time. I'm really looking forward to seeing where this one goes.

Me too!

atom-open-this: Currently installed. Another one that I need to get into the habit of using. Actually would be great to use this to look at an imported function and then cursor-history to get back to where I was.

Open function under cursor, coincidentally I found idea today to open required function by g f, but I believe there's pakage to do this(FB's hyperclick?). Like open ensureBufferEndWithNewLine in utils direcltly by g f ing on ensureBufferEndWithNewLine.

{
  ensureBufferEndWithNewLine
  switchToLinewise
  rowCountForSelection
} = require './utils'

atom-project-folder: Not currently installed. I just work on one project at a time, and load them from the terminal with atom .

I frequently refer atom-core code and close it after I done investigation. This provide keyboard only navigation to open project and bulk closing buffer when belonging project removed from list.

atom-quick-highlight: Currently installed. Use it from time to time.

I save lots of time to remove unused var, library, or to find typo.

atom-transformer and atom-try: Not currently installed. Sounds sort of like having a REPL in Atom?

No. for transformer, it have two aspect, as programm runner and as checking result of transpilation.

As runner, it is similar to script or atom-runner. These packages are more poplar but I don't use it since its not write out result to normal text-editor so can't copy and search result output. I'm not intending to make my transormer to superset of this

As transpilation result, it is simlar to preview or source-preview.

atom-vim-mode-plus: Currently installed, and probably wouldn't still be using Atom if it didn't exist.

Me too! What I'm using Atom is I was really excited to improve original vim-mode, and fun to experiment new feature.

atom-vim-mode-plus-ex-mode: Not currently installed. I have : mapped to the command palette. There's a built in go-to-line package, and the occurrence commands are far more than a replacement for the substitute command in vim's ex-mode. So I really have no need for this.

Great, I hope former vim user learn Atom's core feature before asking lots of featur on ex-mode. And yes for occurrence, this is result of conceptual thinking how I can improve substitute? I want substitute without asking different input-form.

Once again, thank you for all your hard work t9md!

Thanks for giving me kind word!