it-swarm-ko.tech

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

vim 2011-12*.log와 같은 방법으로 vim를 사용하여 여러 파일을 열 수 있다는 것을 알고 있지만 파일간에 전환하고 한 번에 하나씩 파일을 닫을 수 있습니까? 또한 편집중인 현재 파일의 파일 이름을 어떻게 알 수 있습니까?

178
cwd

우선, vim에 들어가면 : (콜론)을 누른 다음 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
187
bsd

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

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

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

61
Hanan N.

버퍼 간 전환 명령 :

: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

42
Birei

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

:sp
:vsp

:vsp는 세로 분할입니다. 그런 다음 Ctrl+W <ARROW_KEYS> 창에서 이동합니다.

30
Not Now
:n -> Move to next file
:N -> Move to previous file
15
diham

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

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

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

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

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

우와!

13
xtian
argadd a/b c/d e/f

argadd ...는 모든 파일을 인수와 :ls/:buffers에 추가하고 편집 할 수 있도록합니다.


:h arglsit & :h argedit & :h argsd를 참조하십시오.


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

6
Dylan

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

vim -p file1.txt file2.txt

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

:tabe file2.txt

탭을 연 후에는 gt를 사용하여 다음 탭을보고 gT를 사용하여 이전 탭을보십시오.

1gt를 사용하여 첫 번째 탭으로 이동하고 2gt를 사용하여 두 번째 탭으로 이동할 수도 있습니다.

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

마지막으로 현재 탭을 :ntabm를 사용하여 nth 위치로 옮길 수 있습니다. 여기서 n0보다 크거나 같은 숫자입니다.

6
Cory Klein

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

vim first_file second_file ...

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


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

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

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

vim -d first_file second_file ...

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

1
aleroy

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

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

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

예 : 오른쪽에서 파일보기 또는 테스트 실행, 왼쪽에서 테스트 및 소스 파일 편집 : enter image description here

1
Michael Durrant

두 개의 열린 파일 간을 전환하려면 :e #(filename)

이전 파일의 :p

다음 파일을위한 :n

0
bala selvam