Welcome to zibann academy’s documentation!¶
Contents:
reStructuredText Tutorial¶
reStructuredText 를 쓰는 이유¶
좋단다.. 쉽게 배워서, 쉽게 작성해서 문서를 만들수 있다. ReadTheDocs 에 올리려니, 이걸 써야 된다. (또는 markdown)
간단한 예제¶
헤더:
Section Header
==============
Subsection Header
=================
Lists:
- 나는 잘생겼고
- 배도 나왔고
- 애도 잘 키워
1) 지안이도
2) 정우도
Link:
A sentence with links to Wikipedia_ and the `Linux kernel archive`_.
.. _Wikipedia: http://www.wikipedia.org/
.. _Linux kernel archive: http://www.kernel.org/
Internal Link:
.. __simple-exampl-label:
간단한 예제
===========
어쩌고 저쩌고.... "간단한 예제"로 가는 링크를 :ref:`simple-example-label` 로 만들 수 있다.
:ref:`label` 형태의 link 는 현재 파일 뿐 아니라 다른 파일에 존재하는 label 로도 링크할 수 있다.
(즉 전체 문서상에서 label 이 고유해야 한다.)
simple-example-label 를 눌러보라
Toc tree:
toc tree 는 Table Of Contents 즉 색인이란 뜻이다.
.. toctree::
:maxdepth: 2
first_file
second_file
first_file 과 second_file 에 있는 secton header 들을 2 단계까지 보여준다.
Other Tutorials¶
emacs keybinding¶
C-c C-a
Commands to adjust the section headers and work with the hierarchy they build. C-c C-a C-a: 현재 line 을 section header 로 만든다
C-c C-c
Commands to compile the current reStructuredText document to various output formats.
C-c C-l
Commands to work with lists of various kinds.
C-c C-r
Commands to manipulate the current region.
C-c C-t
Commands to create and manipulate a table of contents.
위 명령어 + C-h: 관련 명령어들에 대한 설명을 볼 수 있다.
자주 사용하는 emacs key binding¶
cursor movement¶
basic¶
위로 | C-p |
아래로 | C-n |
한단어 앞으로 | M-f |
한단어 뒤로 | M-b |
한글자 앞으로 | C-f |
한글자 뒤로 | C-b (개인적으론 많이 안쓴다) |
한줄 맨 앞으로 | C-a |
한줄 맨 뒤로 | C-e |
줄의 젤 앞 글자로 | M-m |
버퍼 맨 앞으로 | M-< |
버퍼 맨 뒤로 | M-> |
페이지 위로 | M-v |
페이지 아래로 | C-v |
매칭되는 괄호 앞으로 | C-M-f |
매칭되는 괄호 뒤로 | C-M-b |
현재 보여지는 화면의 젤 위, 가운데 중간 | M-r |
내가 있는 곳의 parent 로 | C-M-u |
지우기¶
한단어를 앞으로 지우기 | M-d |
한단어를 뒤로 지우기 | M-backspace |
한글자를 앞으로 지우기 | C-d |
한글자를 뒤로 지우기 | backspace |
mark¶
emacs 가 알아서 marking 을 해주는 경우도 있고, 일부로 마킹을 할 수도 있다. 마킹된 곳들을 거슬러 올라갈 수 있다. (거꾸로는?)
set-mark | C-` (custom binding) |
copy and paste¶
C-space 로 시작점을 잡고, 위의 방법으로 커서를 이동하여 원하는 영역을 선택한다. 복사하거나 잘라낸 영역은 차례대로 기억되며, 이전에 잘라놓은 것들도 사용할 수 있다.
set-mark & activate region | C-space |
단어를 추가로 선택하기 | C-w |
현재 커서에 있는 단어부터 점차 더 많은 것을 선택하기 (expand-region 패키지) | C-= |
copy | M-w |
잘라내기 | C-w |
붙여넣기 | C-y |
이전 내용 붙여넣기 | M-y |
검색¶
파일 찾기 | C-x M-p |
단어 찾기 | C-c g |
현재 커서가 있는 단어 찾기 | C-c k |
열려진 버퍼를 이름으로 찾기 (단어 사이에 C-space 를 입력해서 결과를 좁힐 수 있다) | C-x b |
현재 커서 뒤에 있는 단어 찾기 | C-s |
현재 커서 앞에 있는 단어 찾기 | C-r |
버퍼¶
이전 버퍼 | C-x <- |
다음 버퍼 | C-x -> |
현재 버퍼를 닫기 | C-x k |
window¶
윈도우를 상하로 나누기 | C-x 3 |
현재 윈도우를 없애기 | C-x 0 |
다음 윈도우로 이동하기 | C-x o |
현재 윈도우만 남기기 | C-x 1 |
find and replace¶
현재 커서로부터 검색 | M-% |
여러 파일 내용을 한꺼번에 수정-1 | M-x find-grep-dired 로 먼저 검색하고, m 과 t 로 마킹한뒤 Q 를 누른다 |
여러 파일 내용을 한꺼번에 수정-2 | C-c g 로 검색한 결과를 C-x C-s 로 저장한후 M-n M-p 로 파일을 이동하면서 M-% 를 실행한다 |
여러 파일 내용을 한꺼번에 수정-3 (원하는 파일혹은 디렉토리들을 직접 선택) |
2. m,t 로 원하는 파일들을 선택한다 3. Q 를 누른다. |
indent¶
indent 할 영역에 대하여 | M-; |
web-mode 에서는 | C-c tab |
web-mode¶
매칭되는 태그로 | C-c C-n |
magit¶
commit 히스토리를 본다 | l l |
commit 한다 | c c |
push 한다 | P P |
pull 한다 | F F |
magit 버퍼를 refresh 한다 | G |
내가 수정한 코드/파일을 버린다 | k |
branch 를 이동한다 | b b |
특정 파일을 수정한 커밋들을 본다 | magit-file-log |
vc mode¶
현재 파일의 commit 히스토리를 본다 | C-x v l |
파일의 버전과 그 이전 버전의 diff를 본다 | = |
smartparens mode¶
conf file: https://github.com/Fuco1/smartparens/wiki/Example-configuration
(M-m 으로 커서가 원하는 노드의 제일 앞에 있다고 가정한다)
다음 expression 을 선택한다 | C-M-] |
나를 감싸고 있는 expression 을 선택한다 | C-u C-u C-M-] |
앞 node 의 가장 바깥 node 를 지운다 | M-delete |
안으로 들어간다 | C-M-d |
밖으로 나온다 | C-M-u |
cursor 를 가장 긴줄의 젤 끝에 놓은 후, C-n C-p 로 이동해보자
undo-tree mode¶
undo | C-/, M-.(custom binding) |
redo | C-?, M-,(custom binding) |
undo-tree 를 본다 | C-x u |
undo history 에서 상하 이동 | C-p C-n |
undo history 의 브랜치를 이동 | C-b C-f |
불가능한 것들¶
child 가 absolute 일 때 parent 가 collapse 안하게 하는 법? : 불가능
float 된 child 를 parent 안에 vertical center 하는 것
Celery Tutorial¶
celery 의 task management¶
list tasks¶
"""
"""
from celery.task.control import inspect
i = inspect()
# registered tasks
i.registered()
# currently executing tasks
i.active()
# scheduled(?)
i.scheduled()
# reserved: received but waiting to be executed
i.reserved()
deleting pending tasks¶
from celery.task.control import discard_all
discard_all()