커서이동
k : 위로j : 아래로
h : 왼쪽
H : 화면 처음으로 이동
i : 오른쪽
e : 다음단어 마지막으로 이동
E : 공백으로 구분한 다음단어 마지막으로 이동
b : 한단어 뒤로 이동
B : 공백으로 구분한 이전단어로 이동
w : 한단어 앞으로 이동
W : 공백으로 구분한 다음단어로 이동
M : 화면 중간으로 이동
L : 화면 마지막으로 이동
- : 전라인 시작으로 이동
숫자G : 숫자라인으로 이동
G : 텍스트 마지막 라인으로 이동
<< : tab 안으로 밀기
>> : tab 밖으로 밀기
숫자<< : 숫자만큼tab 안으로 밀기
숫자>> : 숫자만큼tab밖으로 밀기
{ : 한 단락 위로 이동} : 한 단락 아래로 이동
편집모드
a : 커서뒤에 입력A : 라인끝에 입력
i : 커서앞에 입력I : 라인시작 입력
o : 라인아래 입력O : 라인위에 입력
편집 - 바꾸기
r : 문자바꾸기
R : 한문자씩 덮어씀
s : 한문자삭제 후 입력모드
S : 한줄삭제 후 입력모드
c} : 문단 나머지 바꾸기
\c) : 문장나머지 바꾸기
cG : 파일 나머지 바꾸기
cL : 화면 나머지 바꾸기
~ : 문자형(대.소문자)변경
편집 - 삭제
x : 커서가 있는문자
X : 커서앞문자
dw : 커서가 있는 단어
db : 커서 앞단어
dd : 커서가 잇는 한줄지우기
D : 커서가있는 라인 나머지
d} : 문단 나머지
d) : 문장 나머지
dG : 파일 나머지
dL : 화면 나머지
편집 - 복사
yw : 커서가 있는 단어
yb : 커서가 있는 앞 단어
y : 특정 텍스트
yy : 커서가 있는 라인
y} : 문단 나머지
y) : 문자 나머지
yG : 파일 나머지
p : 붙여 넣기
"(레지스터 번호)p : 레지스터 번호에 해당되는 내용이 붙여진다
v(V) : 블럭선택
ctrl-v : 세로블럭선택
u :실행취소
U : 행 변경 사항 취소
:u : 이전의 최종 행 취소
. : 이전 최종 명령 반복
ctrl-p or ctrl-n : 변수명, 함수명 자동완성
검색
/pattern : 텍스트 앞으로 패턴검색
>pattern : 텍스트 뒤로 패턴검색
n : 앞/뒤로 이전검색 반복
N : 반대방향으로 이전검색 반복
/ : 전검색을 앞으로 반복
? : 전검색을 뒤로 반복
:3,5m9 or :3,5 m 9 : 3라인부터 5번라인까지 9번라인 뒤로 이동
:3,5t9 or :3,5 co 9 : 3라인부터 5번라인까지 9번라인 뒤로 복사
:7"aY : 7개의 라인을 a버퍼에 기억
:ap : ㅓ a버퍼내용을 현재라인 뒤에 붙이기
문자열 치환,교체
:s/old/new
:s/old/new/g : 커서가위치한 라인에서 문자교체
:3,9s/old/new : 일정범위 (3라인에서 9라인사이) 교체
:3,9s/old/new/g
:(.)s/delete// : 특정문자열삭제
:s/deleted//
:s/deleted//g
:1,$s/old/new/g : 파일내 모든 문자열 교체
치환
:/pattern/replace/ : 현재 줄의 치환
:lines/pattern/replace/ : 지정한 줄의 치환
:line,lines/pattern/replace/ : 지정한 범위의 치환
:%s/pattern/replace : 모든 줄의 치환
:reg : 내부 레지스터 확인
:set number : 라인번호 표시
:set nu-> 라인번호 표시
:set nonu : 라인번호 없애기
:ls or buffers or files-> 열려있는 화일 보기
:b(파일번호) : 파일번호에 해당 파일 보기
:bp(점프횟수) : 현재 파일에서 점프횟수 만큼 앞의 파일로 전환
:bn(점프횟수) : 현재 파일에서 점프횟수 만큼 뒤의 파일로 전환
:bf : 첫번째 파일로 전환
:bl : 마지막 파일로 전환
:al : 현재 열려 있는 모든 버퍼의 파일을 수평분활 창에 로드
ctrl-w n : 수평 분활창 만들기
ctrl-w v : 수직 분활창 만들기
ctrl-w q : 분활창 닫기
ctrl-w w : 분활창간 이동
ctrl-w o : 현제창만 남겨놓고 모두 닫기
ctrl-w <방향키>: 두개의 창 사이를 방향키의 방향으로 이동
ctrl-w+: 창 크게
ctrl-w - :창 작게
ctrl-w= : 열려있는 창들의 크기를 모두 같게
ctrl-wc or ctrl-w_ : 현재창 닫기
z<숫자>
:vs <파일명>:세로로 창 나누어 파일열기
:sp <파일명>:가로로 창 나누어 파일열기
:20vs ./ : 왼쪽에 파일 탐색기 열기 <탐색기에 대한 도움말=?>
zf : fold - 한줄로 접기 ex) :23,29zf
zo : fold - 펴기
O : 탐색기 파일 열기
ctrl-6 or :e# : 열어봤던 이전파일 열기
:help split창 나누기에 대한 도움말
:marks : 현제마킹된 지점확인
m(a-z) : 한 파일 내에서의 마킹
m(A-Z) : 여러 파일에서의 마킹
'(a-z or A-Z) : 마킹 지점으로의 이동
^M문자 없애기
이 문자는 ^M은 ^+M이 아니라 Control+v+m 입니다. 따라서, 다음에 이 문자를 없앨 때도 이렇게 타이핑을 하도록 합니다.
:1,$s/^M//g->:1,$s/[Control]+v+m을 누른다.//g
tab 조정
:set ts=4
파일포맷변경
:set fileformat=unix : ^M 없애기
:set ff=unix : ^M 없애기
:set ff=dos : ^M 붙이기
:set textmode : ^M 붙이기
변경후 저장할것 :wq
열려있는 파일보기
:marks
원래는 a-z,A-Z,0-9까지의 마크를 각각의 문서에 대해 할수 있는기능
그냥 marks라고 하면 기본적으로 vim이 저장하는 최근 10개 문서(0-9마크)를 보여줌
이동은 `0 또는 `3
:args
명령행 인자로 여러개의 파일을 열었을 경우, 이들을 보여주고, 문서간 이동시 편리(:N , :n)
:ls
현재 열려있는 버퍼들을 확인
편집중에 다른 화일들을 여러개 연경우, 이미 열린화일을 찾기 쉽게 함.
이동은 :b1 또는 :b3 등으로.
:!(쉘명령어) : 쉘명령어를 수행한다
:!bash : 쉘로 나간다(종료시 exit)
:r!(쉘명령어) : 쉘명령어 수행결과를 edit화면에 붙여 넣는다
파일을 파일로 삽입
:r filename : 커서 다음에 파일 삽입
:34 r filename : 파일을 34번째 행 다음에 삽입
원격 접근
vim scp://remoteuser@server.tld//path/to/document
vim ftp://stankonia@domainname.com:6090/public_html/index.html
위의 팁들을 이용하여 .vimrc에 키매핑...
map
도움말 보기
map
탐색기 열기
map
탐색기 안에서 파일 열기
map
이전에 열었던 파일 열기
map
폴딩 - 함수 접기(함수의 { 위치에서 F5를 눌러야 함)
map
폴딩한 것 다시 풀기
map
최근에 열었던 파일 보기
map
함수 프로토타입보기
map
줄번호 없애기
map
줄번호 보기
*netrw-urls*
| Reading | Writing | Uses |
|---|---|---|
DAV: dav://host/path :Nread dav://host/path | :Nwrite dav://host/path | cadaver cadaver |
FETCH: fetch://[user@]host/path fetch://[user@]host:http/path :Nread fetch://[user@]host/path | Not Available | fetch |
FTP: (*3) ftp://[user@]host/path :Nread ftp://host/path :Nread host path :Nread host uid pass path | (*3) ftp://[user@]host/path :Nwrite host path :Nwrite host uid pass path | ftp *2 ftp+.netrc ftp+.netrc ftp |
HTTP: wget is executable: (*4) http://[user@]host/path | Not Available | wget |
HTTP: fetch is executable (*4) http://[user@]host/path | Not Available | fetch |
RCP: rcp://[user@]host/path | rcp://[user@]host/path | rcp |
RSYNC: rsync://[user@]host/path :Nread rsync://host/path :Nread rcp://host/path | sync://[user@]host/path :Nwrite rsync://host/path :Nwrite rcp://host/path | rsync rsync rcp |
SCP: scp://[user@]host/path :Nread scp://host/path | scp://[user@]host/path :Nwrite scp://host/path | scp scp (*1) |
SFTP: sftp://[user@]host/path :Nread sftp://host/path | sftp://[user@]host/path :Nwrite sftp://host/path | sftp sftp *1 |
'IT > OS' 카테고리의 다른 글
| 개인 PC에서 Network 점검 (0) | 2006/09/22 |
|---|---|
| 백업설정 (WinXP에서) (0) | 2006/09/22 |
| VI (0) | 2006/09/22 |
| 타임서버로부터 로컬서버의 시간설정 (0) | 2006/09/22 |
| Linux Mounting (0) | 2006/09/22 |
| 리눅스 압축 (0) | 2006/09/22 |


