ESC + :e filename -> 현재파일을 저장하지 않고 다른 파일을 불러온다.
(입력모드) s -> 현재 커서의 글자 지우고 입력
------------- 이동하기 -----------------------
w -> 다음 단어의 첫 글자로 이동
b -> 이전 단어의 첫 글자로 이동
gg -> 문서의 맨 첫 행으로 이동
G -> 문서의 맨 끝으로 이동
^ -> 행의 시작으로 이동
$ -> 행의 끝으로 이동
-------------- 삭제하기 --------------------
x -> 한 글자 삭제
dw -> 한 단어 삭제
dd -> 한 행 삭제
-------------- 복사하기 ---------------------
yw -> 현재 위치의 한 단어 복사
yy -> 현재 위치의 한 행 복사
p -> 복사한 것 붙여넣기
-------------- 블로지정 동작 -----------------
v & 이동커서 -> 블록지정
d : 잘라내기 및 삭제
y : 복사
< : 행 앞에 탭 삭제
> : 행 앞에 탭 삽입
-------------- 되돌리기 -----------------------
u -> 되돌리기
Ctrl + r -> 되살리기
------------- 검색하기 ------------------------
/ or ? + 문자 -> 검색하기
n : 다음 단어로 이동
N : 이전 단어로 이동
* -> 단어 위에서 *를 입력하면 아래로 검색
# -> 단어 위에서 #을 입력하면 위로 검색
------------- 단어 바꾸기(치환) ----------------
%s/바뀌기 전 단어/바꾼 후 단어/g -> 단어 치환(문서전체)
s/바뀌기 전 단어/바꾼 후 단어/g -> 단어 치환(매칭되는 가장 처음 문장)
gc(단어마다 모두 치환할 것인지 물어본다)
------------ 여러파일 동시에 열기 --------------
vi file1 file2 .... -> 여러 파일을 동시에 연다.
b1 : 첫 번째 파일 버퍼
b2 : 두 번째 파일 버퍼
.....
map ,1 :b!1<CR> -> , 를 누르고 뗀 다음 숫자 1을 누르면 첫 번째 파일 버퍼로 간다.
------------ 다중 창 사용하기 -------------------
Ctrl + w 을 동시에 누른 다음 n -> 창으로 반으로 나뉘면서 위에 빈 공간이 생긴다.
e filename -> 위의 빈 공간에 새로운 파일을 연다.
Ctrl ww -> 두 파일이 번갈아 가면서 커서가 이동한다.
Ctrl + w q or :q! -> 열린 파일 닫기
Ctrl + w s -> 현재 파일을 수평으로 분할
Ctrl + w v -> 현재 파일을 수직으로 분할
Ctrl ww -> 두 파일이 번갈아 가면서 커서가 이동한다.
Ctrl + w q or :q! -> 열린 파일 닫기
------------ 마킹해서 이동하기 --------------------
ma -> 현재 위치를 a로 마킹하기
`a -> a로 마킹된 위치로 가기
------------ 쉘 명령어 사용하기 ------------------
:!쉘 명령어(예 : ls) -> 현재 파일을 닫지 않고 쉘 명령어를 실행하고 파일로 돌아갈 수 있음
------------- 파일 탐색 기능 ---------------------
:20vs ./ -> 현재 폴더에 있는 파일들의 리스트를 볼수 있다.
-------------- 괄호 이동 및 탐색 -------------------
{ } -> 블럭의 처음과 끝으로 이동한다.
[[ -> 현재 함수의 맨 처음으로 이동
]] -> 다음 함수의 맨 처음으로 이동
% -> { or } 에서 누르면 쌍을 이루는 괄호로 이동한다.
-------------- 폴딩 --------------------------------
v ]}zf : 함수를 접어서 블록으로 형성한다. (어려우니 map으로 지정해놓자)
v zo : 접은 함수로 가서 누르면 접었던 함수가 펴진다.
------------- 탭 사이즈 조정 ----------------------
:set ts = 8 -> 문서 전체의 탭 사이즈를 8로 조정한다.
:set tabstop=4
:set ai -> 자동 들여쓰기
:set autoindent -> 자동 들여쓰기
------------- 흐트러진 소스 정렬 ------------------
v = -> v로 선택하여 블록을 지정한 다음 =를 누르면 소스가 정리된다.
-------------- 달라진 소스 확인 -------------------
vimdiff 첫번째 파일 두번째 파일
do = 오른쪽 파일에서 다른 점을 왼쪽으로 옮겨오기
dp = 왼쪽 파일에서 다른 점을 오른쪽으로 옮겨오기
체크인 버전에 따라 비교하기
vd PvbGetAttGroup.c PvbGetAttGroup.c@@/main/1
Ctrl + w + w -> 분할된 화면 이동
Ctrl + w + = -> 분할된 화면의 크기가 동일하도록 조정
] + c -> 차이점이 있는 부분으로 이동 (Down)
[ + c -> 차이점이 있는 부분으로 이동 (Up)
d + o -> 현재 커서가 위치한 창 쪽으로 반대 창 쪽의 내용을 적용 시키기
d + p -> 현재 커서가 위치한 창 쪽의 내용을 반대 창 쪽으로 적용 시키기
z + o (or space) -> 접혀 있는 부분 열기
z + c -> 차이점 없는 부분 접기
:diffupdate -> 문서 간의 차이점을 다시 비교하도록 하는 명령 (한 쪽 창의 내용을 edit하다 보면 문서 간의 차이점을 나타내는 색깔이 없어지기도 함)
3. diff된 단락으로 점프
[c % 변화가 있는 이전 단락의 처음으로 점프
]c % 변화가 있는 다음 단락의 처음으로 점프
4. diff시 접힌 단락 펼치기
diff를 이용하면서 비교할 필요가 없는 단락들은 자동으로 접어두게 됩니다. 접혀진 내용을 보거나 다시 접을 때 사용하는 명령어 들입니다.
za % 커서위의 folded paragraph를 토글합니다.
zR % 모든 접힌 단락을 펼칩니다.
zM % 모든 열린 단락을 접습니다.
창넘나들기(Window)
diff를 사용하면 창이 분할이 됩니다. 이때 창을 넘나들며 편집을 해야하는데 이 때 사용할 수 있는 명령어들을 함께 소개합니다. 물론, diff 이외에도 모든 창분할시 사용되는 명령입니다.
1. 창 나누기
CTRL-W s % 가로 창 나누기
CTRL-W v % 세로 창 나누기
2. 창 닫기
CTRL-W q
3. 창 이동하기
CTRL-W w % 열린 창들을 순서대로 편집창 이동
CTRL-W [h/j/k/l] % 커서방향에 따라 편집창 이동
4. 창 크기 조절하기
CTRL_W = % 모든 창들의 너비와 높이를 동일하게 조절한다.
CTRL_W + % 현재 편집 창의 크기를 늘린다.
CTRL_W - % 현재 편집 창의 크기를 줄인다.
CTRL_W CTRL_- % 현재 편집 창을 최대로 늘린다.
-------------- buffer에 저장 -------------------------
1) v로 블록지정
2) :w! /tmp/11
3) 복사할 위치에 :r /tmp/11
-> 11이라는 버퍼에 저장되고 붙여넣기가 된다.
'Unix/Linux' 카테고리의 다른 글
[스크랩] 리눅스 시그널 정리 (0) | 2009.09.14 |
---|---|
Debug (0) | 2009.06.02 |