티스토리 뷰
-. vi - vi편집기를 호출한다.
-. vivi filename - 기존에 있는 파일이면 그 파일을 열고 없는없는 파일이면 새로 만든다.
-. vi + 10filename - 지정화일의 10번째10번째 행부터 화일열기
-. vi +/"school" filename - 지정화일내의 school이란 단어가 처음나오는처음나오는 시점부터 열기
-. vi -r filename - 손상된 파일을 복구복구
-. view filename - 수정없이 읽기전용으로 열기
▒ 커서의커서의 이동
-. h - 왼쪽으로 이동
-. j - - 아래로 이동
-. k - 위로 이동
-. l - 오른쪽으로 이동
-. w - 한단어 오른쪽으로이동
-. bb - 한단어 왼쪽으로 이동
-. Return - 한행아래로 이동이동
-. Backspace - 한문자 왼쪽으로 이동
-. Spacebar - 한문자 오른쪽으로오른쪽으로 이동
-. H - 화면의 맨위로 이동
-. M - 화면의 중간으로 이동
-. L - 화면의 맨 아래로아래로 이동
-. ^F - 한화면 앞으로 이동
-. ^D - 반화면 앞으로 이동
-. ^B - 한화면 뒤로 이동이동
-. ^U - 반화면 뒤로 이동
▒ 삽입명령어
-.-. a - 커서 오른쪽에 문자삽입
-. A - 커서커서 오른쪽, 행의끝에 문자삽입
-. i - 커서 왼쪽에 문자삽입
-.-. I - 커서왼쪽, 행의 처음에 문자삽입
-. o -- 커서 아래에 행 삽입
-. O - 커서 위에 행행 삽입
-. <Esc> - 작업완료후 반드시 입력
▒ 텍스트 변경변경
-. cw - 단어 변경
-. cc - 행행 변경
-. C - 커서 오른쪽의 행 변경
-. ss - 커서가 위치한 문자열 대체
-. r - 커서커서 위치 문자를 다른 문자로 대체
-. r-Return - 행 분리
-.-. J - 현재 행과 아래 행 결합
-. xp - 커서 위치 문자와 오른쪽 문자교환
-. - - 문자형(대,소문자)문자형(대,소문자) 변경
-. u - 이진 명령 취소
-. U - 행 변경 사항 취소
-. :u - 이전의 최종행최종행 취소
▒ 텍스트 삭제
-. x - 문자삭제
-.-. dw - 단어삭제
-. dd - 행 삭제
-.-. D - 커서 오른쪽 행 삭제
-. :5,10 d - - 5-10째 행 삭제
▒ 행번호 설정
- :set nu - 행번호 표시
- :set nonu - 행번호 숨기기
▒▒ 행 찾기
-. G - 파일의 마지막 행으로 가기
-.-. 12G - 파일의 12번째 행으로 가기
▒ 텍스트의 복사복사 및 이동
-. yy - 행 yank 또는 복사
-.-. Y - 행 yank 또는 복사
-. P - - yank 되거나 삭제된 행을 현재 행 아래에 삽입
-. p - yank되거나 삭제된 행을 현재 행 위에 삽입
-. :1,2 coco 3 - 1-2행을 3행 다음으로 복사
-. :4,5 m 6 - - 4-5행을 6행 다음으로 이동
▒ 탐색 및 대체
-. /string//string/ - string탐색
-. ?string? - string 역 방향 탐색
-. n(N) - string의 다음(이전) 계속 탐색
-. :g/search-string/s//replace-string/gc - 각 발생발생 탐색후 확인하고 대체
-. :s/str/rep/ - 현재현재 행의 str을 rep로 대체
-. :1,.s/str/rep/ - 1부터1부터 현재 행의 str을 rep로 전부 대체
-. :%s/str/rep/g - 파일 전체 str을 rep로 전부 대체
▒ 화면정리
^L^L <Ctrl + L> 불필요한 화면 내용 제거 후 다시 표시
다른다른 파일을 파일내로 삽입
-. :r filename - 커서 다음에 파일파일 삽입
-. :20 r filename - 파일을 20번째 행 다음에 삽입삽입
▒ 파일의 저장 및 종료
-. :w - 변경사항변경사항 저장
-. :w filename - 지정한 파일로 저장
-. :wq - 변경사항 저장후 vi종료
-. ZZ - 변경사항 저장후 vi종료
-. :q! - 변경사항을 저장하지 않고않고 vi종료
-. clear - 화면의 내용을 깨끗이 지운다.
-.-. ls - 현재 디렉토리의 파일목록을 표시한다.
-. cp -- 파일을 복사한다.
-. mv - 파일의 이름을 변경한다.
-. mvmv - 파일을 다른곳으로 옮긴다.
-. rm - 파일을 삭제한다.삭제한다.
-. cat - 파일내용을 표시한다.
-. pwd - 현재현재 위치의 경로를 표시한다.
-. cd - 디렉토리의 경로를 이동한다.
-.-. mkdir - 새로운 디렉토리를 만든다.
-. rmdir - 디렉토리를 삭제한다.
▒ :k,l command m
:1,10 co 50 - - 1 줄 부터 10 줄 까지를 50 줄 이후로 복사
:34,50 d - 34 줄 부터 50 줄 까지 삭제삭제
:100,150 m 10 - 100 줄 부터 150 줄까지를줄까지를 10 줄 이후로 옮김
:.,$ d - 현재줄부터 끝까지끝까지 지우기
:.,+20 co -4 - 현재줄부터 20줄을, 4줄 위에위에 복사하기
:-,+ t 0 - 위, 아래로 한줄(총 3줄)씩을,3줄)씩을, 문서 맨위에 복사하기
:/pattern/ d - pattern 이 들어있는들어있는 줄 지우기
:/pattern/ -nd - pattern 이 들어있는 줄로부터줄로부터 n 번째 윗줄 지우기
:/pattern/ +nd - pattern 이이 들어있는 줄로부터 n 번째 아랫줄 지우기
:/p1/, /p2/ d - p1 이 들어있는 줄부터, p2 가 들어있는 줄까지 지우기
:.,/pa/ m 23 - 현재줄부터 pa 이 들어있는 줄까지, 23번줄23번줄 이후로 옮기기
▒ g 옵션 붙이기
:g/pattern - 파일전체에서 마지막으로 pattern 이 쓰여진 줄로 가기
:g/pattern/ pp - 파일전체에서 pattern 이 있는줄 보여주기
:g/pattern/ nu - 파일전체에서 patterm 이 있는줄을 번호와 함께 보여주기
:60,124 g/pa/ g/pa/ - p 60,124 줄 사이에서 pa 이 들어있는줄 보여주기
▒ 저장 및 종료
:w - 저장하기
:q - 종료하기
:wq - 저장하고 종료하기
:x - 저장하고 종료하기 (:wq 와 동일)
:w! - 강제로 저장하기 (read-only 로 열었을경우)
:q! - 편집한편집한 내용을 저장하지 않고 종료하기
:w - new_filename new_filename으로 저장하기저장하기
:w %.new - 현재파일 이름에 .new 를 붙여서 새로운새로운 파일로 저장
:230,$ w filename ant - 230 줄부터 끝줄까지끝줄까지 filename으로 저장하기
:.,580 w filename - 현재줄부터 580줄까지 filename으로 저장하기저장하기
:1,10 w new_filename - 1줄부터 10줄까지 new_filename으로 저장하기
:340,$:340,$ w >>new_file - 340줄부터 끝줄까지 new_file에 추가하기
▒ 읽기읽기
:r[ead] filename - 현재위치에 filename 읽어들이기
:r /usr/local /data/data - 현재위치에 /usr/local/data 읽어들이기
:185 r /usr/ local/data - 185줄185줄 이후에 /usr/local/data 읽어들이기
:$ r /usr/local/data - 맨끝줄 이후에 /usr/local/data/usr/local/data 읽어들이기
:0 r /usr/local/data - 맨윗줄에 /usr/local/data 읽어들이기
:/pa/:/pa/ r /usr/local/data - pa 이 존재하는 줄에 /usr/local/data 읽어들이기
▒ 다중편집하기
vi file1 file2 file3 :args - 편집중인 파일목록파일목록 보여주기
:n[ext] - 다음 파일로 넘어가기
:prev[ious] - 이전파일로 돌아가기
sc/ESC/g - BX가 있는줄 찾아서 EscEsc 를 ESC 로 바꾸
:% s/editer/editor/g - 처음줄부터 마지막줄까지, editerediter 를 editor 로 바꾸기
:g/editer/ s//editor/g - 위와 동일("s/" 다음에다음에 인자가 없어서 윗줄과 같은효과
'Study > Language >' 카테고리의 다른 글
getAddDay 함수를 이용한 해시 예제, (0) | 2010.01.15 |
---|---|
getAddDay 함수 구현 (0) | 2010.01.14 |
GCC의 -l 과 -L 옵션 (0) | 2010.01.09 |
쉘 프로그래밍 이론 (0) | 2009.12.24 |
알아두면 유용한 VI편집기 명령어 환경설정 (0) | 2009.12.24 |
- Total
- Today
- Yesterday
- 해커톤
- WatchFaceHack
- 윤재석
- AndroidWear
- 핸즈온머신러닝
- gdgssu
- 그래비트랙스
- yjaeseok
- Linux
- 창의과학교구
- Jake Yoon
- 안드로이드폰
- 안드로이드
- jakeyoon
- 하쭈서쭈
- 리눅스 커널 2.6
- 서버개발자
- 리눅스
- 릴레이대회본선
- gdg watchfacehack
- 숭실대
- 창조경제혁신센터
- 리눅스2.6
- Developing on AWS
- GDG
- GDG SSU
- 리눅스 커널 2.6 구조와 원리
- jaeseokyoon
- watchface
- 소설네트워크2
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |