“Alignment” is called indentation. Most editors intended for programmers do a reasonable job of indenting program text automatically out of the box (Vim is a notable exception, getting it to indent automatically requires some configuration).
“Tabbed finishing” is called “completion” or “autocomplete”, or sometimes “tab completion” because it's commonly performed when the user presses the Tab key.
Geany is a pretty lean editor, I don't know how good its indentation and completion facilities are.
Emacs is a very powerful text editor. It does all you want and more. It's widely available on Linux, Windows, Mac, etc.
Emacs does a good job of indenting shell scripts and most other programming languages out of the box. Press Tab to indent the current line. Emacs can be customized extensively; you can make it indent automatically, you can tune the amount and style of indentation, etc.
Emacs provides completion for command names when editing shell scripts. There aren't many editors where this works out of the box for shell scripts: Emacs has a clear advantage here. (Some other editors tend to do a better job for the language they specialize in, e.g. Eclipse with Java, but for complex multi-file projects Emacs can usually be configured to do a better job than the default.) You need Emacs 24 (the current version, a few distributions still ship Emacs 23 which doesn't have this feature yet.) Press Esc Tab to complete the current word.
Syntax highlighting provides immediate feedback for some syntax errors, in particular mismatched quotes tend to be obvious. It works out of the box in Emacs (but that's not a unique feature, many editors have it as well).
For more advanced feedback on your programming style, you can install the Flycheck package. (Install it through Emacs's package facility.) It requires Emacs 24. Flycheck supports many languages including shell scripts. The external program shellcheck provides additional feedback. The combination of flycheck and shellcheck is, if not unique to Emacs, at least a distinguishing feature, which makes me recommend Emacs not just as a good editor in general but specifically for your use case. I don't use shellcheck but I've heard good things about it; I do recommend using it to any newcomer to shell scripting and its many pitfalls.
Emacs has a large community, so if you face problems or if you want some feature, there's a good chance that you aren't the first one. Some go-to places include:
- The manual. Use the menu entry “Help → Read the Emacs manual” or press Ctrl+H R to read the Emacs manual inside Emacs.
- Emacs's built-in self-documentation features, such as pressing Ctrl+H K and then a key or key sequence to find out what that key does.
- The Emacs wiki is a nice collection of resources and tips.
- You can ask questions on Emacs Stack Exchange.