-> 명령어는 말그대로 command하는 것
예를 들어 git '명령어'에는 뭐가 있는지 알아보려면 (mac 기준) 터미널에 git을 쳐보면 되는데 아래와 같이 정말 많은 명령어들이 나옴.
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
work on the current change (see also: git help everyday)
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index
sparse-checkout Initialize and modify the sparse-checkout
examine the history and state (see also: git help revisions)
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
grow, mark and tweak your common history
branch List, create, or delete branches
commit Record changes to the repository
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Reset current HEAD to the specified state
switch Switch branches
tag Create, list, delete or verify a tag object signed with GPG
collaborate (see also: git help workflows)
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
git은 파일 '상태 관리'를 도와주는 명령어
-> vim은 '텍스트 편집'을 도와주는 명령어로서 그 역할이 다르다.
(--version, help 같은 건 너무 많이 쓰여서 공통적인 명령어로서 자리잡은 것)
일반모드(Normal Mode) : 좀 더 편하게 편집을 할 수 있도록 여러 기능을 제공
명령행모드(Command Line Mode) or 콜론모드 (Colon Mode) : 일반모드에서 : (콜론)을 누르게 되면 명령행 모드로 진입, 일반모드의 기능과 중복되는 기능들이 존재하며 편집하는 파일을 직접적으로 컨트롤(저장, 종료 등)하는명령들을 내림, ESC를 누르면 일반모드로 전환
편집 모드(Insert Mode) : 일반모드에서 i, I, a, A, o, O, R 등의 키를 눌러서 진입이 되며 실제 텍스트에 대한 편집을 하게 되는 모드, ESC를 누르면 일반모드로 전환
:w | 현재 편집하던 내용을 저장 | 명령행 모드 (이하 동일) |
:q | 현재 편집내용을 끝내고 에디터를 종료 변경 내용이 있을 때는 :q로 종료할 수 없고 저장하지 않고 끝내기인 :q!로 종료해야 함 |
|
:wq | 편집하던 내용을 저장하고 에디터를 종료 | |
! | 강제로 해당명령어를 수행 |
|
a, A | a : 현재 커서위치에서 한 칸 뒤로 이동 후 입력모드로 전환 A : 현재 형에서 끝으로 이동한 후 입력 모드로 전환 |
일반 모드 (에서 입력모드로 전환시) (이하 동일) |
i, I | i : 현재 커서위치에서 입력모드로 전환 I : 현재 행 맨 앞으로 이동 후, 입력모드로 전환 |
|
o, O | o : 현재 행에서 아래 새로운 행 삽입 후 입력모드로 전환 O : 현재 행에서 위로 새로운 행 삽입 후 입력모드로 전환 |
|
R | 수정 모드로 글자가 덮어 씌어짐. | |
x | 현재 커서의 문자를 삭제 Delete키와 동일한 기능 |
일반 모드 (이하 동일) |
dd | 현재의 행을 잘라내기 잘라낸 행은 vim이 가진 고유한 저장소에 저장된다. dd 앞에 숫자를 붙이면 현재행에서 n의 숫자 만큼 잘라내기함 |
|
yy | 현재 행을 복사 복사한 행은 vim이 가진 고유한 저장소에 저장된다. yy 앞에 숫자를 붙이면 현재행에서 n의 숫자 만큼 복사 |
|
p | 가장 마지막에 복사 혹은 잘라내기한 내용을 해당 위치에서 부터 붙여넣기 | |
u | undo 기능. Vim의 undo 기능은 매우 강력하여 편집기가 열린순간부터 편집한 모든 내용을 되돌리기 할 수 있음 | |
ctrl - R | redo 기능. | |
h | 왼쪽 방향키와 같은 기능. 앞에 n의 숫자를 붙인 만큼 이동이 가능. | |
j | 아래쪽 방향키와 같은 기능. 앞에 n의 숫자를 붙인 만큼 이동이 가능. | |
k | 위쪽 방향키와 같은 기능. 앞에 n의 숫자를 붙인 만큼 이동이 가능. | |
l | 오른쪽 방향키와 같은 기능. 앞에 n의 숫자를 붙인 만큼 이동이 가능. |
cf) advanced 키는 참고 ( https://jangpd007.tistory.com/8?category=360498 )
자주 쓰이는 명령어 참고 ( https://jangpd007.tistory.com/259?category=360498 )
- 리눅스 계열 os에서는 바로 cmd 창으로 가능하나 윈도우에서는 따로 다운 받거나 git bash를 사용
vim
vim은 명령모드라 이 상태에서는 자판이 입력되지 않음
-> i : 현재 커서위치에서 입력모드로 전환
-> 왼쪽 아래 insert가 뜨면서 입력이 가능해진다.
다시 명령 모드로 돌리려면 esc
-> esc 누르자마자 왼쪽 하단에 insert가 사라짐을 확인 가능
:q!
(저장하지 않고 강제 종료)
-> 왼쪽 하단에 입력되며 엔터를 치면 아래와 같이 vim 모드를 나오게 된다.
레슨 7까지 있는데 암기한다기보다 이거로 '연습'하면서 '익히면' 될 것 같다.
vimtutor
i 입력하면 아래 insert 모드로 되고, ffffffff 를 그때 입력할 수 있었다. (나올 때는 esc)
A는 잘 다가오지 않긴 한다.
근데 vim tutor <ENTER> 하면
-> bash: syntax error near unexpected token `newline' 에러가 나는데 <> 삭제해야 함
<>는 placeholder(input에 아무 값이 없을때 입력을 돕기 위한 간단한 힌트(단어 또는 짧은 문장)) 이기에
cf)
vim .
vim test
ls -> test 폴더가 만들어졌음을 확인 가능
출처 : https://jangpd007.tistory.com/6?category=360498 (손에 잡히는 Vim), https://deliciouslearning.tistory.com/215?category=660315
도커 실행 (0) | 2022.01.18 |
---|---|
API Gateway (feat. MSA) (0) | 2022.01.13 |
[JS] 구조분해 할당 (0) | 2022.01.06 |
[JS] Shorthand property names (0) | 2022.01.06 |
[JS] 자바스크립트 실행 순서 (feat. 이벤트루프) (0) | 2021.12.02 |