Power of 2 style grid and grid scale subdivision hotkeys

How would I set up a grid similar to unreal engine 4 power of 2 grid/UDK/GTK Radiant/Hammer, etc in the 2D and 3D views. I also want to be able to decrease and increase the grid subdivisions with hotkeys. For example, in unreal engine 4, "[" or "]" would increase and decrease the subdivisions.

I need the grid to be the same for everything and I can't seem to find anything. I've been looking for an answer to this for a very long time and I hope someone can help me.

• Blender has a primitive object called "grid"; accessed through Add > [Object >] Mesh > Grid, whose dimensions you can constrain to powers of two (2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2045, ...) when you add the grid to a scene. Why would this not work for your needs? You would have to define the number of subdivisions each time you place the primitive, but I can say from experience that this is not ata ll difficult. I do realize that you can't change the size of the mesh with hotkeys without programming them yourself, but... – brasshat Mar 15 '17 at 4:43
• In edit mode, you can subdivide the selected vertices. Use "W" then 'subdivide' (you can here indicate the number of subdivisions in the operator panel). "Shift R" to repeat the last operation, "Ctrl Z" to undo. – lemon Mar 15 '17 at 6:04
• If you add Subsurf modifier you'll be able to in-/decrease subdivision level in modifier's options. No other way to do that undestructively. – Mr Zak Mar 15 '17 at 11:35
• @lemon, if I may make a slight correction: in Blender, one cannot subdivide a vertex Using the subdivide tool works only on edges or faces – brasshat Mar 15 '17 at 13:35
• Hmm, I see what you're saying here. I still have a few more questions though. How do I display the wireframe of the grid object all the time? Why doesn't the built in blender grid work properly? Hasn't this program been in development for a really long time? – Death Clonic Mar 15 '17 at 19:46

You can set up your hotkey with wm:context_scale_float and set the scale to 2.0 and 0.5 respectively, for 2.8 the Context Attribute is now space_data.overlay.grid_scale.