Mencari terminal layar penuh yang terpusat

8

Di luar sana ada beberapa 'editor bebas gangguan' yang berbeda untuk menulis: ini menyediakan lingkungan layar penuh, minimal dengan tujuan memaksa diri untuk fokus pada tugas yang dihadapi.

Saya ingin melakukan sesuatu yang serupa vim. Meskipun saya cukup menjalankannya di terminal dan kemudian tekan F11 untuk meletakkannya ke layar penuh, saya juga ingin membatasi lebar menjadi sekitar 75 karakter dan menempatkan area yang saya gunakan di tengah.

Pikirkan tentang bagaimana pengolah kata menyediakan halaman virtual di tengah program - itulah yang saya inginkan. Semacam.

Apakah ada cara untuk melakukan ini, baik dengan program terminal khusus atau dengan beberapa pengaturan di vim? Jika salah satu program vim GUI memiliki kemampuan ini, atau jika ada cara lain untuk melakukannya yang belum saya pikirkan, itu juga akan menjadi jawaban yang berguna.

Evilsoup
sumber

Jawaban:

12

Jika Anda memulai screendengan dimaksimalkan xterm( Alt-Enterdalam xterm) sebagai:

screen -c this-file

Dimana this-fileberisi:

focusminsize 75 25
split -v
focus
only
split -v
split -v
focus

Anda akan mendapatkan lebar bagian tengah 75.

Stéphane Chazelas
sumber
Ini sangat dekat dengan sempurna, terima kasih. Ini menempatkan batas putih di sekitar area aktif dan di sepanjang bagian bawah terminal; apakah Anda tahu jika ada cara untuk menyingkirkan itu?
evilsoup
Ini tidak berhasil untuk saya.
slm
1
RE: komentar saya sebelumnya, jawaban untuk menyingkirkan perbatasan dapat ditemukan di pertanyaan SU ini . Saya meletakkan baris di saya .screenrc, jadi default saya screenakan menggunakan semua perintah di sini. Berfungsi sempurna untuk saya di Ubuntu 13.04, gnome-terminalversi 3.6.1 (dan pada xterm dan guake) dan screenversi 4.00.03jw4. Terima kasih!
evilsoup
Saya menggunakan Fedora 14 dan gnome-terminal versi 2.32.0. Versi layar 4.00.03. xterm -v, 6.8.99.903. Tidak berfungsi di sana.
slm
Mencobanya di Ubuntu 13.04 bekerja di sana. Saya sekarang melihat apa yang dilakukannya. Ada 3 panel, terbagi rata, dan fokus ada di tengah.
slm
1

Alternatifnya adalah menggunakan program seperti devilspieuntuk mencapai ini. Jika Anda belum pernah mendengar devilspie:

kutipan

Utilitas pencocokan jendela, terinspirasi oleh opsi “Matched Windows” Sawfish dan kurangnya fungsionalitas di Metacity. Metacity tidak memiliki window matching bukan hal yang buruk - Metacity adalah lean window manager, dan window matching tidak harus menjadi tugas window manager.

Devil's Pie dapat dikonfigurasikan untuk mendeteksi windows saat dibuat, dan mencocokkan window dengan seperangkat aturan. Jika jendela cocok dengan aturan, ia dapat melakukan serangkaian tindakan di jendela itu. Sebagai contoh, saya dapat membuat semua jendela yang dibuat oleh X-Chat muncul di semua ruang kerja, dan jendela Gkrellm1 utama tidak muncul di pager atau daftar tugas.

Itu harus di repo kebanyakan distro.

Contoh

Jadi untuk memusatkan xtermjendela vimdi dalamnya Anda akan melakukan hal berikut.

  1. Buat konfigurasi Pie Iblis Anda. dir.

    $ mkdir ~/.devilspie
    
  2. Buat .dsfile yang menentukan Anda aturan Devil's Pie

    $ cat ~/.devilspie/something.ds 
    (if
        (matches (application_name) "vim")
        (begin
            (geometry "600x400")
            (center)
        )
    )
    
  3. Lari devilspie. Saya suka menjalankannya mode debug ( -d) untuk memulai.

    $ devilspie -d
    Devil's Pie 0.22 starting...
    Loading /etc/devilspie
    /etc/devilspie doesn't exist
    Loading /home/saml/.devilspie
    Loading /home/saml/.devilspie/something.ds
    1 s-expressions loaded.
    
  4. Jalankan xtermdengan kami vim.

    $ xterm -e vim
    

    ss dari xterm vim

Apa nama jendelaku?

Anda dapat menggunakan perintah xlsclient -luntuk mendapatkan daftar jendela yang terbuka. Saya menemukan cara termudah untuk menentukan nama jendela untuk dimasukkan ke dalam devilspie. Anda mungkin juga ingin memanfaatkannya xwininfojuga.

Contoh

$ xlsclients -l|less
...
Window 0x6800023:
  Machine:  grinchy
  Name:  vim
  Icon Name:  vim
  Command:  xterm -e vim
  Instance/Class:  xterm/XTerm
...

Anda dapat mengontrol nama windows seperti ini:

$ xterm -title WeirdWindow -e vim

Referensi

slm
sumber
Ini jelas rapi, tapi bukan itu yang ingin saya capai. Itu hanya posisi jendela di tempat yang ditentukan & dengan dimensi jendela yang ditentukan, kan? Saya ingin memiliki 'halaman' aktif di tengah layar, dengan sisa layar kosong - sehingga tidak ada gangguan di latar belakang.
evilsoup
@ evilsoup - ya itu memusatkan xterm @ dimensi yang ditentukan. Anda dapat mengosongkan latar belakang, saya akan memperbarui jawaban saya supaya kami memiliki metode alternatif. Pertanyaan Anda tidak mengatakan Anda menginginkannya kosong di latar belakang, mungkin saya melewatkan sesuatu. Juga saya pikir Anda kehilangan kekuatan devilspie. Anda bisa menambahkan aturan ke file .ds untuk memperkecil yang lainnya, misalnya.
slm
@ evilsoup - apakah mengosongkan latar belakang sudah cukup? Saya tahu Anda punya solusi lain tetapi saya hanya ingin memberikan metode alternatif.
slm
1

Ada plugin untuk Vim yang disebut VimRoom yang menyediakan ini melalui pemetaan (standarnya adalah V).

Wieland
sumber