Script untuk membuka sesi terminal khusus


0

Saya tidak yakin apakah judulnya melampaui apa yang ingin saya lakukan, tetapi ini dia:

Saya sedang mengerjakan proyek python yang melibatkan banyak kelas. Saya menggunakan Terminal Vim untuk melakukan pengeditan saya.

Seperti yang dapat Anda bayangkan, sulit untuk membuka 10 tab terminal yang berbeda, memberi judul dan membuka file yang benar di dalamnya secara manual.

Saya ingin membuat skrip yang menggunakan vim untuk membuka semua file dalam direktori di berbagai tab dalam jendela yang sama. Saya ingin script untuk judul tab sebagai nama file yang dibuka.

Saya menggunakan terminal gnome.

Secara logis saya tahu bagaimana saya bisa melakukannya tetapi sepertinya saya tidak dapat menemukan perintah yang saya butuhkan.

Sepertinya saya akan dapat melakukan apa yang saya tidak inginkan dengan perintah gnome-terminal, tapi sepertinya saya tidak bisa membuatnya berfungsi dengan benar.

EDIT: vim -p * sangat membantu, tetapi saya ingin menemukan solusi yang melakukan persis seperti yang saya jelaskan di atas. Memiliki masing-masing file di tab TERMINAL sendiri akan memungkinkan saya untuk Buka / Tutup / sementara menangguhkan mereka secara individual dan secara umum akan memberikan lebih banyak kenyamanan.

Jawaban:


1

Jika saya memahami pertanyaan Anda dengan benar, apa yang Anda inginkan adalah opsi -p. vim -p * akan membuka semua file di direktori saat ini di tab mereka sendiri di jendela yang sama.


Hancurkan saja pikiranku.
Luke

Saya senang bisa membantu. ;)
WrathOfTux

0

Setelah mencari-cari sedikit saya bisa melakukan apa yang saya inginkan dengan skrip perl sederhana:

Saya menutup telepon sebelumnya karena saya tidak bisa membuka tab di jendela yang sama. Saya sekarang menyadari bahwa perintah dibangun untuk membuat instance baru dari jendela terminal.

Begitu:

gnome-terminal --tab-with-profile=def 

tidak akan membuka tab baru seperti yang saya inginkan, tetapi akan membuka jendela baru (def adalah nama profil saya)

TAPI:

gnome-terminal --tab-with-profile=def --tab-with-profile=def

AKAN membuka 2 tab dalam satu jendela (bukan jendela saya saat ini, yang baik-baik saja)

Saya bisa memberi mereka judul dan menjalankan perintah untuk:

gnome-terminal  --tab-with-profile=def --title="foo" -e "vim foobar.txt"

membuka jendela baru (tab tunggal), membuka foobar.txt di vim dan judul tab untuk saya

Dengan mengingat hal ini, saya dapat menulis program berikut:

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`

0

Anda mungkin ingin melihat alat unix 'layar'. Ini adalah terminal "multiplexer" yang membuka banyak terminal melalui satu koneksi (ssh, telnet, atau lokal). Dapat dikonfigurasi untuk secara otomatis membuka banyak shell atau perintah (mis. Vim, atas, dll) di layar yang berbeda dengan koneksi baru. Itu juga dapat mempertahankan sesi di seluruh terputus, jadi jika Anda berada di tengah mengedit dokumen dan ISP Anda keluar selama beberapa menit, Anda dapat langsung kembali ke suntingan.

ssh + layar + emacs = menang!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.