티스토리 뷰
반응형
오늘은 리눅스 기본 에디터인 vi의 명령어에 대해 알아 보겠습니다.
삽입
I: 줄의 제일 앞에서 입력A: 줄의 제일 끝에서 입력
콤보 ccommand
4w: 4단어 skip후 이동4b: 4단어 skip후 이동
4j,h,k,l: 커서이동시 지정한 수만큼 건너뛰므로 이동을 좀 더 빨리 할 수 있다.
줄의 결합(J)
2줄이 있고, 2째줄을 1째줄 끝에 붙이고 싶다면, 1째줄에서 J를 입력하면 된다.커서이동
0: 줄의 처음^: 줄의 처음(글자가 시작되는 처음)
$: 줄의 끝
w: 단어단위 이동
e: w와 같으나 단어의 끝으로 이동
b: w의 반대방향으로 이동
H, M, L: 커서를 화면 상,중,하로 이동
검색(/후 검색할 단어입력)
n: 뒤로 검색N: 앞으로 검색
매크로
ab aa aaaa: aa를 입력하면 aaaa로 자동변환치환
s/pattern/replace: 현재줄의 첫번째 matching pattern치환s/pattern/replace/g: 현재줄의 모든 matching pattern치환
%s/pattern/replace/g: 모든 줄의 치환
line,lines/pattern/replace: 해당 범위의 치환
저장
w>> file: 지정한 파일에 추가윈도 split
vi내에서 위아래로 윈도가 분활되면서 2개의 파일을 동시에 open/편집할 수 있다.ex-mode(:프롬프트상태)에서 'sp 파일이름'
윈도우가 전환은 Ctrl+ww
기타t
1. d의 경우 command모드로 계속 남아 있으나 c는 삭제후 insert모드로 변환한다.cc, c$, cw등은 유용하게 사용될 수 있다.
2. .은 마지막 명령을 되풀이한다.
visual모드
윈도의 텍스트 에디터와 같이 선택부분이 반전되면서 복사,삭제등을 할 수 있다.v로 visual모드로 집입하여 커서키를 사용해 원하는 부분을 선택한다.
복사는 y, 삭제/잘라내기는 d로 할 수 있다.
vi설정(vim설정)
자신의 홈디렉토리에 .vimrc를 생성하고 다음과 같이 할 수 있다.set ai
set ts=4
set nu
각각 auto-indent, tab stop, numbering
윈도에서 작업중 vi에 붙여넣기시 계단현상발생 방지
:set paste위치기억(UltraEdit의 ALT-F2, F2와 동일한 기능)
m{a-z}: 현재위치를 {a-z}로 북마크함`{a-z}: 기억해둔 {a-z}로 이동. 보통 한개만 등록했다면 그냥 ``를 사용하면 된다.
레코딩
설정파일의 주석추가/삭제시 유용하게 사용할 수 있다.(이미 vi에 매크로기능이 있지만, 레코딩이 UltraEdit의 매크로기능과 유사하다.)
q{a-z}: {a-z}로 레코딩 시작. {a-z}만 가능한게 아니고 실제 {0-9a-zA-Z"}를 적기 번거로워 이렇게 표시만 한 것이다.
q: 레코딩 종료
@{a-z}: 레코딩 내용 적용(@@를 하면 바로 이전의 레코딩내용을 적용, N@@은 N으로 지정한 숫자만큼 적용)
ctags사용
쉘에서 ctags -R하여 모든 소스에 대해 인덱스 생성vi를 실행하고 검색할 단어를 :ta tag로 지정하든지, 단어가 있는 곳에 커서를 둔다.
해당함수(오브젝트)가 정의된 곳으로 가기: Ctrl + ]
되돌아가기: Ctrl + t
여러 파일 편집
vi a.c b.c c.c와 같이 여러 파일을 지정한다.args: 파일목록 표시
n: 다음파일 편집(vi시작지 지정하지 않는 파일은 'n 파일이름'이로 지정하면 된다.)
rew: 이전 파일 편집(vim에선 prev를 사용해도 된다)
*현재 편집중인 파일을 저장해야 다음 파일을 수정할 수 있음에 주의
(불편한 편집이 아닐 수 없다.)
여러줄을 주석으로 처리할때
10줄을 주석기호 #을 사용하여 주석처리하려면 다음과 같이 하면 된다.우선, 첫째줄에 #를 붙이고, 두째줄로 넘어와 9.를 입력하면 된다.
.(period)는 마지막에 수행한 명령어를 반복하는 명령이다.
CentOS 부팅 USB 만들기
- 다운로드한 파일을 실행합니다.
- 다음과 같은 창이 나오면 적절히 설정합니다.
반응형
'LINUX > 명령어' 카테고리의 다른 글
리눅스 공인 IP 확인 (0) | 2020.12.18 |
---|---|
디렉토리/파일 개수 세기 (0) | 2020.11.17 |
리눅스 디스크 관리 툴 iostat (0) | 2020.04.21 |
프로세스명으로 프로세스 죽이기(killall, kill -9) (0) | 2020.03.23 |
현재 디렉토리의 크기만을 파악할때(du -c -h --max-depth=0 *) (0) | 2020.03.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 리눅스
- 인천시
- 라스트오리진
- 색칠공부
- 맛집
- DC 코믹스
- 신비의아파트
- 늘솔길공원
- 샘표
- 트와이스
- 에일리
- 항공권
- 물놀이터
- 이벤트
- CentOS
- raid5
- 물놀이장
- zabbix
- 용산역
- vlive
- 신용산역
- 도안
- 코로나19
- 신비아파트
- 캐시워크
- 모주귀
- 블랙핑크
- 자빅스
- 공원 폐쇄
- 이재명
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함