vscode에서 f12도 제대로 안먹고 이래저래 vue하는데 불편함이 많을다 였다.
webStrom도 써봤는데 인텔리제이랑 비슷해서 별로였다. (본인은 프론트는 밝은 테마 vscode, 백은 기본 인텔리제이 썼음. 프론트백 따로따로 단축키도 분리해서 쓰는 게 좋음)
예전에 써보려다가 이번에 입문해봄
Neovim에서 탭마다 버퍼가 독립적으로 존재하지 않음. 모든 탭은 전체 Neovim 인스턴스에서 공유되는 동일한 버퍼 목록을 사용함.
요약하자면:
- 버퍼는 파일을 메모리에 로드한 상태이며, Neovim 인스턴스 전체에서 전역적으로 관리됨. 모든 탭이 동일한 버퍼 목록을 공유함.
- 탭은 단지 화면 레이아웃을 관리하는 용도이며, 각 탭은 여러 창(Window) 배치를 독립적으로 구성할 수 있지만 버퍼는 공유됨.
예를 들어, 탭 1에서 a.java와 b.java를 열어두고, 탭 2에서 c.java와 d.java를 열어도 모든 탭이 동일한 버퍼 목록(a.java, b.java, c.java, d.java)을 가지고 있음. 각 탭에서 열려 있는 창의 레이아웃만 다를 뿐, 버퍼는 모든 탭에서 접근 가능함.
예시로 설명:
- 탭 1: a.java와 b.java를 열어둠.
- 탭 2: c.java와 d.java를 열어둠.
이 경우, :ls 명령어를 입력하면 모든 탭에서 동일한 버퍼 목록이 표시됨(a.java, b.java, c.java, d.java).
따라서, Neovim에서 각 탭은 버퍼의 독립된 집합을 가지는 것이 아니라, 전역적으로 동일한 버퍼 목록을 참조함.
. Neovim에서의 창(윈도우), 버퍼, 탭의 개념
- 버퍼(Buffer):
- Neovim에서 메모리에 로드된 열린 파일을 의미함.
- 파일을 열거나 새 파일을 만들면 버퍼가 생성되며, 모든 탭에서 공통으로 사용되는 전역적인 개념임.
- 버퍼 간 전환이 일반 에디터에서 탭 전환과 비슷하게 작동함.
- :ls 명령어로 열려 있는 모든 버퍼 목록을 볼 수 있으며, :bnext, :bprevious로 다음/이전 버퍼로 이동할 수 있음.
- 창(Window):
- Neovim에서 버퍼를 보여주는 화면 영역임.
- 하나의 버퍼가 여러 창에 동시에 표시될 수 있음.
- 창은 수평 또는 수직으로 분할할 수 있으며, 각 창은 독립적인 커서를 가짐.
- 창 간 전환은 Ctrl-w와 방향키(h, j, k, l)를 사용하여 가능함.
- 탭(Tab):
- Neovim에서 화면 레이아웃을 관리하는 단위로, 여러 창의 배열을 그룹화하여 보여주는 단위임.
- 각 탭은 독립적인 창의 배열을 가지지만, 모든 탭은 동일한 버퍼 목록을 공유함.
- :tabnew로 새로운 탭을 열 수 있고, gt와 gT로 탭 페이지 간 이동이 가능함.
2. Neovim에서 창, 버퍼, 탭 간 이동
- 버퍼 이동:
- 다음 버퍼로 이동: :bnext 또는 Shift + l (설정이 되어 있을 때)
- 이전 버퍼로 이동: :bprevious 또는 Shift + h (설정이 되어 있을 때)
- 특정 버퍼로 이동: :buffer <버퍼 번호>
- 탭 이동:
- 다음 탭으로 이동: gt
- 이전 탭으로 이동: gT
- 특정 탭으로 이동: Ngt (예: 3gt는 세 번째 탭으로 이동)
- 창 간 이동:
- 수평, 수직으로 나뉜 창 간 이동: Ctrl-w + 방향키 (h, j, k, l)
- 트리 뷰가 열린 상태에서 트리 뷰와 파일 창 간 이동: Ctrl-w h (트리 뷰로 이동), Ctrl-w l (파일 창으로 이동)
3. 파일/버퍼 관리
- 새 버퍼 추가:
- 새로운 파일 열기: :e <파일명>
- 빈 버퍼 열기: :enew
- 창을 분할하며 파일 열기:
- 수평 분할: :split <파일명>
- 수직 분할: :vsplit <파일명>
- 탐색 플러그인으로 파일 열기:
- spacebar + e와 같은 단축키를 사용해 파일 트리 플러그인을 열고, 여기에서 파일을 선택하면 새로운 버퍼로 파일이 열림.
4. 예시로 본 구성
- 탭을 활용한 예시 구성:
- 탭 1: a.vue, b.vue 버퍼가 열려 있음.
- 탭 2: c.vue, d.vue 버퍼가 열려 있음.
- 좌측에 파일 트리 플러그인 (spacebar + e로 열 수 있음)
- 탭과 버퍼 간 이동:
- 각 탭 내에서 버퍼 전환: Shift + l (다음 버퍼), Shift + h (이전 버퍼)
- 탭 페이지 간 전환: gt (다음 탭), gT (이전 탭)
- 트리 뷰와 파일 창 간 전환: Ctrl-w h (좌측으로 이동), Ctrl-w l (우측으로 이동)
- 버퍼는 열린 파일이고, 탭은 창 배열을 저장하는 작업 공간임. 버퍼는 탭 간에 공유되며, Neovim에서 파일을 편집하는 기본 단위임.
- 탭은 각기 다른 작업 레이아웃을 관리하는 용도로 활용할 수 있지만, 버퍼는 모든 탭에서 공통으로 관리됨. 각 탭에서 특정 버퍼만 보려면, 필요 없는 버퍼를 해당 창에서 닫아야 함.
- 각 탭을 독립된 프로젝트 환경으로 유지하고 싶다면, 세션 관리 플러그인이나 Neovim의 세션 기능을 활용할 수 있음.
탭 2에 창 두개 창으로 분할
탭 1에 한 개 창
. 다음 탭으로 이동:
- gt : 다음 탭으로 이동.
- :tabn 또는 :tabnext : 다음 탭으로 이동하는 명령어.
2. 이전 탭으로 이동:
- gT : 이전 탭으로 이동.
- :tabp 또는 :tabprevious : 이전 탭으로 이동하는 명령어.
3. 특정 탭으로 이동:
- Ngt : N 번째 탭으로 바로 이동 (예: 3gt는 세 번째 탭으로 이동).
- :tabfirst : 첫 번째 탭으로 이동.
- :tablast : 마지막 탭으로 이동.
4. 탭 목록 확인:
- :tabs : 현재 열려 있는 모든 탭의 목록을 표시.
맨 위로 : gg
맨 밑으로 : G
페이지 단위로 이동하기:
- 화면 내리기: Ctrl + f (한 화면 아래로 이동)
- 화면 절반 내리기: Ctrl + d (절반 화면 아래로 이동)
- 화면 올리기: Ctrl + b (한 화면 위로 이동)
- 화면 절반 올리기: Ctrl + u (절반 화면 위로 이동)
잘라내기 : d
붙혀넣기 : p
1. 단어 단위 이동
- 다음 단어의 시작으로 이동: w
- 이전 단어의 시작으로 이동: b
- 다음 단어의 끝으로 이동: e
2. 특정 문자로 이동
- 라인 내에서 특정 문자로 이동: f와 F
- f<char>: 현재 줄에서 오른쪽 방향으로 <char> 문자를 찾고 그 위치로 이동합니다.
- F<char>: 현재 줄에서 왼쪽 방향으로 <char> 문자를 찾고 그 위치로 이동합니다.
- 특정 문자 앞으로 이동: t와 T
- t<char>: 현재 줄에서 오른쪽 방향으로 <char> 문자 앞으로 이동합니다.
- T<char>: 현재 줄에서 왼쪽 방향으로 <char> 문자 앞으로 이동합니다.
3. 라인의 시작과 끝으로 이동
- 라인의 맨 앞으로 이동: 0 또는 ^ (들여쓰기를 무시하고 첫 글자로 이동)
- 라인의 맨 끝으로 이동: $
4. 화면 이동 (화면 내에서 빠르게 스크롤하는 경우)
- H: 화면의 맨 위로 커서 이동
- M: 화면의 중간으로 커서 이동
- L: 화면의 맨 아래로 커서 이동
'기타' 카테고리의 다른 글
tar와 zip의 차이 (2) | 2024.12.06 |
---|---|
시놀로지 web station - docker 연동 (0) | 2024.12.02 |
font-size (0) | 2024.11.15 |
Role과 Privilege (0) | 2024.11.01 |
Git Push 오류 - fatal : the remote end hung up unexpectedly (0) | 2024.10.28 |