공지사항

아이콘/UI를 디자인 해 주실 분을 찾습니다.
현재는 Android 4.0 SDK에 공개된 것 + 
http://www.iconarchive.com/show/farm-fresh-icons-by-fatcow.html 의 icon을 사용하고 있습니다만, 아무래도 부족한 감이 많습니다.
어차피 무료 어플이고, 광고도 없고, 나중에는 소스코드까지 공개할 예정인 소프트웨어이므로, 보수를 드리거나 할 수 있는 건 아니여서, 링크웨어 혹은 공동 개발자로서 contribute해 주시는 쪽을 환영합니다.

소개


화면설명

채널 리스트 뷰

채널리스트 화면 시작시 이전에 문제가 발생한 적이 있고, 버그 레포트가 활성화되어 있다면 버그 레포트를 이메일로 보낼려고 시도한다 
A : 현재 채널들이 저장되어 있는 카테고리 이름, 복수의 카테고리가 있는 경우, 각각 탭의 형태로 보여진다.
B : 채널의 아이콘. 클릭하면, 해당 채널의 업데이트가 시작되면서 아이콘이 깜박이는 애니메이션이 시작된다.

     아이콘이 깜박이는 애니메이션은 현재 해당 채널의 업데이트가 진행중임을 나타낸다. 이때 아이콘을 클릭하면, 해당 업데이트가 취소된다.
     다른 모양의 아이콘이 깜박이는 애니매이션은 현재 채널의 업데이트가 현재 취소 중에 있음을 표시한다 
C : 채널의 타이틀
D : 채널의 업데이트가 마지막으로 성공한 시간. 
E : 채널의 위치를 한칸 위로 이동.
F : 채널의 위치를 한칸 아래로 이동.
G : 이전 업데이트 실행에 오류가 있음을 나타낸다. 아이템을 클릭하면 자세한 오류내용을 보여준다. 
H : 새로 추가된 채널을 업데이트 할때 실패한 경우는 채널의 URL이 채널 타이틀로 보여진다.
     잘못된 채널 URL이 입력되었을 경우 종종 볼 수 있다.
I : 마지막으로 업데이트가 성공한 이후 지나간 시간 (일 : 시간) ex. 1:4 => 하루 4시간 = 28시간
J : 지난 번 업데이트에서 새로운 피드가 있음을 표시.
K : 해당 채널에서 아이콘을 지원하지 않거나, 아이콘 이미지를 디코딩하는데 실패했음을 나타낸다.
     이후, 해당 채널에서 아이콘을 지원하거나, 사용자가 직접 채널 아이콘을 선택하면 정상적인 아이콘으로 바뀌어진다.

a : 현재 카테고리에 새로운 채널을 추가한다.
b : 새로운 카테고리를 추가한다.
c : 현재 카테고리를 삭제한다. 카테고리에 속한 모든 채널들은 기본 카테고리(첫번째 카테고리)로 이동한다.
d : 현재 카테고리의 이름을 변경한다.
e : 다운로드 받은 모든 파일들을(미디어 / 웹페이지)을 삭제한다. 다운로드가 진행중인 아이템이 있다면 메시지를 경고 메시지를 보여주고, 실제 삭제를 진행하지는 않는다.
f : 어플리케이션 설정 메뉴로 들어간다.
g : 미리 저장된 추천 채널리스트를 보고, 추가할 수 있다.
h : 어플리케이션의 정보를 보여준다.

채널 팝업 메뉴

A : 채널이 속할 카테고리를 변경한다. 
B : 채널의 프로파일을 설정한다. 
: 채널에 속한, 다운로드했던 모든 파일들을 전부 삭제한다.
     채널에 속한 아이템 중 다운로드가 진행 중인 것이 있다면 이 메뉴는 활성화 되지 않는다.
D : 채널 아이콘을 선택 (장치에 저장된 이미지 파일들 중 하나를 선택)해서 바꿀 수 있다.
E : 채널을 삭제한다. 채널이 삭제되더라도, 이전에 저장되었던 피드들까지 삭제되지는 않는다.
     채널이 업데이트 중이거나, 채널에 속한 아이템중 다운로드가 진행중인 것이 있다면 이 메뉴는 활성화되지 않는다.

채널 설정



A : 클릭하면 업데이트 시간을 추가할 수 있다. 
B : 채널이 자동 업데이트 되는 시간들을 나타낸다. "매일 *시에 업데이트 한다."는 뜻이다.

C : 현재 업데이트 시간을 삭제한다.
D : 채널이 업데이트 될때, 링크의 내용을 다운로드 하지 않는다.
     채널 업데이트가 빠르지만, 이후 피드의 내용을 읽기 위해서는 연결된 페이지로 이동해서 봐야한다. 
E : 채널이 업데이트 될때, 연결되 링크를 다운로드해서 장치에 저장한다.
     채널 업데이트 시간이 길어지고 밧데리 사용량이 많아지나, 이후에는 네트윀에 연결되어 있지 않더라도 빠르게 저장된 피드의 내용을 읽을 수 있다. 다운로드된 파일들은 이후 필요에 따라 언제든지 삭제할 수 있다.
F : 링크된 웹 페이지를 열때, 내부 브라우져를 사용한다. 따로 프로그램을 실행시키지 않으므로, 빠른 속도로 웹 페이지를 읽을 수 있다.
G : 링크된 웹 페이지를 열때, 외부 브라우져 프로그램(크롬, 파이어폭스 등)을 사용한다. 프로그램을 따로 실행해야하므로, 페이지를 읽는 속도는 좀 느리나, 다양하고 복잡한 기능의 웹 페이지를 열때 적당하다.

어플리케이션 설정

A : 동시에 수행 가능한 백그라운드 타스크 숫자를 결정한다. 장치의 성능이 따라 설정할 수 있다. 장치의 성능을 지나치게 넘어서 설정한 경우, 동시에 많은 업데이트를 수행시 과부하로 인해 업데이트/다운로드가 실패할 가능성이 높아진다.
B : 이메일을 통한 버그 레포트를 활성화/비활성화 시킨다.

피드 리스트 아이템 (미디어)

팟캐스트 같이 미디어가 연결된 채널의 경우 보여지는 아이템의 모습이다.
아이템을 클릭하면, 해당 미디어가 장치에 저장되어 있을 경우 보기/재생 등이 되고, 그렇지 않은 경우는 다운로드가 시작된다.
A : 현재 채널의 타이틀
B : 현재 채널을 업데이트 한다.
B'애니메이션은 현재 채널 업데이트가 진행중임을 나타낸다. 이때 아이콘을 클릭하면, 해당 업데이트가 취소된다.
     아이콘이 깜박이는 애니매이션은 현재 채널 업데이트가 취소중임을 나타낸다.
C : 아이템의 타이틀
D : 아이템이 발행된 시간
E : 미디어 파일의 길이 (재생시간 혹은 파일 크기 등등)
F : 연결된 미디어 데이타가 장치에 저장되어 있음을 나타낸다. 클릭되면 다운받아진 미디어 파일이 재생된다.
G : 애니매이션은 연결된 미디어를 다운로드 중임을 보여주고, 숫자는 다운로드 진행 상황을 보여준다.
     다운로드 받는 파일의 크기를 알 수 없는 경우 '??%'로 표시된다.
      다운로드가 취소중이거나 (아이콘이 깜박이는 애니메이션이 보여진다.) 이전 다운로드 실행에 오류가 있음 (다른 형태의 아이콘으로 바뀐다.)을 나타낸다. 아이템을 클릭하면 자세한 오류내용을 보여준다.

피드 아이템 리스트 뷰 (링크)


뉴스, 블로그 등과 같은 일반적인 피드의 경우 보여지는 모습이다.
리스트 아이템을 클릭하면, 페이지가 현재 장치에 저장되어 있다면, 저장된 페이지를 열어서 보여주고 그렇지 않다면, 링크를 열어서 보여준다.
대부분의 경우 위의 "피드 리스트 아이템 (미디어)"와 동일하다.
A : 페이지가 장치에 저장되어 있음을 나타낸다. 클릭하면 장치에 저장된 페이지를 열어서 보여준다.
B : 페이지가 장치에 저장되어 있지 않음을 나타낸다. 클릭하면 인터넷을 통해 해당 페이지를 열어서 보여준다.

아이템 뷰




: 장치에 저장되어 있지 않은 페이지를 웹을 통해 열었을 경우 보여진다.
: 장치에 페이지가 저장되어 있으나, 웹을 통해서 페이지를 열었을 경우
: 장치에 저장되어 있는 페이지를 열었울 경우.
       (주의 : 실제 내용을 담은 페이지가 아니라, redirect시키는 페이지의 경우, 다운로드 하더라도, offline으로 열 수 없다.)
A : 클릭하면, 해당 페이지를 장치에 다운로드 받기 시작한다.
     애니매이션은 현재 페이지가 다운로드 중임을 나타낸다.
     깜박이는 애니매이션은 페이지 다운도르가 취소 중임을 나타낸다.
     페이지 다운로드에 오류가 있음을 나타낸다.
     클릭하면 자세한 오류 정보를 보여준다.
     (중요) 인증(로그인)이 필요한 웹 페이지의 경우는 다운로드 할 수 없다.(항상 네트웤으로 접속할 수 없다는 에러를 발생시킨다.)
B클릭하면, 페이지의 링크를 연다.

미리 저장된 채널

A : 채널의 분류 를 나타낸다. 
B : 아직 등록되어 있지 않은 채널. 아이템을 클릭하면 해당 채널이 현재의 카테고리에 추가된다.

C : 이미 등록되어 있는 채널

버그레포트 이메일

프로그램에 문제가 발생했었고, 에러 레포트가 활성화 되어 있을 경우 채널 리스트에 들어가기 에러 레포트를 개발자의 이메일로 보낼 수 있다.


'Project > FeedHive' 카테고리의 다른 글

기능 개선 Plan.  (0) 2012.04.26
[M-x replace-string] : unconditional replace
[M-%] : find and replace [space/y (yes) | DEL/n (no)]]


emacs -l .emacs-ede.el tree.c

================= Etc ===============
[M-x replace-string] : unconditional replace
[M-%] : find and replace [space/y (yes) | DEL/n (no)]]

emacs -l .emacs-ede.el tree.c

=================  Hightlight ===============
C-x w r : unhighlight-regexp
C-x w h : highlight-regexp

=================  Diff Mode (M-x diff) ===============
M-n
Move to the next hunk-start (diff-hunk-next).
This command has a side effect: it refines the hunk you move to, highlighting its changes with better granularity. To disable this feature, type M-x diff-auto-refine-mode to toggle off the minor mode Diff Auto-Refine mode. To disable Diff Auto Refine mode by default, add this to your init file (see Hooks):

          (add-hook 'diff-mode-hook
                    (lambda () (diff-auto-refine-mode -1)))

M-p
Move to the previous hunk-start (diff-hunk-prev). Like M-n, this has the side-effect of refining the hunk you move to, unless you disable Diff Auto-Refine mode.

M-}
Move to the next file-start, in a multi-file patch (diff-file-next).

M-{
Move to the previous file-start, in a multi-file patch (diff-file-prev).

M-k
Kill the hunk at point (diff-hunk-kill).

M-K
In a multi-file patch, kill the current file part. (diff-file-kill).

C-c C-a
Apply this hunk to its target file (diff-apply-hunk). With a prefix argument of C-u, revert this hunk.

C-c C-b
Highlight the changes of the hunk at point with a finer granularity (diff-refine-hunk). This allows you to see exactly which parts of each changed line were actually changed.

C-c C-c
Go to the source file and line corresponding to this hunk (diff-goto-source).

C-c C-e
Start an Ediff session with the patch (diff-ediff-patch). See Ediff.

C-c C-n
Restrict the view to the current hunk (diff-restrict-view). See Narrowing. With a prefix argument of C-u, restrict the view to the current file of a multiple-file patch. To widen again, use C-x n w (widen).

C-c C-r
Reverse the direction of comparison for the entire buffer (diff-reverse-direction).

C-c C-s
Split the hunk at point (diff-split-hunk). This is for manually editing patches, and only works with the unified diff format produced by the -u or --unified options to the diff program. If you need to split a hunk in the context diff format produced by the -c or --context options to diff, first convert the buffer to the unified diff format with C-c C-u.

C-c C-d
Convert the entire buffer to the context diff format (diff-unified->context). With a prefix argument, convert only the text within the region.

C-c C-u
Convert the entire buffer to unified diff format (diff-context->unified). With a prefix argument, convert unified format to context format. When the mark is active, convert only the text within the region.

C-c C-w
Refine the current hunk so that it disregards changes in whitespace (diff-refine-hunk).

C-x 4 A
Generate a ChangeLog entry, like C-x 4 a does (see Change Log), for each one of the hunks (diff-add-change-log-entries-other-window). This creates a skeleton of the log of changes that you can later fill with the actual descriptions of the changes. C-x 4 a itself in Diff mode operates on behalf of the current hunk's file, but gets the function name from the patch itself. This is useful for making log entries for functions that are deleted by the patch.

================= ECB ===============
C-c . g 1
C-c . g d
C-c . g s
C-c . g h
C-c . g m

================= Modes ===============
M-x hexl-mode : hex edit mode
M-x calculator :
M-x calendar

================= CC Mode ===============
C-c C-s : To know which syntatic symbols affect the offset calculations for the line.
C-c C-o : To change offset of syntatic symbol interactively.
M-h C-c C-c : comment region
M-h C-u C-c C-c" : uncomment region
M-C-f    : To the end of block - ex parenthesis, bracket, brace
M-C-b    : To the beginning of block
========================================================
EDE :
+ To add files easily : DirEd mode -> Mark files ("m") -> ". a" to add to target
+ use "M-x customize-target RET" while inside some source file in a target to customize things like compiler flags.

C-x r [SPC] [CHR]
C-x r j [CHR]

================= Key code =============
C : control
M : meta (alt)
S : shift
C-S : control + shift
<f8> : F8 key
<left> <right> <down> <up>
\e : escape key (usually same with meta key)
[(control return)] : control + return key.

(global-set-key [f9] 'alexott-compile)

================= Keyboard macro =============
'C-x (' : start defining a keyboard macro
'C-x )' : stop defining the keyboard macro
'C-x e' : execute the keyboard macro
'C-u 37 C-x e' : execute the macro 37 times.
'C-u 0 C-x e' : execute the macro an infinite number of times until the end of file is reached.
'M-x name-last-kbd-macro' : Name the last-defined keyboard macro
'M-x my-macro' : execute macro by name.

================= Search =============
M-s w : If incremental search is active, toggle word search mode (isearch-toggle-word); otherwise, begin an incremental forward word search (isearch-forward-word).
M-s w <RET> words <RET> : Search for words, using a forward nonincremental word search.
M-s w C-r <RET> words <RET> : Search backward for words, using a nonincremental word search.
M-c to toggle search case-sensitivity
(setq case-fold-search t)   ; make searches case insensitive

================== Online-Help ==================
C-h c which command does this keystroke invoke
C-h k which command does this keystroke invoke and what does it do?
C-h l what were my last 100 typed keys
C-h w what key-combo does this command have?
C-h f what does this function do
C-h v what's this variable and what is it's value
C-h b show all keycommands for this buffer
C-h t start the emacs tutorial
C-h i start the info reader
C-h C-k start up info reader and go to a certain key-combo point
C-h F show the emacs FAQ
C-h p show infos about the Elisp package on this machine

================= Basics ===============
C-x 4 f find file in other window
C-x 4 o change to other window
C-x 4 0 kill buffer and window
C-x 5 2 make new frame
C-x 5 f find file in other frame
C-x 5 o change to other frame
C-x 5 0 close this frame

C-x r m : bookmark-set
C-x r b : bookmark-jump
C-x r l : bookmark-menu-list (list all your bookmarks)

M-C-f / M-C-b : find matching brace in forward/backward direction.

C-M-v : (scroll-other-window) scroll other window down
C-M-S-v : scroll other window up.

==================== misc =====================
tabify : change spaces to tab in selected region <-> untabify

================= functions ===================
load-library : load files whose extension is .elc, .el and no-ext(specified name alone)  in the directories.
eval-current-buffer : evaluate all the Lisp expressions in the buffer.


==================== elisp ==============
C-x C-e : eval-last-sexp : evaluate lisp expresstion to the left of the cursor
eval-region : select lisp code and evaluate it.
ielm : turns the buffer into a interactive elisp command line interface.
C-h f : describe-function : finds inline documentation of a function
elisp-index-search : finds the documentation of a function in the official GNU Emacs Lisp Reference Manual.

====================================================
C-x r <SPC> r :    Record the position of point and the current buffer in register r (point-to-register).
C-x r j r :    Jump to the position and buffer saved in register r (jump-to-register).

==================== Semantic =====================
C-x B : semantic-mrub-switch-tag :
C-c , j : semantic-complete-jump-local
C-c , n : senator-next-tag
C-c , p : senator-previous-tag
C-c , u : senator-go-to-up-reference : move cursor to the "parent" tag.

==================== gtags =====================
\e* : gtags-pop-stack
\e. : gtags-find-tag
\C-x4. : gtags-find-tag-other-window


==================== gud gdb ======================
gdb-many-windows : t (M-x gdb-many-windows)

C-x <SPC>    Set a breakpoint on the source line that point is on.
C-c C-l
C-x C-a C-l
    Display in another window the last line referred to in the GUD buffer (that is, the line indicated in the last location message). This runs the command gud-refresh.
C-c C-s
C-x C-a C-s
    Execute a single line of code (gud-step). If the line contains a function call, execution stops after entering the called function.
C-c C-n
C-x C-a C-n
    Execute a single line of code, stepping across entire function calls at full speed (gud-next).
C-c C-i
C-x C-a C-i
    Execute a single machine instruction (gud-stepi).
C-c C-p
C-x C-a C-p
    Evaluate the expression at point (gud-print). If Emacs does not print the exact expression that you want, mark it as a region first.
C-c C-r
C-x C-a C-r
    Continue execution without specifying any stopping point. The program will run until it hits a breakpoint, terminates, or gets a signal that the debugger is checking for (gud-cont).
C-c C-d
C-x C-a C-d
    Delete the breakpoint(s) on the current source line, if any (gud-remove). If you use this command in the GUD interaction buffer, it applies to the line where the program last stopped.
C-c C-t
C-x C-a C-t
    Set a temporary breakpoint on the current source line, if any (gud-tbreak). If you use this command in the GUD interaction buffer, it applies to the line where the program last stopped.
C-c <
C-x C-a <
    Select the next enclosing stack frame (gud-up). This is equivalent to the GDB command ‘up’.
C-c >
C-x C-a >
    Select the next inner stack frame (gud-down). This is equivalent to the GDB command ‘down’.
C-c C-u
C-x C-a C-u
    Continue execution to the current line (gud-until). The program will run until it hits a breakpoint, terminates, gets a signal that the debugger is checking for, or reaches the line on which the cursor currently sits.
C-c C-f
C-x C-a C-f
    Run the program until the selected stack frame returns or stops for some other reason (gud-finish).

If you are using GDB, these additional key bindings are available:

C-x C-a C-j
    Only useful in a source buffer, gud-jump transfers the program's execution point to the current line. In other words, the next line that the program executes will be the one where you gave the command. If the new execution line is in a different function from the previously one, GDB prompts for confirmation since the results may be bizarre. See the GDB manual entry regarding jump for details.
<TAB>
    With GDB, complete a symbol name (gud-gdb-complete-command). This key is available only in the GUD interaction buffer.



==================== Version control ======================
C-x v v     vc-next-action
    perform the next logical control operation on file
(C-x C-q     by default, C-x C-q is no longer bound, so it's better to use the above binding)

C-u C-x v v
    To switch between branches, type and specify the revision ID you want to select

C-x v i     vc-register
    add a new file to version control
 
C-x v I        vc-log-incoming
    Display the changes that will be received with a pull operation.

C-x v O     vc-log-outgoing
    Display the changes that will be sent by the next push operation.

C-x v ~     vc-version-other-window
    Prompt for a revision of the current file, and visit it in a buffer of its own

C-x v =     vc-diff
    Compare the files in the current fileset with the working revision(s) you started from. With a prefix argument, prompt for two revisions of the current fileset and compare them. You can call this command from a Dired buffer (Dired)

C-x v D     vc-root-diff
    Compare the entire tree corresponding to the current fileset with the tree you started from. With a prefix argument, prompt for two revisions and compare their trees.

C-x v g     vc-annotate
    Display an annotated version of the file: for each line, show the latest revision in which it was modified (vc-annotate).    
   
C-x v d     vc-directory
    View VC-Directory-Mode.
   
C-x v s     vc-create-snapshot
    tag all the files with a symbolic name
   
C-x v r     vc-retrieve-snapshot
    undo checkouts and return to a snapshot with a symbolic name

C-x v l     vc-print-log
    show log for current file (not in ChangeLog format)
   
C-x v L     vc-print-root-log
    Display the change history for the current repository
   
C-x v a     vc-update-change-log
    Visit the current directory's change log file and, for registered files in that directory, create new entries for versions checked in since the most recent entry in the change log file. ().
    This command works with RCS or CVS only, not with any of the other back ends.

C-u C-x v a
    As above, but only find entries for the current buffer's file.

M-1 C-x v a
    As above, but find entries for all the currently visited files that are maintained with version control. This works only with RCS, and it puts all entries in the log for the default directory, which may not be appropriate.

C-x v m     vc-merge
    Merge changes into the work file.

C-x v h     vc-insert-headers
    Insert headers in a file for use with your version-control system.

C-x v u     vc-revert-buffer
    Revert the buffer and the file to the working revision from which you started editing the file.
   
C-x v c     vc-rollback
    Remove the last-entered change from the master for the visited file. This undoes your last check-in.

M-x vc-find-conflicted-file

M-x vc-resolve-conflicts
    pop up an ediff-merge session on a file with conflict markers



[ VC Directory Commands ]
-------------------------

Up- and down-arrow keys
    move in the buffer;
   
n and p
    also move vertically as in other list-browsing modes.

<SPC> and <TAB>
    behave like down-arrow

<BackTab>
    behaves like up-arrow.

o    visits that file in another window.

q    dismisses the directory buffer.

f    visit the file on the current line.

C-m    Same with above

x    hides up-to-date files.

m    marks the file or directory on the current line. If the region is active, m marks all the files in the region. There are some restrictions when marking: a file cannot be marked if any of its parent directories are marked, and a directory cannot be marked if any files in it or in its child directories are marked.

M    marks all the files with the same VC state as the current file if the cursor is on a file. If the cursor is on a directory, it marks all child files. With a prefix argument: marks all files and directories.

u    unmarks the file or directory on the current line. If the region is active, it unmarks all the files in the region.

U    marks all the files with the same VC state as the current file if the cursor is on a file. If the cursor is on a directory, it unmarks all child files. With a prefix argument: unmarks all marked files and directories.


* It is possible to do search, search and replace, incremental search, and incremental regexp search on multiple files. These commands will work on all the marked files or the current file if nothing is marked. If a directory is marked, the files in that directory shown in the VC directory buffer will be used.

S    searches the marked files.

Q    does a query replace on the marked files.

M-s a C-s
    does an incremental search on the marked files.

M-s a C-M-s
    does an incremental regular expression search on the marked files.

* Commands are also accessible from the VC-dir menu. Note that some VC backends use the VC-dir menu to make available extra, backend-specific, commands. For example, Git and Bazaar allow you to manipulate stashes and shelves. (These provide a mechanism to temporarily store uncommitted changes somewhere out of the way, and bring them back at a later time.)

* Normal VC commands with the C-x v prefix work in VC directory buffers. Some single-key shortcuts are available as well; =, +, l, i, and v behave as through prefixed with C-x v.

The command C-x v v (vc-next-action) operates on all the marked files.

When C-x v v (vc-next-action) operates on multiple files, all of those files must be either in the same state or in compatible states (added, modified and removed states are considered compatible). Otherwise it signals an error. This differs from the behavior of older versions of VC, which did not have fileset operations and simply did vc-next-action on each file individually.

If any files are in a state that calls for commit, C-x v v reads a single log entry and uses it for the changeset as a whole. If the underling VCS is file- rather than changeset-oriented, the log entry will be replicated into the history of each file.



[ In '*vc-change-log* ]
-----------------------

p    Move to the previous revision-item in the buffer. (Revision entries in the log buffer are usually in reverse-chronological order, so the previous revision-item usually corresponds to a newer revision.) A numeric prefix argument is a repeat count.

n    Move to the next revision-item (which most often corresponds to the previous revision of the file). A numeric prefix argument is a repeat count.

P    Move to the log of the previous file, when the logs of multiple files are in the log buffer (see VC Directory Mode). Otherwise, just move to the beginning of the log. A numeric prefix argument is a repeat count, so C-u 10 P would move backward 10 files.

N    Move to the log of the next file, when the logs of multiple files are in the log buffer (see VC Directory Mode). It also takes a numeric prefix argument as a repeat count.

a    Annotate the revision indicated by the current line.

e    Modify the change comment displayed at point. Note that not all VC systems support modifying change comments.

f    Visit the revision indicated at the current line, like typing C-x v ~ and specifying this revision's ID (see Old Revisions).

d    Display the diff (see Comparing Files) between the revision indicated at the current line and the next earlier revision. This is useful to see what actually changed in the file when the revision indicated on the current line was committed.

D    Display the changeset diff (see Comparing Files) between the revision indicated at the current line and the next earlier revision. This is useful to see all the changes to all files that the revision indicated on the current line did when it was committed.


   
[ VC-Annotate menu ]
--------------------

From the annotate buffer, these and other color scaling options are available from the ‘VC-Annotate’ menu. In this buffer, you can also use the following keys to browse the annotations of past revisions, view diffs, or view log entries:

p    Annotate the previous revision, that is to say, the revision before the one currently annotated. A numeric prefix argument is a repeat count, so C-u 10 p would take you back 10 revisions.

n    Annotate the next revision—the one after the revision currently annotated. A numeric prefix argument is a repeat count.

j    Annotate the revision indicated by the current line.

a    Annotate the revision before the one indicated by the current line. This is useful to see the state the file was in before the change on the current line was made.

f    Show in a buffer the file revision indicated by the current line.

d    Display the diff between the current line's revision and the previous revision. This is useful to see what the current line's revision actually changed in the file.

D    Display the diff between the current line's revision and the previous revision for all files in the changeset (for VC systems that support changesets). This is useful to see what the current line's revision actually changed in the tree.

l    Show the log of the current line's revision. This is useful to see the author's description of the changes in the revision on the current line.

w    Annotate the working revision–the one you are editing. If you used p and n to browse to other revisions, use this key to return to your working revision.

v    Toggle the annotation visibility. This is useful for looking just at the file contents without distraction from the annotations.    


======================================================================


Emacs Commands List

C = Control
M = Meta = Alt|Esc

[Basics]
C-x C-f "find" file i.e. open/create a file in buffer
C-x C-s save the file
C-x C-w write the text to an alternate name
C-x C-v find alternate file
C-x i insert file at cursor position
C-x b create/switch buffers
C-x C-b show buffer list
C-x k kill buffer
C-z suspend emacs
C-X C-c close down emacs

[Basic movement]
C-f forward char
C-b backward char
C-p previous line
C-n next line
M-f forward one word
M-b backward one word
C-a beginning of line
C-e end of line
C-v one page up
M-v scroll down one page
M-< beginning of text
M-> end of text

[Editing]
M-n repeat the following command n times
C-u repeat the following command 4 times
C-u n repeat n times
C-d delete a char
M-d delete word
M-Del delete word backwards
C-k kill line

C-Space Set beginning mark (for region marking for example)
C-W "kill" (delete) the marked region region
M-W copy the marked region
C-y "yank" (paste) the copied/killed region/line
M-y yank earlier text (cycle through kill buffer)
C-x C-x exchange cursor and mark

C-t transpose two chars
M-t transpose two words
C-x C-t transpose lines
M-u make letters uppercase in word from cursor position to end
M-c simply make first letter in word uppercase
M-l opposite to M-u

[Important]
C-g quit the running/entered command
C-x u undo previous action
M-x revert-buffer RETURN (insert like this) undo all changes since last save
M-x recover-file RETURN Recover text from an autosave-file
M-x recover-session RETURN if you edited several files

[Online-Help]
C-h c which command does this keystroke invoke
C-h k which command does this keystroke invoke and what does it do?
C-h l what were my last 100 typed keys
C-h w what key-combo does this command have?
C-h f what does this function do
C-h v what's this variable and what is it's value
C-h b show all keycommands for this buffer
C-h t start the emacs tutorial
C-h i start the info reader
C-h C-k start up info reader and go to a certain key-combo point
C-h F show the emacs FAQ
C-h p show infos about the Elisp package on this machine

[Search/Replace]
C-s Search forward
C-r search backward
C-g return to where search started (if you are still in search mode)
M-% query replace

    Space or y replace this occurence
    Del or n don't replace
    . only replace this and exit (replace)
    , replace and pause (resume with Space or y)
    ! replace all following occurences
    ^ back to previous match
    RETURN or q quit replace


Search/Replace with regular expressions
Characters to use in regular expressions:
^ beginning of line
$ end of line
. single char
.* group or null of chars
\< beginning of a word
\> end of a word
[] every char inside the backets (for example [a-z] means every small letter)

M C-s RETURN search for regular expression forward
M C-r RETURN search for regular expression backward
M C-s incremental search
C-s repeat incremental search
M C-r incremental search backwards
C-r repeat backwards
M-x query-replace-regexp search and replace

[Window-Commands]
C-x 2 split window vertically
C-x o change to other window
C-x 0 delete window
C-x 1 close all windows except the one the cursors in
C-x ^ enlarge window
M-x shrink-window command says it ;-)
M C-v scroll other window
C-x 4 f find file in other window
C-x 4 o change to other window
C-x 4 0 kill buffer and window
C-x 5 2 make new frame
C-x 5 f find file in other frame
C-x 5 o change to other frame
C-x 5 0 close this frame

[Bookmark commands]
C-x r m set a bookmark at current cursor pos
C-x r b jump to bookmark
M-x bookmark-rename says it
M-x bookmark-delete "
M-x bookmark-save "
C-x r l list bookmarks

    d mark bookmark for deletion
    r rename bookmark
    s save all listed bookmarks
    f show bookmark the cursor is over
    m mark bookmarks to be shown in multiple window
    v show marked bookmarks (or the one the cursor is over)
    t toggle listing of the corresponding paths
    w " path to this file
    x delete marked bookmarks
    Del ?
    q quit bookmark list


M-x bookmark-write write all bookmarks in given file
M-x bookmark-load load bookmark from given file

[Shell]
M-x shell starts shell modus
C-c C-c same as C-c under unix (stop running job)
C-d delete char forward
C-c C-d Send EOF
C-c C-z suspend job (C-z under unix)
M-p show previous commands

[DIRectory EDitor (dired)]
C-x d start up dired
C (large C) copy
d mark for erase
D delete right away
e or f open file or directory
g reread directory structure from file
G change group permissions (chgrp)
k delete line from listing on screen (don't actually delete)
m mark with *
n move to next line
o open file in other window and go there
C-o open file in other window but don't change there
P print file
q quit dired
Q do query-replace in marked files
R rename file
u remove mark
v view file content
x delete files marked with D
z compress file
M-Del remove all marks (whatever kind)
~ mark backup files (name~ files) for deletion
# mark auto-save files (#name#) for deletion
*/ mark directory with * (C-u * removes that mark again)
= compare this file with marked file
M-= compare this file with it's backup file
! apply shell command to this file
M-} change to the next file marked with * od D
M-{ " previous "
% d mark files described through regular expression for deletion
% m " (with *)
+ create directory
> changed to next dir
< change to previous dir
s toggle between sorting by name or date

Maybe into this category also fits this command:
M-x speedbar starts up a separate window with a directory view

[Telnet]
M-x telnet starts up telnet-modus
C-d either delete char or send EOF
C-c C-c stop running job (similar to C-c under unix)
C-c C-d send EOF
C-c C-o clear output of last command
C-c C-z suspend execution of command
C-c C-u kill line backwards
M-p recall previous command

[Text]
Works only in text mode
M-s center line
M-S center paragraph
M-x center-region name says

[Macro-commands]
C-x ( start macro definition
C-x ) end of macro definition
C-x e execute last definied macro
M-n C-x e execute last defined macro n times
M-x name-last-kbd-macro give name to macro (for saving)
M-x insert-keyboard-macro save named macro into file
M-x load-file load macro
M-x macroname execute macroname

[Programming]
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

[GDB (Debugger)]
M-x gdb starts up gdm in an extra window

[Version Control]
C-x v d show all registered files in this dir
C-x v = show diff between versions
C-x v u remove all changes since last checkin
C-x v ~ show certain version in different window
C-x v l print log
C-x v i mark file for version control add
C-x v h insert version control header into file
C-x v r check out named snapshot
C-x v s create named snapshot
C-x v a create changelog file in gnu-style


Dependency can be defined more than one place. It's very interesting.

        Syntax : Take you attention that there is NO command in rule.
        <target> : <dep>
       
At abve case, <dep> is ADDED to <target>'s existing dependency (NOT "replace"!!)
But, if there is COMMAND at above rule, old COMMAND is "REPLACED" (NOTE that, dependency is still ADDED).
See below examples to help understanding.
   
    < Makefile >
    all: a
        touch all0
    a
        touch a
    all: b
    b
        touch b
   
    > make
        touch a
        touch b
        touch all0
       
    ----------------------
       
    < Makefile >
    all: a
    a
        touch a
    all: b
        touch all1
    b
        touch b
   
    > make
        touch b
        touch a
        touch all1
       
    ----------------------
       
    < Makefile >
    all: a
        touch all0
    a
        touch a
    all: b
        touch all1
    b
        touch b
   
    > make
        touch b
        touch a
        touch all1
       
    # Same with above
    # That is, older command for target is replaced with newer one.

+ Recent posts