VI

커서이동

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 K
도움말 보기
map :25vs ./:set nonu
탐색기 열기
map O^Ww
탐색기 안에서 파일 열기
map ^6
이전에 열었던 파일 열기
map v%zf
폴딩 - 함수 접기(함수의 { 위치에서 F5를 눌러야 함)
map zo
폴딩한 것 다시 풀기
map :marks
최근에 열었던 파일 보기

map [i
함수 프로토타입보기
map :set nonu
줄번호 없애기
map :set nu
줄번호 보기

*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
트랙백 0 댓글 0개가 달렸습니다.
prev 1 ... 535 536 537 538 539 540 541 542 543 ... 548 next