Have you ever started writing code and thought to yourself, surely there is a way to do this easier? Here is a list of 11 tools that will help you code and program faster. I use a few methods and tools mentioned, are there any tips of suggestions you can add to the article? Here is a good article explaining some tools to help you code faster. I'll link the 11 tools just in case the article above goes away. 1. Zen Coding Combine the power and specificity of CSS selectors with HTML mark-up, and you get Zen Coding. Certainly, I wasn’t the only one whose jaw dropped the first time he saw: 2. Split Windows For many, a simple tab-based coding experience is more than adequate; however, others prefer a more integrated approach. Unfortunately, the ability to split windows is not widely available across code editors. Luckily, though, a handful of them do support it at varying levels of flexibility (the king being Vim). 3. Embrace Social Coding In the last two years particularly, the idea of social coding has gained considerable popularity – and why wouldn’t it? If it’s fun to share photos on Flickr, the same will of course be true for coding. With site likes Envato’s recently purchased Snipplr, Github, or Forrst, not only can you manage your own snippets for future use, but you can also take advantage of multiple brains by receiving community feedback on your coding techniques and choices. 4. Code Management Tools Online networks like Github, Snipplr, and Forrst are fantastic, however, they can be time consuming to access, when you need to reuse a specific piece of code (assuming it’s not already part of a bundle). The solution is to install one of the various code management applications available around the web. Personally, as a Mac user, I prefer the not-free Snippets app. 5. Choose a Proper Editor The Holy Grail of efficient coding; your choice of code editor will have the largest effect on your coding speed. Unfortunately, there isn’t a definitive answer. Your decision will largely be dependent upon: Which languages you code in Your OS The type of UI you prefer Comfort with the command line (or lack of) As an example, someone who predominantly creates HTML themes for a site like ThemeForestwould be unwise to use a full IDE like Aptana. It’s simply unnecessary and too slow. However, the same is not true for a server-side developer. 6. Use Bundles Bundles: learn them…use them. Editors, like TextMate — and, subsequently E Text Editor — popularized bundles; however, they’re widely available from editor to editor. 7. Use a CSS Preprocessor Tools like LESS.js and Sass can drastically increase your coding speed. In terms of which one to choose: they’re both excellent. These days, I tend to prefer Sass, since the Compass framework is built on top of it, and provides an unparalleled number of convenience functions. It also seems to be what the cool kids use. 8. Prototype Early with Firebug You know the drill: write a bit of JavaScript, switch and refresh your browser, receive an error, return to the editor…and rinse and repeat. Though we all do it, sometimes, there are far more efficient alternatives, such as protoyping early with tools like Firebug. By working directly in the browser, you cut out the middle man, so to speak. The uber-talented Dave Ward recommended this tip, and has even created a screencast demonstrating this method. 9. Use Prefixr 10. Find an Editor that Offers Multi-Select I’ll first warn you that very few code editors offer a multi-select feature. The editor that I currently use, Sublime 2, does though. Even better, it’s available for both Windows and Mac users. 11. Don’t Reinvent the Wheel When first getting started in this field, I always took issue with comments like “Don’t reinvent the wheel.” It’s not about reinvention; it’s about understanding how the wheel functions. However, once you know the inner workings of the wheel, this argument certainly is true: Don’t Repeat Yourself. I'd suggest checking out the full article to see the screenshots and extra content that didn't get pasted here.
Just one thing: www.vim.org Vim/GVim is perhaps the most useful editor in the world. Once you get familiar using it, you save 85% of editing time simply by using its powerful cursor control commands ( > 35 ) and input commands. It isn't super user friendly, and takes some time to set up properly (having your own config file is a good idea, copied from a template), but the gain far outweighs this small setup cost. GVim Easy is automatically installed with VIM, and it provides a simple editing mode that accommodates users not willing to learn the command language. It runs on just about any platform, and provides syntax highlighting and multiple buffers ("windows") at a few keystrokes. It also provides a diff tool, macro recording and replay, markers, unlimited undo/redo, a simple built-in scripting language, integrated help system and help browser, directory browser, and much more. To give you some examples of the command language: cw = change word, d1G = delete 1 go (deletes to first line), d% = delete delimited paragraph (useful for curly-braced languages, #if/#endif pairs etc.), ma = set mark A, `a = jump to mark A, qq = record macro Q, q = stop recording macro, @q = playback macro Q, @@ = repeat last macro, 100@@ = repeat last macro 100 times, ^Ws = split window, ^W10+ = enlarge current window by 10 lines, ^WJ = shift current window to the bottom, 3"ayy = yank (=copy) 3 lines into scratch pad A, "ap = paste scratch pad A, I = insert before first non-whitespace character of current line, A = insert at end of current line, O = open new line above current line, o = open new line below current line (useful with autoindent enabled), J = join following line with current line, ct, = change to comma (change from current position up to but not including the next comma on the current line), S = substitute (replace) current line, u = undo, ^R = redo, ^[ or ESC = leave current mode (back to command mode) ... Vim is based on VI, the first full-screen editor. VI is based on EX, a line editor. Vim supports both VI and EX commands. Popular EX commands are: :q! = quit unconditionally, :w = write (save to file), :r file = insert file, :e file = edit file, :colors scheme = set color scheme, :set guifont=* = change current font, :help = access help system, :set ro = set editor to read-only mode for current file ... HP corporation, which published the reference manual and user's guide on the (HP-UX version of the) original VI, intended the editor for usage by secretaries. Vim goes far beyond the original VI but still is fully VI compatible if you want it to (almost).
Because it's the first I used and I'm now familiar with it I, use Pico for editing text files from the CL on Linux servers. One time I was forced to use VI (pico wasn't installed) and I had to Google "how to save and quit vi" I felt like a total noob. Even though we live in a point and click world, editing from the CL is so useful. Moving vBulletin to a new server with new database details? pico public_html/includes/config.php, insert your new database details, ctrl X, and <enter>. Boom you're done without the whole download, edit, and upload workflow.
This is really good stuff, thanks for the share. I code C++ and PHP and this looks like it will help me out alot more in the future.
Does seem like a good article. And I'm all the way with you when it comes to CSS, that its always better to use LESS and SASS, which shall most certainly help you.
#2 is something that helps me even when I'm not just coding. Split windows make it so much easier to see what's going on.
I think Coda 2 is better in terms of functionality than Vim if you have a Mac, also social coding is great when you aren't coding a project for a company who is paying you for it. You don't want the source code to leak. Rest the list is great and I have already implemented some of these.
I use two monitors including one very wide monitor and I couldn't work without split windows anymore, it would feel too restrictive. It's fun to drag things from one monitor to the other in one motion too, it's like working on two canvases at once!
I think you're comparing apples with oranges there -- Vim or GVim are just text editors. They operate directly on the file system of the host machine. Coda is something entirely different (Wikipedia article). If you're working on an open-source project, it won't matter if someone leaks a file ... if you're working on a closed source project, having proper secure servers and giving file access only to people who you trust is already enough. Coda is also working on a permission level, naturally, and if you hand your code over to the wrong guy, Coda or not, you might end up having a problem or another.
Sigh, so much to digest and learn. I will have to bookmark this one to really go through these. I have used a couple of these, but only in a minor way.
I was one before and after learning about Sublime Text 2's multiple cursors. Now I am way more efficient when editin code.