This page provides a list of 4coder features for anyone trying to determine whether 4coder is the right editor for them. To find a complete list of every default key binding visit binding list . If a feature is missing here you should check out the roadmap page to see what is coming in the future. If the feature you want is on neither, it might be missing from this list, or it might actually be missing from 4coder, you should contact email@example.com to ask questions and make requests.
§1 Text Editing
- Support for UTF8 encoded files
- Cursor-Mark editing paradigm
- Navigation by characters, words, tokens, lines, and blank lines
- Modern style undo and redo
- Incremental word complete with matching words in open files
- Incremental word search
- Word replace
- List all occurences of words in open buffers
- Clipboard history and "paste-next" to copy multiple chunks of text around easily
§2 C/C++ Editing
- Code highlighting for C/C++ code
- Code auto-layout rendering engine
- Text level auto-indenting
- Run scripts and command line commands in editor
- Jump to error
§3 Project Organization
- Set file extensions you care about in your project type to automatically open all code files
- Set shell/terminal commands to various fkeys for build scripts, test scripts etc
- project.4coder is a text file so it works painlessly with source control and can it is easy to start working with an existing project on a new machine
§4 The Customization API
These features are included in the alpha builds for supporters at the $5 tier and above.
- Easy key rebinding
- Create custom commands
- Buffer reading and editing
- View opening, closing, positioning
- Access to the code intelligence engine
- Access to the clipboard
§5 The Experimental Features
These features are included in the alpha builds for supporters at the $10 tier and above and are generally only partially implemented, hence not being fully upgraded to the standard build.
- Moving cursor and mark to surrounding and matching braces
- Rectangular delete
- Multi-line editing
- Rename a parameter
- Write in explicit enum values from 0 to n
- Scope aware features: scope navigation & scope absorb down
§6 Transition From Emacs
4coder's current setup and editing paradigm is modeled after emacs, so it is very natural to transition to 4coder from emacs for many users. 4coder customization is quite different from emacs though, so anyone who wants to keep their current keybinds will have to take the time to rewrite the keybinding code. Once the initial transition is done, any user who prefers C++ to Lisp will have a much better time in their 4coder configuration code.
§7 Transition From Vim
For vim users the built-in editing paradigm will not line up with editing habits, but thanks to the open customization model, a vim paradigm and default vim key bindings can be used in 4coder. The vim customization here
is an early example of this with many basic vim systems up and running.
Right now 4coder is admittedly not great for vim users, but the transition path exists so keep your eyes on 4coder as better vim emulation is still on the way.