- Today
- Total
프로그래밍 농장
Linux [ vi editor ] 본문
vi editor란? -> 리눅스에서의 문서편집기
vi 파일명 --> 파일을 여는 명령어 ( 파일 수정 가능 )
이렇게 파일을 열어보았을떄, 윈도우에서는, 보통 마우스로 클릭만하면 그 위치로 커서가 이동하지만,
리눅스의 vi editor에서는 클릭이 먹히지않으므로 아래와같은 습관을 익혀줘야한다.
-vi editor로 열어본 파일안의 커서위치 이동명령어
한칸단위 이동 : h(좌),j(아래),k(위),l(우) 로 커서 이동
단어단위 이동 : w(다음단어의 첫자) , d(이전단어의 첫자) , e(다음단어의 끝자) 로 커서 이동
줄단위 이동 : 0(줄의 첫자), $(줄의 끝자)
문단단위 이동 :<현재화면기준> H(출력화면 첫자), M(출력화면 가운데) ,L(출력화면 끝자)
문서전체단위 이동 : gg(문서전체의 첫자) , G(문서전체의 끝자)
마크 이동 : 설정법 ex) m+ [문자] ==대,소문자 구분
이동 ex) `(grave) + [문자 ]
-수정 ( insert ) : i :현재 커서 위치부터 insert시작
a :한칸 우측으로 이동한다음에 입력시작
소문자o : 현재 커서가 위치한 라인 밑으로 빈라인 삽입 후, 입력 시작
대문자O : 위로 빈라인 삽입 후 입력 시작
== i, a, o 키를 누른 상태 : 입력모드 --->esc키를 누르거나 vi editor를 처음 열었을떄 --> 명령모드로 돌아가기
-삭제 ( delete ) : 소문자 x : (=윈도우의 delete와 동일 / 현재커서위치부터 삭제)
대문자 X : (=윈도우의 backspace와 동일 )
dd : 현재 커서위치의 줄을 삭제
숫자+dd : 입력한(숫자)만큼의 줄을 삭제
-복사 : yy : 현재 커서가 위치한 라인전체를 복사
숫자+yy : 현재 커서가 위치한 라인부터 지정한 수만큼 라인 복사
붙혀넣기1 : 소문자 p :현재 커서가 위치한 라인 다음라인으로 붙혀넣기 == 아래로 붙혀넣기
붙혀넣기2 : 대문자 P :현재 커서가 위치한 라인 전라인으로 붙혀넣기 == 위로 붙혀넣기
-찾기 : / , ? 사용
/찾을이름 --> 소문자'n' : 한줄씩밑으로가면서 정방향으로 보여줌 , 대문자 'N' : 역방향으로 보여줌
?찾을이름 --> 소문자'n' : 한줄씩밑으로가면서 역방향으로 보여줌 , 대문자 'N' : 정방향으로 보여줌
새파일 z 만들고 내용넣고 저장 후 찾기 까지해보기 .
이상태에서 insert의미를가진 i 를 누르면 내용입력 / 수정가능
내용 다 입력했으면 esc 한번눌러서 insert상태 나와주고 :w(저장) z - > z라는 이름으로 저장해주기
이후 vi z 입력해보면 z파일안의 내용을 잘띄워줌 .
-> :e 파일명 -> 불러오기 , 열기
-> :f 파일명 -> 문서 정보 확인하기
-> :r[파일명]
-> :r![명령어]
-줄 관련 명령어
:set nu -> 라인번호 출력하기
:set nonu -> 라인번호 숨기기
:커서이동할 라인번호
-실행모드 : [ / , ? : ] 들을 입력하고 작업하는 상태
:q : 문서 나가기
:w : 문서 저장
:w [저장할경로/[저장할이름] : 다른이름으로 저장
-> 보통 문서작업을 마칠떄는 위 두 명령어를 같이사용한다.
:wq : 문서저장하고 나가기
!가 뒤에 붙으면 강제 실행의 의미
-> ex) :q! -> 저장이든 뭐든 그냥 종료하겠다.
:enew : 현재 열려있는 문서창을 닫고 새문서(빈문서) 열기
-치환하기 : 찾아서 바꾸기
s : 해당줄을 지정하겠다는 명령어 ex) :10s --> 10번쨰 라인을 지정하겠다.
1.해당줄에서의 치환
:[범위]s/[old]/[new]/[option]
아래예시 : (현재 커서위치 : 10번쨰 줄 )
2. 직접지정한 출에서의 치환
치환시킬 문자열이 있는 라인을 직접 지정해서 치환하는 방식.
3. 영역 지정하여 치환하기
범위 구분시 , 사용
4. 전체 치환하기
전체범위 지정시 % 사용
+ 치환 작업시 , g 옵션을 사용하지 않으면 해당 라인에 조건에 맞는 문자열이 여러개일떄 첫번쨰 문자열만 치환한다.
치환작업시, g 옵션을 사용하면 조건에 맞는 모든 문자열을 치환시킬수있다
ex ) :%s/PASS/linux/g -> 파일내부 전체에서 모든 PASS를 linux로 변경하겠다.
+
.![명령어] : vi editor 를 잠시 내려놓은 상태에서 명령 실행
..![명령어] : 명령어 실행 결과를 현재 커서가 위차한 라인에 삽입 ( 원본 라인 사라짐에 주의 )
- vi editor에서 작업하다가 나가서 파일위치나 내용을 확인하고싶을떄는, 굳이 editor를 쓰지말고
아래처럼 :! 이후, 명령어를 입력해서 에디터를 잠깐 내려놓고 작업을 한다. 이후 엔터로 결과를 확인하고 ,다시한번 엔터를 누르면 에디터로 다시돌아온다.
+알고만있자( 실사용시 헷갈려서 비추 )
ctrl + w + n : 화면 수평 분할
ctrl + ww : 화면(문서)간 이동
'Linux' 카테고리의 다른 글
Linux [ 시스템 종료 명령 ] (0) | 2019.10.24 |
---|---|
Linux [ 사용자 관련 파일 /디렉토리 ] (0) | 2019.10.24 |
Linux [ 리눅스의 명령어들2 ] (0) | 2019.10.22 |
Linux [ 리눅스의 명령어들 ] (0) | 2019.10.21 |
Linux [ vmware / iso 오류 해결방법 || The CPU has been disabled by the guest operating system. Power off or reset the virtual machine. ] (0) | 2019.10.21 |