Bagaimana cara menguraikan / menyembunyikan / menampilkan teks saat menulis prosa?

9

Saya ingin menggunakan Emacs untuk menulis prosa (khususnya, fiksi).

Saya telah menggunakan Scrivener dan Ulysses di masa lalu tetapi saya tidak senang dengan mereka. Saya ingin mencoba Emacs, tetapi tidak tahu cara meniru alur kerja yang biasa saya lakukan.

Saya menggunakan writeroom-modeuntuk mendapatkan lingkungan yang bebas gangguan, tapi itu hanya satu bagian dari teka-teki. Saya suka cara Ulysses dan Scrivener memungkinkan Anda untuk fokus pada sepotong teks, dan saya ingin tahu bagaimana mereplikasi fungsi ini. Saya ingin org-modeatau outliner lain untuk memungkinkan saya fokus pada selembar teks dan menyembunyikan sisanya. Idealnya, saya ingin memiliki bilah sisi (seperti Ulysses), di mana saya dapat mengatur potongan teks secara manual, seperti di tangkapan layar ini:

ulysses

PS Saya telah membaca "Emacs for Writers PDF tetapi itu tidak membahas kebutuhan untuk mengatur dan menyusun teks Anda.

Jason Mirk
sumber
4
Harap jelaskan posting Anda dengan pertanyaan tentang apa yang sebenarnya Anda butuhkan (lebih baik, ajukan satu pertanyaan terpisah per posting dan lakukan beberapa posting jika perlu). org-modetidak menguraikan, yang memungkinkan Anda untuk fokus pada potongan teks tertentu dan memindahkan sisanya. Mempersempit menghapus teks dari layar.
Dan
1
Ini bisa menjadi kandidat untuk salah satu dari pertanyaan "daftar besar" :) (ada diskusi di Meta mengenai apakah pertanyaan semacam ini sesuai di SE: meta.emacs.stackexchange.com/questions/305/… ). Lebih lanjut tentang topik: Anda mungkin harus mengunjungi kembali mode Org. Ini sangat besar dan dalam hal penataan teks, ia tahu harus melakukan banyak hal. Namun, Emacs kurang memahami tata bahasa teks yang Anda tulis. Pemeriksaan ejaan adalah semua yang ditawarkan dalam hal ini.
wvxvw
1
Penulis @lawlist selalu menggunakan "sidebars" dalam bentuk catatan. ini hanya versi digitalnya.
Jason Mirk
2
Berikut ini adalah artikel menarik yang berjudul Cara menulis buku di emacs. masteringemacs.org/article/how-to-write-a-book-in-emacs Sebagai contoh elispinvestasi dan waktu, saya menghabiskan beberapa hari untuk mendapatkan gerakan dasar untuk meniru berbagai pengolah kata yang telah saya gunakan selama bertahun-tahun dalam profesi saya - mis., kata kiri / kanan, paragraf atas / bawah, dan hapus kata. Hal yang menyenangkan tentang Emacs adalah bahwa itu sempurna untuk siapa saja dengan sedikit atau banyak Obsesif Kompulsif Gangguan, yang membutuhkan hal-hal untuk menjadi cara tertentu dan itu harus tepat, bukan hanya tentang benar.
hukum
1
Scrivener memiliki terlalu banyak barang dan Anda tidak menulis dalam teks biasa sejauh yang saya ingat. Ulysses 3 cukup bagus tetapi banyak crash. Selain itu, Anda tidak dapat membagi buffer, memindahkan paragraf teks tanpa menggunakan mouse dan banyak hal lain yang akhirnya Anda lewatkan begitu Anda tahu mereka ada.
Jason Mirk

Jawaban:

6

Inilah yang saya ambil untuk menjadi tujuan Anda:

  • Kemampuan untuk fokus pada potongan teks tertentu sambil menyingkirkan sisanya,
  • Kemampuan untuk memindahkan potongan teks besar dengan cepat.

Solusi ini hanya menggunakan fungsionalitas Emacs out-of-the-box:

  • org-mode
  • penyempitan
  • jendela terbelah
  • buffer tidak langsung

Pertama-tama, jika Anda menulis dokumen Anda di org-mode(atau mode apa pun yang menggunakan Emacs 'outline fasilitas ), Anda akan dapat menyusun dokumen Anda dengan pos, sub-pos, dll., Dan kemudian menyembunyikan atau menunjukkan tubuh elemen-elemen itu. Untuk prosa, Anda mungkin merasa sangat elemental: tajuk untuk sebuah bab, sub-tajuk untuk bagian, sub-tajuk untuk sub-bagian, sampai ke sub-sub-t ... -Kepala untuk setiap paragraf individu.

Kedua, meskipun org-modeakan memungkinkan Anda untuk menyembunyikan tubuh tajuk Anda dan fokus hanya pada tubuh di depan Anda, itu akan meninggalkan tajuk bagian di layar. Anda mungkin atau mungkin tidak menganggap hal itu mengganggu. Jika ya, Anda bisa narrowbuffer hanya ke header itu (membuat semua header lainnya menghilang sementara dari tampilan) dan kemudianwiden lagi ketika Anda ingin melihat teks yang lain lagi.

Ketiga, untuk mendapatkan tampilan garis besar yang mudah dan kemampuan untuk memindahkan teks dengan cepat, Anda dapat menggunakan kombinasi jendela terpisah dan buffer tidak langsung. Buat bingkai Emacs Anda cukup lebar untuk mengakomodasi dua jendela (lihat posting ini untuk terminologi bingkai / jendela). Lakukan M-x split-window-horizontallyuntuk mendapatkan dua jendela berdampingan di bingkai Anda. Di jendela yang memiliki dokumen Anda, lakukan M-x clone-indirect-buffer.

Sekarang Anda memiliki dua salinan tertaut dari dokumen yang sama di dua buffer berbeda. Letakkan di dua jendela Anda. Meskipun keduanya berisi teks yang identik, Anda dapat membuatnya terlihat berbeda di dua jendela.

Salah satu cara yang sangat berguna untuk menggunakan fasilitas ini adalah memiliki jendela pengeditan utama di mana Anda benar-benar memasukkan dan mengedit prosa Anda, dan menggunakan jendela lain sebagai tampilan garis besar Anda: sembunyikan badan untuk hanya menampilkan header di bagian / subbab / apa pun untuk memberi diri Anda gambaran struktur dokumen. Anda kemudian dapat memindahkan potongan di sekitar dengan cepat - jika Anda menggunakan org-mode, M-<up>dan M-<down>menjalankan org-metaupdan org-metadown, masing-masing, yang, dalam konteks ini, akan memindahkan subtree (header dan semuanya di bawahnya) ke atas atau ke bawah dalam dokumen.

Dan
sumber
1
ini hampir sempurna. Saya menulis beberapa elisp dan menyesuaikan semuanya dengan selera saya juga. Bukankah itu sulit? Satu hal lagi adalah bagaimana berada di sidebar, menekan tombol dan membuatnya dimuat di buffer utama. Tapi saya rasa itu pertanyaan yang berbeda.
Jason Mirk
2
Anda mungkin juga menikmati clone-indirect-buffer-other-window.
incandescentman
9

Saya pikir ini adalah pertanyaan yang bagus. Saya yakin ada banyak mode super bermanfaat yang penulis fiksi tidak tahu mereka butuhkan. Saya kebetulan pada palimpsest-mode secara tidak sengaja, tetapi sekarang saya tidak bisa hidup tanpanya. Saya ingin melihat paket apa yang menurut penulis fiksi lain bermanfaat.

Berikut ini beberapa yang saya gunakan setiap hari:

  • palimpsest-mode . Mengirim teks yang dipilih ke bagian bawah file. Saya menggunakannya mungkin 20 kali dalam satu jam.
  • Cekatan . Pencarian tambahan file teks dalam direktori, mirip dengan nvALT @ttscoff .
  • Olivetti . Buat area teks lebih kecil dan lebih bagus.
  • Air mancur . Jika Anda seorang penulis skenario.
  • Helm-swoop untuk menemukan sesuatu dengan cepat.
  • Kapitalisasi otomatis . Tidak perlu menulis huruf kapital sendiri.
  • Org-pomodoro untuk menjaga diri di jalur.
  • wc-mode untuk menghitung kata jika Anda perlu.
  • Dan yang terpenting, org-mode untuk menguraikan. Trik saya adalah saya menulis catatan untuk diri saya sendiri (mis. "Bagian ini membutuhkan intro yang lebih baik") menggunakan komentar mode-org, jadi mereka tidak disertakan ketika saya mengekspor. Oh, dan gunakan perintah org-narrow-to-subtreeuntuk fokus hanya pada bagian yang sedang Anda kerjakan.
pijar
sumber
2
Ini luar biasa! Saya melihat diri saya menggunakan palimpsest-mode ribuan kali dan org-narrow-to-subtree juga!
Jason Mirk
1
Saya juga menemukan ini yang sepertinya meniru apa yang saya cari: github.com/titaniumbones/org-writers-room tetapi belum membuatnya berfungsi dengan benar. Ini juga menarik: github.com/theironsamurai/scribemacs
Jason Mirk
1
Sejauh yang saya tahu, ruang penulis-org belum bekerja. Itu ide yang bagus tetapi seseorang perlu menulis kode.
incandescentman
1
Ada sukarelawan?
incandescentman
1

Jawaban ini tidak lengkap, tetapi saya tidak dapat memposting ini di komentar karena memiliki gambar. Mungkin daftar isi yang Anda bicarakan terlihat seperti di bawah ini?

masukkan deskripsi gambar di sini

Cara ad hoc lain untuk memiliki garis besar adalah menjalankan M-s o^\s-*\*(yang setara dengan M-xoccur). Meskipun ini bukan garis besar yang tepat, lebih sering daripada tidak, saya menemukan ini menjadi solusi yang memadai untuk masalah menemukan dan menavigasi bagian dokumen.

wvxvw
sumber
1
Ya saya mencoba speedbar tetapi saya tidak suka itu jendela mengambang. Sepertinya sudah ketinggalan zaman.
Jason Mirk
2
@JasonMirk ada proyek untuk membuat Speedbar sebagai penyangga bukan jendela, tetapi sulit untuk membuatnya berfungsi "dengan benar" karena berbagai perintah penyangga yang pada akhirnya dapat menguburnya atau mengganti konten. Dulu ada manajer konfigurasi penyangga, seperti ECB, yang membuat tata letak penyangga tetap dan juga bisa menampilkan garis besar di lokasi tetap, tetapi pengalaman saya bekerja dengan ECB adalah bahwa lebih sering daripada tidak menghalangi saya. Tetapi mungkin sesuatu seperti itu akan bekerja untuk Anda, jika Anda tidak perlu memanipulasi buffer terlalu sering.
wvxvw
1
emacswiki.org/emacs/SrSpeedbar ini adalah proyek yang saya bicarakan.
wvxvw
1
Jika konsep speedbar adalah sesuatu yang disukai poster asli, maka mungkin ada baiknya menginvestasikan waktu untuk membuatnya berperilaku seperti yang diinginkan poster asli. Butuh waktu sekitar satu jam (dengan dua tahun di elispbawah ikat pinggang saya) untuk membuat perpustakaan pengaturan kustom saya sendiri, menghapus semua hal-hal bingkai, dan mengubahnya menjadi buffer sesuai permintaan yang dapat ditampilkan di jendela manapun. Di sinilah investasi waktu masuk ketika berhadapan dengan Emacs - Anda menemukan sesuatu yang Anda sukai (yaitu, dapat bekerja dengan) dan mengubahnya menjadi apa pun yang sesuai dengan kebutuhan Anda yang sebenarnya. Misalnya, generate-speedbar-noselect+ display
hukum
Saya belum menggunakannya, tetapi bagaimana dengan neotree ?
incandescentman