기타

lazyvim

99duuk 2024. 11. 6. 17:05

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. 탭 1: a.java와 b.java를 열어둠.
  2. 탭 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