레이블이 VI인 게시물을 표시합니다. 모든 게시물 표시
레이블이 VI인 게시물을 표시합니다. 모든 게시물 표시

2015년 12월 8일 화요일

[vi 사용법, 명령어] 환경 설정, 기타 기능

<set 및 기타>

:set nu | nonu - line번호 표시/취소
:set ai | noai - 자동 들여 쓰기/취소
:set shiftwidth=4 - 들여쓰기 폭을 4문자로 설정
:set cindent - C프로그램을 작성시 활용할 수 있는 자동 편집 기능
:set all - set 변수 보기
:set - 현재 설정된 set 상태
:syntax on | off\ - 색문자의 사용 on|off

<환경 설정>

set 등의 환경 초기 설정을 지정하여 vi 실행시에 작업 환경 홈디렉토리에 .exrc
또는 .vimrc에 사용하고자 하는 설정을 편집.

<태그 기능>

지정된 표시의 위치로 이동할 때 사용
m + a - 현재의 위치를 a위치로 표시(marking)
m + c - 현재의 위치를 c위치로 표시(marking)
' + a - a 표시된 위치로 이동
' + c - c 표시된 위치로 이동
' + ' - '를 연속 두 번 누르면 이전 작업 위치로 이동

<문자 buffer 기능>

각 문자에 대해 버퍼로 활용 가능
" + a + y5y - 문자 a에 현재 줄부터 5줄을 저장
" + a + p - 문자 a에 저장된 5줄의 내용을 붙여 넣기

<기타>

J - 현재 줄과 다음 줄을 합침
~ - 대소문자로 상호 변환
^v + m - 제어문자인 ^M문자를 현재의 위치에 삽입
.(dot) - 조금전 실행한 기능을 반복 실행
ctrl + g - 편집 중인 파일 이름과 현재 위치를 확인
ctrl + l - Refresh (화면갱신)
ctrl + 6 - 2개의 파일을 동시에 편집하고 있을 때 상호 이동

2015년 12월 3일 목요일

[vi 사용법, 명령어] vi 검색, 치환

<검색>

:s/hello - hello 탐색
/hello - hello 라는 문자를 현재의 위치에서 탐색
?hello - hello 라는 문자를 현재의 위치에서 역으로 탐색
n - 한번 탐색한 문자열을 연속적으로 탐색
N - 한번 탐색한 문자열을 역으로 연속적으로 탐색

<문자 치환> n은 숫자를 의미

rc - 현재 문자를 c로 치환
R - 현재 커서부터 Esc 문자가 입력될 때까지 치환
s - 현재문자를 삭제하고 입력모드로 전환
ns - 현재부터 n문자를 삭제하고 입력모드로 전환
S - 현재줄을 삭제하고 입력모드로 전환

<단어 치환> n은 숫자를 의미

cw - 한 단어를 치환하고 입력 모드로 전환
ncw - 현재부터 n단어를 삭제하고 입력 모드로 전환
cc - 현재 줄을 삭제하고 입력모드로 전환
ncc - 현재 줄부터 n줄을 삭제하고 입력모드로 전환
C - 현재 커서부터 줄 끝까지의 내용을 삭제하고 입력 모드로 전환
nC - 현재 커서부터 n줄까지 내용을 삭제하고 입력 모드로 전환

[vi 사용법, 명령어] vi 커서 이동

밑에 표시중
^은 Control Key를 의미하고,
n은 숫자를 의미한다.

- 커서의 이동은 명령 모드에서 가능하다.
한글자 이동 - h(왼쪽으로 한 글자 이동) l(오른쪽으로 한 글자 이동)
한 행 이동 - j(아래로 한 행 이동) k(위로 한 행 이동)
한 화면 이동 - ^f/^b: 한 화면 아래/위로 이동(forward/backward)
반 화면 이동 - ^d/^u : 반 화면 아래/위로 이동(down/up)
한 단어 이동 - w,W(한 단어 앞으로 이동), b, B(한단어 뒤로 이동),e(단어의 끝으로)
행 지정 이동 - nG(지정한 행으로 커서를 이동)

G - 파일의 맨 끝으로 이동
nG - n번째 줄로 이동
:n - n번째 줄로 이동
(, n( - 현재 문장의 선두(위의 n번째 선두)로 이동
), n) - 다음 문장의 선두(아래의 n번째 선두)로 이동
{, n{ - 현재 문단의 선두(위의 n번째 선두)로 이동
}, n} - 다음 문단의 선두(아래의 n번째 선두)로 이동
[ + [ - 이전 블록({})의 처음으로 이동
] + ] - 다음 블록({})의 처음으로 이동
^ (6) - 커서가 위치한 줄에서 맨앞으로 이동(빈칸무시)
O(숫자) - 커서가 위치한 줄에서 맨앞으로 이동(공백을 제외한 맨앞)
$ - 커서가 위치한 줄에서 맨뒤로 이동
H | M | L - 화면상에서 커서를 처음/중간/마지막 줄로 이동

2015년 12월 2일 수요일

[vi 사용법, 명령어] vi모드 전환 및 편집

모드전환

명령모드 -> 입력모드 : a, A, i, I, o, O
입력모드 -> 명령모드 : Esc Key
텍스트를 편집하기 위해선 먼저 입력 모드로 변경.
아래는 편집을 위해 명령모드에서 사용할 수 있는 명령어이다.
d : delete 삭제
c : change 변경
y : yang 복사
p : paste 붙이기
w : word 단어
u : undo 취소
^ : 줄의 시작
$ : 줄의 끝

<텍스트의 추가 및 삽입>

i (insert) - 현재 커서가 있는 위치에 새로운 텍스트를 끼워 넣는 기능
I (insert) - 현재 줄의 처음부터 새로운 텍스트를 끼워 넣는 기능
a (append) - 현재 커서가 있는 위치 다음부터 입력하는 기능
A (append) - 현재 줄의 끝에 텍스트 입력하는 기능
o (open) - 현재 커서가 있는 다음 줄에 행을 삽입하여 편집
O (open) - 현재 커서가 있는 앞줄에 행을 삽입하여 편집

<문자 복사 및 삭제와 복구>

x - 한번에 커서 뒤의 한 글자를 삭제
X - 한번에 커서 앞의 한 글자를 삭제
숫자1, 숫자2d - 파일의 숫자 1행에서 숫자 2행까지 삭제
dd - 한 라인을 삭제하고 그 내용을 버퍼에 저장
ndd - 현재 line부터 n개의 line을 지우고 그 내용을 버퍼에 저장
dw - 한 단어를 삭제
D - 현재 커서의 위치에서 그 행의 끝까지 삭제
u - 마지막에 실행한 명령을 취소하고 명령 실행 이전으로 복구
U - u에 의해 취소된 명령 재실행
^r - u에 의해 연속적으로 취소된 명령을 연속적으로 재실행
nY - 다음 줄부터 n줄을 버퍼에 복사
yw - 한 단어 복사
y$ - 커서 위치에서 그 줄 끝까지 복사
yO - 커서 위치에서 그 줄 처음까지 복사
yG - 커서 위치에서 문서의 끝까지 복사
:n1,n2 y - n1번 line에서 n2번 line까지를 버퍼에 저장
p | P - 버퍼의 내용을 현재 line 뒤/앞에 붙인다
:n1,n2 t n3 - n1번 line에서 n2번 line까지를 n3번째 line 뒤에 복사
:n1,n2 m n3 - n1번 line에서 n2번 line까지를 n3번째 line 뒤에 이동

2015년 11월 29일 일요일

[vi 사용법, 명령어] vi 시작, 종료

vi  filename - vi를 시작하여 지정한 파일 편집
vi file1 file2 ... - 여러개의 파일을 동시에 편집(... 은 다른 파일명)
vi -r filename - 비정상적인 vi 모드의 종료 등에 의한 편집파일 복구모드에서 작업

<vi 종료 및 파일 생성>

:q - 수정하지 않았을 경우 종료하기
:q! - 수정한 것을 저장하지 않고 종료하기
:w - 저장하기
:w! - 읽기 전용의 파일을 저장하기
:wq - 저장하고 종료하기
ZZ - 저장하고 종료하기
:w new_file_name - 새로운 파일이름으로 저장하기
:w %.new - 현재 파일 이름에 .new를 붙여서 새로운 파일로 저장
:n,$ w file_name - n줄부터 끝줄까지 file_name으로 저장하기
:.,n w file_name - 현재줄부터 n줄까지 file_name으로 저장하기
:n1, n2 w file_name - n1줄부터 n2줄까지 file_name으로 저장하기
:n1, n2 w >> file_name - n1줄부터 n2줄까지를 file_name으로 추가하기

<파일관리>

:w file-name - 현재 내용 저장
:w! file-name - 기존의 파일에 덮어 쓰기
:e file-name - 파일 불러오기
:e! file-name - 현재 내용을 저장않고 새 파일 불러오기
:e# - 직전 편집 파일 불러오기 - 여러 개의 파일을 동시 작업시
:r file-name - 현재 커서 위치에 파일 내용 삽입