vim 에디터
modes
- normal mode
: Text-based 에서는 GUI 메뉴가 없으므로 short-cut으로 구현해야한다.
- insert mode
- command-line mode
- visual mode
buffer : delete, cut
삭제
vi에서의 삭제 = 임시 버퍼에 잘라내기
붙여넣기 paste
- p : put, 현재 행에 붙여 넣기.
- pu : 개행 문자가 포함된 경우에는 현재 행의 아래에 붙여 넣는다
*복사 copy *
- yy / :y / Y
- y : 행 단위 복사
undo / redo
- U : undo (u를 꾹 누르면 모든 수정된 결과가 되돌아감.)
- CTRL + R : redo
vim
- vi
vi 호환의 vim. vim종류중에 가장 적은 기능 (compact vim , tiny vim) - vim
일반적인 vim. vi 추가적인 기능과 플러그인 사용이 가능. (enhanced vim으로 프로그래밍에도 많이 사용된다) - vimx
가장 많은 기능을 가진 vim. vim + clipboard, X window clipboard 기능이 포함된다.
vi, vim, vimx : package name
레드햇 계열 데비안 계열이 서로 패키지 이름과 실행 파일이 다르다. 데비안 계열은 더 많은 vim 베리에이션이 존재한다.
vim error
파일을 중복해서 오픈한 경우 발생할수있는 에러의 종류 2가지
CASE 1
파일을 다른 터미널에서 동시에 열었다면 '스왑 파일이 이미 존재합니다'라는 에러 메세지를 볼 수 있다. vim이 swap 파일을 이용해서 작업을 하기 때문이다. 예를 들어, CTRL + Z 명령어로 프로세스를 stop 시키고 다른 작업을 하다가 이런 에러가 생길수도 있다. 그래서 어떻게 해결해야하는지 알아야 한다.
still running 은 해당 프로세스가 살아있다는 뜻으로 서로 같은 작업을 중복했다는 뜻이다. 서로 한 파일을 경쟁적으로 점유하는 상태임을 알 수 있다.
이 경우 read only 혹은 quit 명령 으로 해결할수있다.
CASE 2
네트워크가 끊어졌을때 에러 메세지에서 still running이 사라진다. 이때는 해당 프로세스가 작업하다가 어떤 이유로 네트워크 라인이 끊어졌을수도있고 프로세스 자체의 버그때문에 프로세스가 강제로 종료됐을수도있다. → (R)ecover 이후 delete하는 방식으로 해결한다
vim crash로 swapfile이 제거되지 못한 경우 : 복구가 잘못됐을때를 생각해서 swap 파일은 직접 제거 하지 않는 이상 남아있다. 이미 복구하고 파일을 열었는데 에러 페이지가 또 나오면 → (D)elete명령어
file 관련 기능
buffer, register
- buffer : 파일을 편집하기 위한 임시 공간
- register : 텍스트 일부를 저장하고 있는 임시 공간 (ctrl+c, ctrl+v 이 데이터는 레지스터에 있다)
파일 저장
- :w [filename]
- :sav file
- :up
- :x : up + quit (일반모드에서는 ZZ) 저장하지않고 종료
netrw
: vim으로 디렉터리 열기
창 분할 (split)
- 수평 : <CTRL + W> s / :sp [filename]
- 수직 : <>
💡여기서 <CTRL + W> 하고 hjkl 이동키 쓰면 창 방향 마음대로 바꿀수있다! - diff : 소스 코드 비교할때, 설정파일 비교할때 사용하면 유용하다
'CS Study > Linux' 카테고리의 다른 글
리눅스 강의 정리 #4 (0) | 2021.02.07 |
---|---|
리눅스 강의 정리 #2 (0) | 2021.01.31 |