On Thursday 26 January 2006 01:57, Alexander Dymo wrote: > So far I have two designs for the IDE. One does't have menus at all, > other has few of them ;) Awesome :) > > Workflow using those editors is very different. > > Could you please give several things you frequently do in vi/emacs? Sure. Here's what I, and I guess most others who use either Emacs or Vi do frequently: a) basis of everything is working from terminal. - i use my open shell to update the current project i'm in. since KDE, X.Org and Qt all use different version control systems it's always a little tricky. plus very often i'm updating just a part of project (directory or even just a file) - i tend to quickly glance over the lastly committed changes to the files i just updated. - i open my editor on file(s) i want to edit and i start b) from the editor the most frequently features i use are: - never use mouse for absolutely anything. - splitting the view into the top/bottom mode (usually interface on top and implementation on the bottom) - when i work on something more involved i leave only implementation and switch between header and source using a key combo) - compile by hitting one key, - go to errors using another key combo, c) when editing i use the following functionality a lot: - press tab, but not to insert the tab character but to indent the current line (if cursor is somewhere within an expression) or move to the the start of the first expression on the line (if cursor is inside the starting indent segment) - i never bother with indention, my editor does it for me - i don't like abusing either the spacebar, tab or backspace :) - searching and replacing which doesn't involve dialog popping up and gives me a clear indication of what's going on without getting my hands of the keyboard (as it's often with dialogs when you have to move them using the mouse to uncover some text) - within the buffer i usually move per word (very rarely per letter), - i often move per scope (usually by jumping between parenthesis) - i delete segments of white-text all at once with one key and expect it to stop deleting when it hits a non-whitespace character - when i'm adding a method to the header i use combination to add a a stub of it to the source file - create short recording sessions and play them back - for example lets say i'm about to create a huge switch statement from enum what I do is copy and paste the contents of the enum from the header into the source file the e.g: switch(something) { OneValue, TwoValue, ThreeValue, ... } and then proceed to record the session that looks as follows: 1) move to the begging of the expression (tab character) 2) type the word "case " 3) move forward by a word, 4) delete character (the ",") 5) type ":\n" 6) indent (tab character) 7) type "break;" 8) move to the next line i replay this session using a key the number of times equal to the number of values and i have my full switch. i do this a lot for all repetitive tasks. - i select, cut, copy and paste text using only keyboard. - i bookmark places in the buffer and jump between them using key combos I think those are the most visible things I use :) Zack -- Earth First - We'll strip mine the other planets later.