C-M-h : select the whole function
M C-\ indent region between cursor and mark
M-m move to first (non-space) char in this line
M-^ attach this line to previous
M-; formatize and indent comment
C, C++ and Java Modes
M-a beginning of statement
M-e end of statement
M C-a beginning of function
M C-e end of function
C-c RETURN Set cursor to beginning of function and mark at the end
C-c C-q indent the whole function according to indention style
C-c C-a toggle modus in which after electric signs (like {}:';./*) emacs does the indention
C-c C-d toggle auto hungry mode in which emacs deletes groups of spaces with one del-press
C-c C-u go to beginning of this preprocessor statement
C-c C-c comment out marked area
More general (I guess)
M-x outline-minor-mode collapses function definitions in a file to a mere {...}
M-x show-subtree If you are in one of the collapsed functions, this un-collapses it
In order to achive some of the feats coming up now you have to run etags *.c *.h *.cpp (or what ever ending you source files have) in the source directory
M-. (Thats Meta dot) If you are in a function call, this will take you to it's definition
M-x tags-search ENTER Searches through all you etaged
M-, (Meta comma) jumps to the next occurence for tags-search
M-x tags-query-replace yum. This lets you replace some text in all the tagged files
C-M-n
Move forward over a parenthetical group (forward-list).
C-M-p
Move backward over a parenthetical group (backward-list).
C-M-u
Move up in parenthesis structure (backward-up-list).
C-M-d
Move down in parenthesis structure (down-list).
Monday, August 9, 2010
Monday, August 2, 2010
regular expression
| Regular Expression | Class | Type | Meaning |
| _ | |||
| . | all | Character Set | A single character (except newline) |
| ^ | all | Anchor | Beginning of line |
| $ | all | Anchor | End of line |
| [...] | all | Character Set | Range of characters |
| * | all | Modifier | zero or more duplicates |
| \< | Basic | Anchor | Beginning of word |
| \> | Basic | Anchor | End of word |
| \(..\) | Basic | Backreference | Remembers pattern |
| \1..\9 | Basic | Reference | Recalls pattern |
| _+ | Extended | Modifier | One or more duplicates |
| ? | Extended | Modifier | Zero or one duplicate |
| \{M,N\} | Extended | Modifier | M to N Duplicates |
| (...|...) | Extended | Anchor | Shows alteration |
| _ | |||
| \(...\|...\) | EMACS | Anchor | Shows alteration |
| \w | EMACS | Character set | Matches a letter in a word |
| \W | EMACS | Character set | Opposite of \w |
POSIX character sets
POSIX added newer and more portable ways to search for character sets. Instead of using [a-zA-Z] you can replace 'a-zA-Z' with [:alpha:], or to be more complete. replace [a-zA-Z] with [[:alpha:]]. The advantage is that this will match internetional character sets. You can mix the old style and new POSIX styles, such as
grep '[1-9[:alpha:]]'
Here is the fill list
| Character Group | Meaning |
| [:alnum:] | Alphanumeric |
| [:cntrl:] | Control Character |
| [:lower:] | Lower case character |
| [:space:] | Whitespace |
| [:alpha:] | Alphabetic |
| [:digit:] | Digit |
| [:print:] | Printable character |
| [:upper:] | Upper Case Character |
| [:blank:] | whitespace, tabe, etc. |
| [:graph:] | Printable and visible characters |
| [:punct:] | Puctuation |
| [:xdigit:] | Extended Digit |
Subscribe to:
Comments (Atom)