CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·주식한당 ·MaClien ·일본산당 ·방탄소년당 ·자전거당 ·개발한당 ·안드로메당 ·소시당 ·이륜차당 ·나스당 ·걸그룹당 ·바다건너당 ·골프당 ·스팀한당 ·임시소모임 ·노젓는당 ·클다방 ·패스오브엑자일당 ·물고기당 ·덕질한당 ·육아당 ·e북본당 ·키보드당 ·소셜게임한당 ·위스키당 ·콘솔한당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI당 ·AI그림당 ·날아간당 ·사과시계당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·디아블로당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·IoT당 ·KARA당 ·꼬들한당 ·어학당 ·가죽당 ·레고당 ·리눅서당 ·LOLien ·Mabinogien ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·PC튜닝한당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·가상화폐당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

리눅서당

서버/넷트웍 [ VIM ] 버퍼/탭/윈도우 차이점 설명 좀 부탁 드려 봅니다. 7

2019-10-19 16:49:19 수정일 : 2019-10-19 18:04:04 61.♡.141.216
전설속의미남님

1. 버퍼 및 탭 간에 어떠한 차이점이 있는 지 궁금합니다.

    저의 실질적인 이해는 하기와 같습니다. 제가 올바르게 이해하고 있는 지 궁금합니다.
      버퍼 - vim에서 읽어 들인 모든 화일의 리스트 (메모리적재)
      탭 - vim 화면에서 편집 가능하도록 TAB으로 열린 상태
      윈도우 - Tmux의 pane과 유사하나, 탭이 (윈도우)화면에 여러개 보일 수 있도록 된 상태

    구체적으로는 실행적인 탭을 닫아도, 버퍼는 그대로 유지 되는데 이러한 유용한 경우가 궁금합니다.
    간단한 추측은 대용량 화일 읽을 경우, 로딩 시간 단축 정도 일 거 같긴한데. 다른 이유가 있는 지 궁금합니다.  


2. 실제로 해당 사용 용도가 궁금하기는 합니다.

    버퍼 / 탭 / 윈도우를 굳이 구분해서, 실제로 사용하는 use-case 가 궁금하긴 합니다.

    해당 버퍼의 내용과 해당 버퍼를 사용하는 윈도우들의 내용이 모두 동일하면, 편집시에 자동으로 싱크되는 것으로 파악 됩니다.

      => 그렇다면 왜 굳이 동일한 내역을 보여주는 윈도우가 필요한지 궁금합니다.

   특정 작업에는 나름 매우 효율적일 거 같긴 한데, 좀 더 실질적인 활용 방법이 궁금하여 문의드립니다.


아시는 분의 조언 부탁 드려 봅니다.

감사합니다.

전설속의미남님 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [7]
나무포크
IP 59.♡.57.206
10-19 2019-10-19 22:30:02 / 수정일: 2019-10-20 10:13:47
·
항상 전설속의미남님 질문속에서 많은걸 배워갑니다. ^^ vim초보인데, 자주쓰는 기능의 단축키와 모드만 알아도,, 좋은 편집기인것 같아요.
전설속의미남님
IP 61.♡.141.216
10-20 2019-10-20 12:48:03
·
~.~ 같이 배워 가는 느낌이 좋네요
BlaCk
IP 220.♡.38.196
10-20 2019-10-20 04:33:00
·
탭을 많이 열어두면 전환이 힘드니까, 열어두긴 해야하는데 나중에 작업할 파일을 불러두는 용도라고 해야 될까요??
제 이맥스 기준으로는 탭을 그냥 버퍼 쓰는 것처럼 쓰긴 합니다...

윈도우는 탭그룹 정도로 생각하고, 가상 데스크톱 쓰는 것처럼 작업/프로젝트 단위로 쓰면 좋아요.
전설속의미남님
IP 61.♡.141.216
10-20 2019-10-20 20:42:52
·
댓글 감사합니다
아범테크
IP 211.♡.214.155
10-21 2019-10-21 12:38:21 / 수정일: 2019-10-21 13:35:48
·
구분하는 이유는 심플합니다: 탭이라는 개념이 없기 때문이죠.

vi는 1976년, 40년도 전에 나왔고, 60년대 있었던 ed를 개선하기 위해 나온 녀석입니다.
리눅스가 1991년에 나온 거 생각하면 엄청나게 오래 전 물건인 만큼 당시 프로그래밍 환경에 대해 이해해야합니다.

단적인 예로 보면 vim (를 포함한 대다수 터미널 프로그램들)을 보면 ctrl 키 조합만 있지 alt키, 시작키를 이용한 단축키 조합이 거의 없는걸 알 수 있는데, 당시에는 alt키,시작키가 키보드에 없었기 때문이죠.

우선 vim에서 해당 개념들을 공식문서에서 볼 수 있습니다: https://vimhelp.org/windows.txt.html#windows.txt

Summary:
A buffer is the in-memory text of a file.
A window is a viewport on a buffer.
A tab page is a collection of windows.

버퍼는 님이 생각하시는게 맞고,
윈도우는 버퍼 하나를 골라서 보여주는 역할을 하고 (님이 생각하시는 탭의 개념과 비슷합니다)
탭페이지는 ("탭"이 아닙니다) 여러개의 윈도우를 모아놓은 걸 말합니다. 여러개의 윈도우를 이름을 붙여서 (이걸 소위 "탭"이라고 불리죠) 화면 한곳에 몰아놓은 거죠.

윈도우와 탭페이지 용어가 님이 생각하시는 것과 정반대입니다. 거기다가 vim에서는 별도의 "탭"이라는 개념을 구분하지 없고, 단지 화면 바깥으로 치운 윈도우가 소위 "탭"처럼 보일 뿐입니다. 버퍼와 윈도우 라는 개념밖에 없어요. 참고로 탭페이지는 vim 버전 7, 2006년에 처음 도입된 최신기능(?!)이죠.

당시 vi과 vim의 발전역사를 상상해봅시다. 뇌피셜이지만 이해는 되도록 정리해볼게요.

1. 40년 전 쯤 처음에는 vi은 한마디로 "버퍼 조작기"이겠죠. 여러개의 파일 편집하기 편하게 버퍼라는 개념을 도입했는데, 윈도우는 딱 하나뿐이였겠죠. 그 하나뿐인 윈도우에서 버퍼들 중 하나를 고르고 버퍼를 조작하는 방식이겠죠.

2. 시간이 지나면서 터미널 화면도 커졌고 하니 화면을 가로/세로 분할해서 한 화면에 윈도우를 여러개 띄울 수 있게 vim을 업그래이드 했겠죠. 여전히 각각 윈도우는 버퍼들 중 하나를 골라서 띄워주는 역할이고요.

3. 그러다가 수많은 윈도우를 관리하게 됐는데, 잠시 보고싶지 않은 윈도우를 치우고 관리할 수 있도록 탭페이지라는 기능을 2006년에 추가했겠죠. https://vimhelp.org/version7.txt.html#new-tab-pages


당시에는 이름난 프로그래머가 주도해서 미래 환경까지 고려하면서 한번에 완성된 프로그램을 설계하지 않았습니다. 소위 "해커"라고 불리는 사람들이 자기가 편할거라고 생각하는 기능들을 원래 있는 프로그램에 덕지덕지 추가하는 방식이었죠. vi/vim도 40년 동안 그렇게 발전해온거고요.

GUI기반 텍스트에디터가 훨씬 더 흔한 요즘에는 이제와서 vim같은걸 보면 "버퍼랑 탭 기능은 왜 구분해놓지??" 같은 생각이 들고, 굳이 이유나 use-case를 대라고 하면 이해시키기 힘든게 많습니다. 그런데 당시 컴퓨터 환경과 발전역사를 상상해보면 충분히 자연스러운 결정들이라고 생각합니다.
전설속의미남님
IP 64.♡.125.230
10-21 2019-10-21 17:46:17
·
친절한 답변 감사합니다. 꾸벅
dante2k
IP 124.♡.163.162
10-23 2019-10-23 07:44:52
·
좋은 글, 잘 읽었습니다.
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.