\IMAGE{image:4coder_logo} This page provides a list of 4coder features for anyone trying to determine whether 4coder is the right editor for them. If a feature is missing here you should check out the \BEGIN_LINK{document:roadmap} roadmap \END_LINK page to see what is coming in the future. If the feature you want is on neither, you should contact \BEGIN_STYLE{code} editor@4coder.net \END_STYLE. Some features that are already in 4coder might be missing from this list, if you want to be sure you should contact \BEGIN_STYLE{code} editor@4coder.net \END_STYLE. \SECTION{Text Editing} \BEGIN_LIST \BEGIN_ITEM Cursor-Mark editing paradigm \END_ITEM \BEGIN_ITEM Navigation by characters, words, tokens, lines, and blank lines \END_ITEM \BEGIN_ITEM Modern style undo and redo \END_ITEM \BEGIN_ITEM Word complete with matching words in open files \END_ITEM \BEGIN_ITEM Incremental word search \END_ITEM \BEGIN_ITEM Word replace \END_ITEM \BEGIN_ITEM List all occurences of words in open buffers \END_ITEM \END_LIST \SECTION{C/C++ Editing} \BEGIN_LIST \BEGIN_ITEM Code highlighting for C/C++ code \END_ITEM \BEGIN_ITEM Code auto-layout rendering engine \END_ITEM \BEGIN_ITEM Text level auto-indenting \END_ITEM \BEGIN_ITEM Build in editor \END_ITEM \BEGIN_ITEM Jump to error \END_ITEM \END_LIST \SECTION{The Customization API} These features are included in the alpha builds at the $5 tier and above. \BEGIN_LIST \BEGIN_ITEM Easy key rebinding \END_ITEM \BEGIN_ITEM Create custom commands \END_ITEM \BEGIN_ITEM Buffer reading and editing \END_ITEM \BEGIN_ITEM Buffer reading and editing \END_ITEM \BEGIN_ITEM View opening, closing, positioning \END_ITEM \BEGIN_ITEM Access to the code intelligence engine \END_ITEM \END_LIST \SECTION{The Experimental Features} These features are included in the alpha builds at the $10 tier and above and are generally only partially implemented, hence not being fully upgraded to the standard build. \BEGIN_LIST \BEGIN_ITEM Moving cursor and mark to surrounding and matching braces \BEGIN_ITEM Rectangular delete \BEGIN_ITEM Multi-line editing \BEGIN_ITEM Rename a parameter \BEGIN_ITEM Write in explicit enum values from 0 to n \END_LIST \SECTION{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. \SECTION{Transition From Vim} For vim users the built-in editing paradigm will not line up with editing habits. Thanks to the open customization model, a vim paradigm and default vim key bindings can be used in 4coder. The vim customization \BEGIN_LINK{!https://github.com/Chronister/4vim} here \END_LINK 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.