
제목이 제가 원하는 내용을 전달했는지는 확실하지 않지만 다음과 같습니다.
저는 많은 클래스가 포함된 Python 프로젝트를 진행하고 있습니다. 편집 작업에는 Terminal Vim을 사용합니다.
상상할 수 있듯이 10개의 서로 다른 터미널 탭을 열고 제목을 지정한 다음 올바른 파일을 모두 수동으로 열어야 하는 것은 고통스러운 일입니다.
vim을 사용하여 동일한 창 내의 다른 탭에 있는 디렉터리의 모든 파일을 여는 스크립트를 만들고 싶습니다. 스크립트에서 열려는 파일 이름으로 탭 제목을 지정하고 싶습니다.
나는 그놈 터미널을 사용합니다.
논리적으로는 어떻게 할 수 있는지 알고 있지만 필요한 명령을 찾을 수 없는 것 같습니다.
gnome-terminal 명령으로 내가 원하지 않는 일을 할 수 있을 것 같지만 제대로 작동하게 할 수는 없는 것 같습니다.
편집하다:vim -p *가 도움이 되지만 위에서 설명한 것과 정확히 일치하는 솔루션을 찾고 싶습니다. 각 파일을 자체 터미널 탭에 두면 파일을 개별적으로 열기/닫기/일시 중지할 수 있으며 일반적으로 더 편리합니다.
답변1
귀하의 질문을 올바르게 이해했다면 원하는 것은 -p 옵션입니다. vim -p *는 현재 디렉터리의 모든 파일을 동일한 창의 자체 탭에서 엽니다.
답변2
잠시 살펴본 후 간단한 Perl 스크립트를 사용하여 원하는 작업을 수행할 수 있었습니다.
같은 창에서 탭을 열 수 없어서 이전에 전화가 끊겼습니다. 이제 터미널 창의 새 인스턴스를 생성하기 위해 명령이 작성되었다는 것을 깨달았습니다.
그래서:
gnome-terminal --tab-with-profile=def
내가 원하는 대로 새 탭이 열리지 않고 새 창이 열립니다(def는 내 프로필 이름입니다).
하지만:
gnome-terminal --tab-with-profile=def --tab-with-profile=def
하나의 창에 2개의 탭이 열립니다(단, 현재 창은 열리지 않습니다. 괜찮습니다).
제목을 지정하고 다음 명령을 실행할 수 있습니다.
gnome-terminal --tab-with-profile=def --title="foo" -e "vim foobar.txt"
새 창(단일 탭)을 열고 vim에서 foobar.txt를 열고 탭 제목을 지정합니다.
이를 염두에 두고 다음 프로그램을 작성할 수 있었습니다.
workTime.txt:
#!/usr/bin/perl
use v5.14;
my $wd = '/home/luke/Pokemon-Battle-Simulator';
chdir($wd);
opendir(DIR,$wd);
my @files = readdir(DIR);
my $cmd = 'gnome-terminal';
my $tab = ' --tab-with-profile=def';
for my $file(@files)
{
if (($file ne ".") and ($file ne ".."))
{
my $title = '--title=' . $file;
my $e = "-e 'vim " . $file . "'";
$cmd .= join(' ', $tab, $title, $e);
}
}
print $cmd;
`$cmd`
답변3
'screen' 유닉스 도구를 살펴보고 싶을 수도 있습니다. 단일 연결(ssh, telnet 또는 로컬)을 통해 여러 터미널을 여는 터미널 "멀티플렉서"입니다. 새로운 연결을 통해 여러 화면에서 여러 셸이나 명령(예: vim, top 등)을 자동으로 열도록 구성할 수 있습니다. 또한 연결이 끊긴 후에도 세션을 보존할 수 있으므로 문서를 편집하는 중에 ISP가 몇 분 동안 중단된 경우 바로 편집 작업으로 돌아갈 수 있습니다.
ssh + 스크린 + emacs = 승리!