텍스트 복사
- 삭제나 변경을 위한 명령 키를 사용할 때 텍스트가 복사됨
- 또는 커서를 적당한 위치로 이동한 후 y 명령을 사용하여 복사함
텍스트 붙여넣기
- p 또는 p 명령을 이용하여 (커서의 왼편/위 라인) 또는 (오른 편/아래 라인)에 붙여넣기를 할 수 있음
명령 키 |
설명 |
yy |
현재 라인을 복사 |
5yy |
현재 라인부터 다섯 라인을 복사 |
yw |
커서의 위치부터 다음 단어의 앞까지 복사 |
y$ |
커서의 위치부터 라인의 끝까지 복사 |
y0 |
커서의 왼쪽부터 라인의 앞까지 복사 |
y^ |
위와 같으나 라인 앞의 빈칸은 복사하지 않음 |
yG |
현재 라인부터 파일의 끝까지 복사 |
y) |
커서의 위치부터 한 문장을 복사 |
y} |
커서의 위치부터 한 문단을 복사 |
블록 지정하기
- v 또는 V 명령을 사용하여 문자 또는 라인 단위로 지정함
- 블록을 지정하고 싶은 곳에 커서를 이동하고 화살표를 사용하여 블록을 지정하고 삭제(x) 또는 복사(y)함
- 커서를 이동한 후 p 또는 P 명령을 사용하여 붙여 넣기를 할 수 있음
명령 키 |
설명 |
v |
비주얼 모드에서 한 번에 한 문자씩 선택 |
V |
비주얼 모드에서 한 번에 한 라인씩 선택 |
명령의 취소와 기타 명령
- 명령 모드에서 다음과 같은 명령을 수행할 수 있음
명령 키 |
설명 |
u |
이전 변경 작업을 취소(undo) |
ctr+r |
앞서 취소했던 작업을 다시 하는 것으로 취소를 취소 |
:e! |
마지막으로 저장한 후의 작업을 취소하고 다시 작업 |
:n |
n번째 라인으로 이동 |
J 또는 :j |
현재 라인과 아래 라인을 합침 |
:!command |
vi를 사용하다 쉴 명령 command를 수행 |
:sh |
vi를 잠시 빠져나가 쉘 명령을 수행함. 쉘 명령으로 exit를 실행하면 다시 vi로 돌아옴 |
:se nu |
화면 좌측에 라인 번호를 표시 |
ctr+g |
화면 하단에 파일의 이름, 전체 라인 수, 현재 라인의 상대적 위치를 퍼센티지로 표시 |
:r filename |
지정된 파일의 내용을 읽어 현재 커서의 아래 줄에 추가 |
검색 명령
- 한 라인에서 검색할 때 명령 모드에서 f를 사용
- 예를 들어 fa 명령은 커서 다음 위치부터 a를 찾음
- 세미콜론(;)을 사용하여 검색을 반복
- 파일 전체를 대상으로 검색할 때 다음 명령을 사용
명령 키 |
설명 |
/pattern |
순방향으로 pattern을 검색하여 커서를 이동 |
/pattern |
pattern을 검색하고 그 뒤(+) num번째 라인으로 이동 |
?pattern |
역방향으로 pattern을 검색하여 커서를 이동 |
?pattern?-num |
pattern을 검색하고 그 앞(-) num번째 라인으로 이동 |
n |
이전 검색을 같은 방향으로 반복 |
N |
이전 검색을 반대 방향으로 반복 |
명령 키 |
설명 |
/hello |
순방향으로 hello를 검색하여 커서를 이동 |
?goodbye |
역방향으로 goodbye를 검색하여 커서를 이동 |
/The.*does |
단어 The를 포함하고 그 이후에 단어 does를 포함하는 라인을 검색함. 점(.)은 임의의 한 문자와 매칭되며, 애스터리스크(*)는 앞의 문자(여기서는 임의의 한 문자)가 0개 이상 나타날 수 있음을 의미 |
?[pP]rint |
단어 print나 Print를 역방향으로 검색함. []는 안에 포함하는 문자 중 하나와 매칭됨 |
locate 명령
- 문자열 패턴이 (기본적으로 /로 시작하는) 파일 이름에 포함될 때, 해당 파일의 이름을 출력하는 명령
- 절대 경로 상의 디렉터리나 파일 이름에 문자열이 포함되면 출력함
- locate [options] pattern
- updatedb 명령에서 만들어진 데이터베이스에서 검색함
- 접근할 수 없는 파일은 출력이 안됨
- 옵션 -b(또는 –basename)를 사용하면 절대 경로 중 마지막 이름에서만 검색함
find 명령
- 검색 위치에서 조건에 맞는 파일을 찾고, 검색된 파일을 대상으로 명령을 수행할 수 있음
- 파일의 이름, 소유자, 접근권한, 크기, 수정시간 등의 속성을 조건으로 사용할 수 있음
- find [pathnames] [expresstion]
- 경로를 지정하지 않으면 현재 디렉터리(서브 디렉터리 포함)를 기준으로 함
- expression(조건이나 액션)이 주어지지 않으면 -print가 주어짐