VIM에서 여러 파일을 편집하려면 어떻게해야합니까?


답변:


170

우선, 정력에 입력 할 수 있습니다 :(콜론)과 도움 help, ALA를 :help짧은 튜토리얼을 포함하여 자기 도움말 항목의 목록. 주제 목록 내에서 커서를 관심 주제 위로 이동 한 다음를 누르면 ctrl]해당 주제가 열립니다.

시작하기에 좋은 곳은 주제 일 것입니다

|usr_07.txt|  Editing more than one file

좋아, 당신의 대답에.

파일 목록으로 vim을 시작한 후 :next또는 :n짧게 입력하여 다음 파일로 이동할 수 있습니다 . :wnext현재 변경 사항을 작성하고 다음 파일로 이동합니다.

이 유사한 또한이다 :previous, :wprevious:Next. (즉, 주 :p속기이다 :print. 속기를위한 :previous것이다 :prev또는 :N).

파일 목록에서 :args현재 위치를 확인하려면 입력 하고 현재 편집중인 파일이 [](괄호)에 나타납니다 .

예:

vim foo.txt bar.txt
:args

결과:

[foo.txt] bar.txt

24
: wn은 : wnext의 축약 형입니다.
Kowh

: rew를 수행하여 첫 번째 파일로 돌아갈 수도 있습니다. : e #는 두 파일 사이를 교환합니다. :엔! 쓰지 않고 다음 파일로갑니다. : set autowrite를보십시오.
Sasquiha

4
여러 버퍼 / / 과 관련하여 StackOverflow의 Vim에서 여러 파일로 효과적으로 작업하는 방법을 참조하십시오 . 버퍼와 같은 빔의 탭을 사용 .
mmoya 2012

1
22 장 "편집 할 파일 찾기"도 매우 유용합니다. 디렉토리 탐색기를 사용하여 원하는 파일을 편집합니다.
Harry Moreno

: 멋진 하나.
rammayur 2016 년

54

vim이 열려있는 동안 다른 파일을 열고 입력 한 다른 파일 :tabe filename로 전환 :tabn하거나 :tabp그에 따라 다음 및 이전 파일로 전환 할 수 있습니다 .

키보드 단축키 gTgt 를 사용하여 편집 모드가 아닌 경우 (예 : 삽입, 교체 등의 모드가 아님) 탭을 전환 할 수도 있습니다. 일부 시스템에서 Ctrl+ Alt+ Page UpCtrl+ Alt+ Page Down는 탭 전환도 허용하지만 항상 작동하지는 않습니다 (예를 들어 OS X 터미널 'out of the box'에서는 작동하지 않음).

그리고 당신은 vim 앱의 상단에 파일 이름을 볼 수 있습니다.


16
이. 와 탭에서 또한 열려있는 파일 :vim -p file1 file2
아니 지금

몹시 놀라게 하다! 몇 년 동안 vim을 사용해 왔음에도 불구하고 나는 이것을 결코 보지 못했습니다. 이것으로 모든 것이 바뀝니다 .
me_and

탭은 여러 파일에 사용할 수 없습니다. 여러 레이아웃 에서 작동하도록 설계되었습니다 . 기사를 참조 하십시오 .
patryk.beza

5
따로 : 이미 vim에 있고 다른 파일을 추가하려면 :argadd filename다음 :next을 사용할 수 있습니다 . 마찬가지로, :argdel filename편집중인 파일 중 하나를 제거 하는 데 사용할 수 있습니다 .
Luv2code

36

버퍼 간 전환 명령 :

:bf            # Go to first file.
:bl            # Go to last file
:bn            # Go to next file.
:bp            # Go to previous file.
:bw            # Close file.

:help buffer 더 많은 정보를 찾기 위해

파일 이름 사용을 알고 Ctrl+ G, :file또는:f


1
:bw파일 haha를 닫습니다. :bw무엇을하고 있는지 아는 경우에만 사용해야한다는 내용의 도움말을 반드시 읽으십시오 . 큰 문제는 아니지만 파일에 대한 모든 표시와 정보를 지우고 싶지 않다면 더 잘 사용 :bd하거나 :q평범한 사람처럼 사용하십시오
Dylan

1
에 대한 자세한 정보를 원하시면 :bw경우에 당신은 호기심 : vi.stackexchange.com/questions/2212/...
wisbucky

25

주어진 답변 외에 다른 옵션은 다음과 같이 창을 분할하는 것입니다.

:sp
:vsp

:vsp수직 분할 용입니다. 그런 다음을 사용 Ctrl+W <ARROW_KEYS>하여 창으로 이동하십시오.


4
:vs대신 사용할 수 있습니다:vsp
Khaja Minhajuddin

2
또는 Ctrl+W, v세로 분할 및 Ctrl+W, s가로 분할에도 사용할 수 있습니다.
Ruslan

1
CTRL+W몇 년 동안 사용해 왔으며 최근에는 웹 페이지 내에서 VI 편집을 많이합니다. 매번, 나는 생각조차하지 않고 명령을 입력하고 ... whammmm ... 브라우저 탭은 사라졌습니다! 나는 계속 잊고있다. 나는 새로운 지름길을 배워야한다.
Jeach

13
:n -> Move to next file
:N -> Move to previous file

10

수퍼 유저에게 비슷한 질문을했습니다.

"다른 bash 창과 VI로 연 파일 사이에 복사하여 붙여 넣는 방법"

내 질문에 대한 대답은 할 수 없었지만 VIM의 :split명령을 사용하여 하나의 bash 창에서 두 파일을 열 수 있습니다 .

  1. 로 파일을 $ vim file1열고 :split file2명령을 사용하여 VIM 내에서 두 번째 파일을 엽니 다 .
  2. 또는 $ vim -o file1 file2bash 에서 사용하십시오 .
  3. 파일 사이의 전환 - 활성 파일을 전환 - VIM에로 ctrl- w ctrl- w.
  4. 그런 다음 예제 작업은 file1에서 복사 (또는 yank) yy, 스위치 (3), p내용을 file2에 붙여 넣기 (또는 넣기) 입니다.
  5. 다른 창이 활성화되면 :q종료되고 :q!강제 종료됩니다.

내 bash는 검은 색과 흰색이므로 각 화면의 파일 이름은 인용 된 파일 이름과 함께 '선택된'역행으로 스타일이 지정됩니다.

우와!


6

여러 파일을 편집하는 가장 편리한 방법은 탭을 사용하는 것입니다. 다음과 같이 명령 행을 통해 별도의 탭에서 여러 파일을 열 수 있습니다.

vim -p file1.txt file2.txt

또는 이미 vim을 연 경우 다음과 같이 새 탭에서 새 파일을 열 수 있습니다.

:tabe file2.txt

탭이 열리면을 사용 gt하여 다음 탭 gT을보고 이전 탭을 봅니다.

당신은 또한에 첫 번째 탭으로 이동할 수 1gt와 두 번째 탭 2gt

사용하여 탭을 닫을 수 있습니다 :tabc

마지막으로 당신은 현재 탭을 이동할 수 n와 일 위치 :ntabm어디에 n어떤 수보다 크거나 같다 0.


6
argadd a/b c/d e/f

argadd ...모든 파일을 args에 추가하고 :ls/에 추가 :buffers하여 편집 할 수 있습니다.


참조 :h arglsit& :h argedit&:h argsd


또한을 사용하여 args에 대해서만 특정 작업을 수행 :argdo ...할 수 있으며을 수행하여 args로 새로 시작할 수 있습니다 :argsd*.


0

그렇게하는 많은 방법이 있습니다. 덜 편리한 첫 번째 방법은 vim편집하려는 파일 을 호출 하여 작성하는 것입니다.

vim first_file second_file ...

두 파일을 두 개의 버퍼에서 호출합니다. 파일에서 다른 파일로 전환하려면 :n및을 사용하십시오 :N. 편집중인 파일을 나열하려면 :args작업을 수행하십시오. :help buffer이것에 더 도움이 될 것입니다.


이것은 귀하의 질문에 대답해야합니다. 그러나 자세한 내용은 다음과 같습니다.

vim을 사용하여 콘솔 화면을 분할하여보다 편리한 방식으로 파일을 편집하는 방법이 있습니다 . 이렇게하려면 vim 을 사용하는 동안 :split( :sp) 또는 :vsplit( :vs)로 두 프레임을 엽니 다 . 그런 다음 + > + 조합을 사용하여이 프레임을 탐색하십시오 . 당신은 또한 사용할 수 있습니다 + + 화살표 또는 키 ( , , 또는 다음 프레임에 대응을). 이 작업이 끝나면를 사용하여 원하는 파일을 편집하십시오 . 이것에 더 도움이 될 것입니다.CtrlWCtrlWCtrlWHJKL:e file_name:help opening-window

이제 파일 간의 차이점을 보려면 -d인수를 사용 하거나 해당 파일과 함께 vimdiff 프로그램 (동일 함)을 호출하십시오 . :help diff이것에 더 도움이 될 것입니다.

vim -d first_file second_file ...

문제가 있으면 알려주세요.


0

여러 파일을 편집하기 위해 가로 및 세로 분할 창을 사용하고 싶습니다.

tmux를 사용하여 해당 창을 더 쉽게 관리합니다.

https://tmux.github.io/ "터미널 멀티플렉서 란 무엇입니까? 한 터미널에서 여러 프로그램을 쉽게 전환하고 분리하여 (백그라운드에서 계속 실행) 다른 터미널에 다시 연결할 수 있습니다. 더 많이. 설명서를 참조하십시오. "

예 : 오른쪽에서 파일보기 또는 테스트 실행, 왼쪽에서 테스트 및 소스 파일 편집 : 여기에 이미지 설명을 입력하십시오


0

:e #(filename) 열린 두 파일 사이를 전환

:p 이전 파일

:n 다음 파일


U & L에 오신 것을 환영합니다. 이것은 몇 년 전에 게시 된 다른 답변에 거의 아무것도 추가하지 않습니다.
Archemar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.