LogIn E-mail
설계이야기
vi 명령어, vim명령어 gvim
# 63 JMJS    11.2.11 11:32

:se co=84
:se lines=50
:se ic #set ignore case
:se noic #unset ignore case
:se nu #set number
:se nonu #unset number
:se tabstop=8
:set gfn=Fixed\ 14
:se nobackup

** MS에서 vimdir/_vimrc에서 수정 %cat _vimrc
syn on
set ic
set nobackup
...
** unix에선 .vimrc 수정 %cat .vimrc
:syn on
:se ic
:se nobackup


1.시작
vi file  vi를 시작하여 지정한 파일 편집
vi -R file  읽기 전용(read- only)  편집기로서 vi를 시작하여 지정한 파일 편집
view file  읽기 전용(read- only)  편집기로서 vi를 시작하여 지정한 파일 편집
 
2.종료  
:wq  데이터를 저장하고 종료
:q!  데이터를 저장하지 않고 종료
 
3. 시스템이 다운된 후에 되살리기
vi -r  되살릴 수 있는 모든 파일 이름 보여주기
vi -r file   vi를 시작하여 지정한 파일 되살리기
 
4. 디스플레이 제어하기
^L  현재 화면을 다시 디스플레이하기
:set number  내부 줄 번호 디스플레이
:set nonumber  배부 줄 번호 디스플레이 않기
 
5. 마지막으로 지운 것 복사하기
p  마지막으로 지워진 것을 커서의 뒤/아래에 삽입
P  마지막으로 지워진 것을 커서의 앞/위에 삽입
xp  두 문자를 바꿈
deep  두 단어를 바꿈
ddp  두 줄을 바꿈
 
6. 패턴 검색
/rexp 지정된 정규 표현식에 대해 앞으로 이동
/  이전의 패턴에 대해 앞으로 검색을 반복
?rexp  지정된 정규 표현식에 대해 뒤로 이동
?  이전의 패턴에 대해 뒤로 검색을 반복
n  /나 ?명령에 대해 같은 방향으로 반복
N  /나 ?명령에 대해 반대 방향으로 반복
 
7. 약어의 사용
:ab short long  short를 long에 대한 약어로 변경
:ab  현재 약어 목록을 표시
:una short   약어 short를 표시
 
8. 줄 길이의 조정
r<Return> 문자를 뉴라인으로 변경
J  줄의 결합
:set wm=n  오른쪽으로 n문자 위치에서 자동적으로 줄 나눔
 
9. 커서 이동
h<Left>  커서를 한 칸 왼쪽으로 이동
j<Down>  커서를 한 줄 아래로 이동
k<Up>   커서를 한 줄 위로 이동
l<Right>  커서를 한 칸 오른쪽으로 이동
<Backspace> 커서를 한 칸 왼쪽으로 이동
<Space>  커서를 한 칸 오른쪽으로 이동
-  커서를 이전 줄의 처음으로 이동
+  커서를 다음 줄의 처음으로 이동
<Return>   커서를 다음 줄의 처음으로 이동
0  커서를 현재 줄의 맨 앞으로 이동
$  커서를 현재 줄의 맨 끝으로 이동
^   커서를 현재 줄의 첫글자(공백이나 탭이 아닌)로 이동
w  커서를 다음 단어의 첫 글자로 이동
e  커서를 다음 단어의 끝 글자로 이동
b  커서를 이전 단어의 첫 글자로 이동
W  w와 같음(문장 부호 무시)
E  e와 같음(문장 부호 무시)
B  b와 같음(문장 부호 무시)
(  다음 문장의 처음으로 이동
)  이전 문장의 처음으로 이동
{  다음 문단의 처음으로 이동
}  이전 문단의 처음으로 이동
H  커서를 화면 맨 위로 이동
M  커서를 중간으로 이동
L  커서를 맨 아래로 이동
 
10. 편집 버퍼를 통한 이동
^F 한 화면 아래로 이동
^B   한 화면 위로 이동
n^F   n화면 아래로 이동
n^B  n화면 위로 이동
^D  반 화면 아래로 이동
^U  반 화면 위로 이동
n^D  n줄만큼 아래로 이동
n^U n줄만큼 위로 이동
 
11. 셸 명령 실행
:!command vi를 중단하고 지정한 셸 명령을 실행
:!!  vi를 중단하고 이전의 셸 명령을 실행
:sh  vi를 중단하고 셸을 실행
:!csh   vi를 중단하고 새로운 C-셸을 실행
 
12. 패턴에 의한 치환
:s/pattern/replace/ 현재 줄의 치환
:lines/pattern/replace/  지정한 줄의 치환
:line,lines/pattern/replace/  지정한 범위의 치환
:%s/pattern/replace/  모든 줄의 치환
 
13. 데이터 읽기
:liner file  file의 내용을 지정한 줄 다음에 삽입
:r file  file의 내용을 현재의 줄 다음에 삽입
:liner !command  command의 결과를 지정한 줄 다음에 삽입
:r !command  command의 결과를 현재의 줄 다음에 삽입
:r !look pattern  지정한 pattern으로 시작된 단어 삽입
   
14. 정규 표현식을 사용하기 위한 특수 기호
.  뉴라인을 제외한 모든 단일 문자와 대응
*  영 또는 그 이상의 선행 문자와 대응
^  줄의 시작과 대응
$  줄의 끝과 대응
<  단어의 시작과 대응
>  단어의 끝과 대응
[ ]  묶여진 문자중의 하나와 대응
[^ ]  묶여진 문자를 제외한 아무것하고나 대응
  이어지는 기호를 문자 그대로 해석
 
15. 줄 번호
nG  줄번호 n으로 건너뛰기
1G  편집 버퍼의 첫 줄로 건너뛰기
G  편집 버퍼의 마지막 줄로 건너뛰기
:map g lG  g가 lG와 같도록 매크로 정의
 
16. 삽입
i 입력 모드로 전환, 커서 위치 앞에서 삽입
a 입력 모드로 전환, 커서 위치 뒤에서 삽입
I 입력 모드로 전환, 현재 줄의 앞에 삽입
A 입력 모드로 전환, 현재 줄의 끝에 삽입
o 입력 모드로 전환, 현재 줄의 아래에 전개
O 입력 모드로 전환, 현재 줄의 위에 전개

17. 편집하고 있는 파일을 바꾸기
:e file  지정한 파일의 편집
:e! file  지정한 파일의 편집, 자동 점검의 생략
 
18. 내용 고치기
r 단지 한 글자만 변경(입력 모드로 바뀌지 않음)
R 입력하는 대로 겹쳐 써서 변경
s  삽입에 의해 한 단어의 변경
C  커서의 위치로부터 줄 끝까지 삽입에 의한 변경
cc 전체 줄을 삽입에 의한 변경
S  전체 줄을 삽입에 의한 변경
cmove  커서부터 move까지 삽입에 의해 변경
~  대,소문자 바꾸기
 
19. 고치기의 취소 또는 반복
u 편집 버퍼를 수정했던 마지막 명령을 취소
U  현재 줄을 저장
. 편집 버퍼를 수정했던 마지막 명령 반복
 
20. 문자 삭제
x  커서가 있는 문자 삭제
X  커서의 왼쪽 문자 삭제
D  커서부터 줄의 끝까지 삭제
dd  현재 줄의 전체 삭제
dmove  커서부터 move까지 삭제
dG  커서부터 편집 버퍼의 끝까지 삭제
d1G  커서부터 편집 버퍼의 맨 앞까지 삭제
:lined  지정한 줄의 삭제
:line, lined  지정한 범위의 삭제
 
21. 여러 줄의 복사와 이동
:linecotarget  지정한 줄을 복사하여 target 줄 밑에 삽입
:line, linecotarget  지정한 범위를 복사하여 target 줄 밑에 삽입
:linemtarget  지정한 줄로 이동하여 target 줄 밑에 삽입
:line, linemtarget  지정한 범위로 이동하여target 줄 밑에 삽입
 
22. 데이터를 처리하기 위한 셸 명령의 사용
n!!command  n번 줄에서 command의 실행
!move command 커서부터 move까지 command 실행
!move fmt  커서부터 move까지 줄들을 형식 맞추기
 
23. 데이터 저장하기
:w  원래의 파일로 데이터를 저장
:w file  지정한 파일로 데이터를 저장
:w>> file   지정한 파일에 데이터를 추가

출처 : http://kldp.org/

=======================================================
vim명령어
=======================================================

gf - go file (복귀:Ctrl-6, Ctrl-o)

:color delek
:syntax on
:set guifont=7x13
:set guifontset==adobe-cour....


http://blog.naver.com/akaiakuma/100022676279

path setting : diff.exe

원본 문서가 열려 있는 경우
:vertical diffsplit 비교하려는 문서 (File => Split Diff With  도 가능)

문서 수정후 업데이트
:diffupdate

공백을 무시하려면
:set diffopt+=iwhite
:help diff

gvim -d [파일] [파일]

혹은 buffer 를 vs 로 나누고 :diffthis

diffs 간의 merge
가져오기 :diffg[et] do(diff obtain)
내보내기 :diffpu[t] dp(diff put)

diffs 간의 navi
이전 차이점[c
다음 차이점]c

조심하자
> _vimrc 복사해 넣을때, diff 의 위치가 절대경로로 되어있으므로 버전번호가 포함된 vim 의 위치라면
에러가 발생될것이다.

http://kldp.org/comment/reply/1155

게시물: 103 건, 현재: 1 / 2 쪽
번호 제       목 작성자 등록일 방문
106  arithmetic in a makefile, shell pwd export JMJS 17.9.8 597
105  Split and merge large files JMJS 16.3.21 573
104  [Makefile]random JMJS 14.12.5 871
100  윈도우7 용량부족 winsxs 폴더 최적화 JMJS 14.10.14 1775
99  [sh,csh]while loop JMJS 13.2.6 1955
98  hostname, hostid, /sbin/ifconfig eth0 JMJS 13.1.4 3717
97  [linux]fedora 16 gome-shell extension JMJS 12.3.12 1604
96  [linux]fedora 16 grub boot order change JMJS 12.3.10 1897
95  [linux]fedora Input Method,ibus,hangul JMJS 12.3.8 1588
94  [linux]audio,mp3,mplayer,gstreamer,vlc JMJS 12.3.7 2019
93  [sh].wrapper example JMJS 11.6.15 1731
92  [make]for loop JMJS 11.9.8 1581
91  [make]conditional expression JMJS 11.5.12 1499
90  [make]shell 실행 JMJS 11.3.9 1589
89  [wish]jplot JMJS 10.5.12 1263
88  yum JMJS 09.8.12 1320
87  [CYGWIN]X setup하기 JMJS 10.8.6 2454
86  [Make]Makefile Brief JMJS 10.8.6 1301
85  ldd /user/bin/xterm JMJS 09.4.24 1021
84  [HTML]어도비 SVG 뷰어와 HTML JMJS 09.4.24 1539
83  [DOS]DOS command JMJS 09.7.20 1242
82  [DOS]DOS command brief JMJS 07.2.21 1681
81  웹페이지 소스보기 JMJS 09.4.24 1224
80  [html]자동으로 글자색 바뀜 JMJS 07.1.10 1198
79  [html]복사, 드래그 금지 JMJS 07.1.10 1673
78  [csh]cshell에서 function 못쓴다네요 JMJS 11.3.17 1169
77  리눅스에서 i386,i586,i686, x86의 차이점 JMJS 06.10.16 1507
76  [CSH]$status JMJS 06.8.21 992
75  [sh]substr, read, until,IFS,for,dirname JMJS 14.12.19 1189
74  [sh]rgbview.sh . hello.sh JMJS 10.11.30 1103
73  automount - /etc/fstab JMJS 06.2.23 1132
72  lmutil.csh JMJS 05.11.8 1447
71  화일이름에 못오는 문자 JMJS 05.9.8 1198
70  /usr/ucb /usr/ccs JMJS 05.9.5 1113
69  Solaris Version JMJS 05.9.5 1338
68  /usr/ccs/bin/nm -x debpli.so JMJS 05.8.31 1592
67  tar, gzip, zcat, uncompress, mn(.a 파일보기) JMJS 13.1.6 1445
66  find . -name -print -exec perl JMJS 09.4.17 1412
65  pkgadd -d packagefile JMJS 05.5.9 1168
64  prstat JMJS 08.10.2 1395
63  vi 명령어, vim명령어 gvim JMJS 11.2.11 4066
62  multiple directory 에서 grep ? JMJS 04.5.31 1566
61  [csh].cshrc_axis JMJS 04.5.14 1463
60  [csh].cshrc_modelsim JMJS 04.5.14 1539
59  [csh].cshrc_cadence JMJS 04.5.14 1599
58  [csh].cshrc_novas JMJS 04.5.14 1477
57  [csh].cshrc_verisity JMJS 04.5.14 1828
56  lmgrd JMJS 09.6.22 2196
55  [csh]which case JMJS 04.5.14 1466
54  [bash]example 2 JMJS 04.5.12 1563
53  [bash]example 1 JMJS 04.5.12 1539
52  fedora 12에서 touchpad disable JMJS 11.1.17 1635
51  [Perl]한국어 인코딩 JMJS 04.1.16 2384
50  [Perl]HTML에서 기호 표시를 위한 문자치환 JMJS 04.1.5 9205
49  [csh]make awk JMJS 03.6.6 1797
48  [csh]wordsplit JMJS 03.6.6 1483
47  [csh]vi2 JMJS 03.6.6 1303
46  [csh]cat.csh JMJS 03.6.6 1391
45  [csh]chgword.csh JMJS 03.6.6 1283
44  [bash]password JMJS 11.3.9 1250
43  [Tcl]bi2int JMJS 02.11.29 1245
42  [PC]ask 검색창이 자꾸 뜬다면 JMJS 09.4.24 1667
41  [csh]backup_copyc.csh; foreach; continue JMJS 09.4.24 1419
40  uname, uname -s -r, uname -p, uname -a JMJS 09.4.24 1601
39  [tk]새 창 열고 닫기 예제 JMJS 09.4.24 11204
38  [sh]if [[ "$abc" == "abc" && "$bbc" == "bbc" ]]; ... JMJS 11.3.17 1303
37  [expect]expect_scp.exp JMJS 11.3.9 1403
36  ssh -x -l soc lion scp -r ... JMJS 11.3.9 1201
35  TclTk 배열 JMJS 09.7.20 1284
34  ./configure make make install JMJS 11.1.13 1203
33  [csh]diff JMJS 10.7.14 1284
32  tr abc 123 < file1 > file2 JMJS 11.4.11 1219
31  Installing RPMforge JMJS 10.2.8 1282
30  [태그]글자색이 사라짐 JMJS 09.4.24 1374
29  [태그]자동으로 글자색이 변함 JMJS 09.4.24 1358
28  글자태그 모음 JMJS 09.4.24 1465
27  색상명과 RGB값 표 JMJS 09.4.24 1506
26  RGB 색상표 JMJS 09.4.24 1659
25  한글특수문자표 JMJS 09.4.24 1288
24  bc -l JMJS 01.5.22 1217
23  file *,  od -xc *, cat * JMJS 01.3.28 1536
22  Linux Memo JMJS 09.7.20 1414
21  xterm -fn 10x20 & JMJS 12.3.7 1268
20  W/S Tip JMJS 09.4.29 1328
19  [awk]example JMJS 10.10.30 1534
18  [csh].cshrc JMJS 11.6.21 1843
17  stop & background job JMJS 00.11.14 1199
16  W/S shout down JMJS 00.11.14 1219
15  [sed]example JMJS 16.9.5 1559
14  [DOS]Memo JMJS 00.10.29 1316
13  [csh]리스트를 만들어 foreach로 처리할때 JMJS 00.10.7 4253
12  [Tcl]Tool Command Language JMJS 09.7.24 2405
11  [csh]vi.csh JMJS 00.6.27 1333
10  [csh]Check Process JMJS 00.6.27 1229
9  [csh]Get Character and get char without 'return' JMJS 10.2.8 1367
8  [csh]foreach SED JMJS 00.6.27 1580
7  [Window]오류보고 안 뜨게하는 방법 JMJS 09.9.23 1274
6  [csh]echo.csh JMJS 00.6.27 1434
5  set DDD = `date '+%y%m'` JMJS 00.6.27 1201
4  [SH]Advanced Bash-Scripting Guide JMJS 09.4.24 1160
[1] [2]