Làm cách nào để tôi phác thảo / ẩn / hiển thị văn bản khi viết văn xuôi?


9

Tôi muốn sử dụng Emacs để viết văn xuôi (cụ thể là tiểu thuyết).

Tôi đã sử dụng Scrivener và Ulysses trong quá khứ nhưng tôi không hài lòng với chúng. Tôi muốn thử Emacs, nhưng không biết làm thế nào để sao chép quy trình công việc mà tôi đã quen.

Tôi sử dụng writeroom-modeđể có được một môi trường không bị phân tâm, nhưng đó chỉ là một mảnh của câu đố. Tôi thích cách Ulysses và Scrivener cho phép bạn tập trung vào một đoạn văn bản và tôi muốn biết cách sao chép chức năng này. Tôi muốn org-modehoặc một người ngoài cuộc khác cho phép tôi tập trung vào một đoạn văn bản và ẩn phần còn lại. Lý tưởng nhất là tôi muốn có một thanh bên (như Ulysses), trong đó tôi có thể sắp xếp các đoạn văn bản theo cách thủ công, như trong ảnh chụp màn hình này:

vết loét

PS Tôi đã đọc "Emacs dành cho nhà văn PDF nhưng nó không giải quyết được nhu cầu tổ chức và cấu trúc văn bản của bạn.


4
Vui lòng làm rõ bài đăng của bạn bằng một câu hỏi về những gì bạn thực sự cần (tốt hơn hết, hãy hỏi một câu hỏi riêng biệt cho mỗi bài đăng và thực hiện nhiều bài đăng nếu cần thiết). org-modekhông phác thảo, cho phép bạn tập trung vào các đoạn văn bản cụ thể và di chuyển phần còn lại xung quanh. Thu hẹp sẽ loại bỏ văn bản khỏi màn hình.
Dan

1
Đây có thể là một ứng cử viên cho một trong những câu hỏi "danh sách lớn" đó :) (đã có một cuộc thảo luận về Meta về việc liệu loại câu hỏi này có phù hợp trên SE: meta.emacs.stackexchange.com/questions/305/ ). Thêm về chủ đề: có lẽ bạn nên xem lại chế độ Org. Nó rất lớn và về mặt cấu trúc văn bản, nó biết phải làm rất nhiều. Emacs, tuy nhiên, thiếu hiểu biết về ngữ pháp của văn bản bạn viết. Kiểm tra chính tả là tất cả những gì nó cung cấp về vấn đề này.
wvxvw 8/07/2015

1
Các nhà văn @lawlist luôn sử dụng "sidebars" dưới dạng ghi chú. đây chỉ là phiên bản kỹ thuật số của nó.
Jason Mirk

2
Dưới đây là một bài viết thú vị mang tên Cách viết một cuốn sách bằng emacs. masteringemacs.org/article/how-to-write-a-book-in-emacs Là một ví dụ cho elispđầu tư thời gian, tôi đã dành một vài ngày để có được chuyển động cơ bản để bắt chước các trình xử lý văn bản khác nhau mà tôi đã sử dụng qua nhiều năm trong (các) nghề nghiệp của tôi - ví dụ: từ trái / phải, đoạn lên / xuống và xóa từ. Điều hay ho ở Emacs là nó hoàn hảo cho bất kỳ ai có một chút rối loạn ám ảnh cưỡng chế, những người cần mọi thứ phải là một cách cụ thể và nó phải vừa phải, không chỉ đúng.
luật

1
Scrivener có quá nhiều thứ và bạn không viết bằng văn bản đơn giản như tôi nhớ. Ulysses 3 khá tốt nhưng bị treo rất nhiều. Ngoài ra, bạn không thể phân chia bộ đệm, di chuyển các đoạn văn bản xung quanh mà không sử dụng chuột và hàng tấn thứ khác mà cuối cùng bạn bị mất khi bạn biết chúng tồn tại.
Jason Mirk

Câu trả lời:


6

Đây là những gì tôi coi là mục tiêu của bạn:

  • Khả năng tập trung vào một đoạn văn bản cụ thể trong khi đưa phần còn lại của nó ra khỏi đường đi của bạn,
  • Khả năng di chuyển các đoạn văn bản lớn xung quanh một cách nhanh chóng.

Giải pháp này chỉ sử dụng chức năng Emacs bên ngoài:

  • org-mode
  • thu hẹp
  • chia cửa sổ
  • bộ đệm gián tiếp

Trước hết, nếu bạn viết tài liệu của mình trong org-mode(hoặc bất kỳ chế độ nào sử dụng các outlinetiện ích của Emacs ), bạn sẽ có thể cấu trúc tài liệu của mình với các tiêu đề, tiêu đề phụ, v.v., sau đó ẩn hoặc hiển thị phần thân của những yếu tố đó. Đối với văn xuôi, bạn có thể thấy rất hữu ích khi trở thành một yếu tố: tiêu đề cho một chương, tiêu đề phụ cho một phần, tiêu đề phụ cho phần phụ, tất cả đều xuống đến một tiểu mục ... -header cho mỗi đoạn riêng lẻ.

Thứ hai, mặc dù org-modesẽ cho phép bạn ẩn cơ thể của các tiêu đề của bạn và chỉ tập trung vào cơ thể trước mặt bạn, nó sẽ để lại các tiêu đề phần trên màn hình. Bạn có thể hoặc không thể tìm thấy sự phân tâm đó. Nếu bạn làm như vậy, bạn có thể narrowbộ đệm chỉ vào tiêu đề đó (làm cho tất cả các tiêu đề còn lại tạm thời biến mất khỏi chế độ xem) và sau đó widenmột lần nữa khi bạn muốn xem lại văn bản khác.

Thứ ba, để có được chế độ xem phác thảo dễ dàng và khả năng di chuyển văn bản nhanh chóng, bạn có thể sử dụng kết hợp các cửa sổ tách và bộ đệm gián tiếp. Làm cho khung Emacs của bạn đủ rộng để chứa hai cửa sổ (xem bài đăng này để biết thuật ngữ khung / cửa sổ). Làm M-x split-window-horizontallyđể có được hai cửa sổ cạnh nhau trong khung của bạn. Trong cửa sổ có tài liệu của bạn, làm M-x clone-indirect-buffer.

Bây giờ bạn có hai bản sao được liên kết của cùng một tài liệu trong hai bộ đệm khác nhau. Đặt chúng trong hai cửa sổ của bạn. Mặc dù cả hai sẽ chứa văn bản giống hệt nhau, bạn có thể làm cho chúng trông khác nhau trong hai cửa sổ.

Một cách rất hữu ích để sử dụng cơ sở này là có một cửa sổ chỉnh sửa chính trong đó bạn thực sự nhập và chỉnh sửa văn xuôi của mình, và sử dụng cửa sổ khác làm chế độ xem phác thảo của bạn: ẩn các phần thân để chỉ hiển thị các tiêu đề trong phần / tiểu mục đã cho / bất cứ điều gì để cung cấp cho mình một cái nhìn tổng quan về cấu trúc của tài liệu. Sau đó bạn có thể di chuyển các khối xung quanh một cách nhanh chóng - nếu bạn đang sử dụng org-mode, M-<up>M-<down>chạy org-metauporg-metadown, tương ứng, trong đó, trong bối cảnh này, sẽ di chuyển subtrees (một tiêu đề và tất cả mọi thứ dưới nó) lên hoặc xuống trong tài liệu.


1
Điều này gần như hoàn hảo. Tôi đã viết một số elisp và tùy chỉnh mọi thứ theo sở thích của tôi quá. Rốt cuộc không khó lắm đâu. Một điều nữa là làm thế nào để ở trên thanh bên, nhấn một phím và làm cho nó tải trên bộ đệm chính. Nhưng tôi đoán đó là một câu hỏi khác nhau.
Jason Mirk

2
Bạn cũng có thể thích clone-indirect-buffer-other-window.
sợi đốt

9

Tôi nghĩ rằng đây là một câu hỏi tuyệt vời. Tôi chắc chắn có rất nhiều chế độ siêu hữu ích mà các tác giả tiểu thuyết không biết họ cần. Tôi đã tình cờ gặp chế độ nhanh nhất một cách tình cờ, nhưng bây giờ tôi không thể sống thiếu nó. Tôi rất muốn xem những gói mà các tác giả tiểu thuyết khác thấy hữu ích.

Đây là một số mà tôi sử dụng hàng ngày:

  • chế độ palimpsest . Gửi văn bản đã chọn vào dưới cùng của tập tin. Tôi sử dụng nó có thể 20 lần một giờ.
  • Khéo léo . Tìm kiếm tăng dần các tệp văn bản trong một thư mục, tương tự như nvALT của @ ttscoff .
  • Olivetti . Làm cho vùng văn bản nhỏ hơn và đẹp hơn.
  • Đài phun nước . Nếu bạn là một nhà biên kịch.
  • Helm-swoop để tìm kiếm mọi thứ một cách nhanh chóng.
  • Tự động viết hoa . Không cần phải viết chữ in hoa cho mình.
  • Org-pomodoro để giữ cho mình đi đúng hướng.
  • wc-mode để đếm từ nếu bạn cần.
  • Và hầu hết tất cả, chế độ org để phác thảo. Thủ thuật của tôi là tôi viết ghi chú cho chính mình (ví dụ: "phần này cần phần giới thiệu tốt hơn") bằng cách sử dụng các nhận xét ở chế độ org, vì vậy chúng không được đưa vào khi tôi xuất. Ồ, và sử dụng lệnh org-narrow-to-subtreeđể chỉ tập trung vào phần bạn đang làm việc.

2
Thật tuyệt vời! Tôi thấy bản thân mình sử dụng chế độ palimpsest hàng ngàn lần và cực kỳ hẹp đến mức phụ!
Jason Mirk

1
Tôi cũng tìm thấy cái này có vẻ như sao chép những gì tôi đang tìm kiếm: github.com/titaniumbones/org-writers-room nhưng chưa làm cho nó hoạt động đúng. Điều này cũng thú vị: github.com/theironsamurai/scribemacs
Jason Mirk

1
Theo như tôi biết, phòng văn sĩ org chưa hoạt động. Đó là một ý tưởng tuyệt vời nhưng ai đó cần phải viết mã.
sợi đốt

1
Một số tình nguyện viên?
sợi đốt

1

Câu trả lời này không đầy đủ, nhưng tôi không thể đăng bài này trong các bình luận vì nó có hình ảnh. Có thể bảng nội dung bạn đang nói về trông giống như dưới đây?

nhập mô tả hình ảnh ở đây

Một cách khác để có một phác thảo là chạy M-s o^\s-*\*(tương đương với M-xoccur). Mặc dù đây không phải là một phác thảo thích hợp, thường xuyên hơn không, tôi thấy đây là một giải pháp thích hợp cho vấn đề định vị và điều hướng các phần của tài liệu.


1
Có tôi đã thử speedbar nhưng tôi không thích đó là một cửa sổ nổi. Có vẻ như đã lỗi thời.
Jason Mirk

2
@JasonMirk đã có một dự án biến Speedbar thành một bộ đệm chứ không phải là một cửa sổ, nhưng thật khó để làm cho nó hoạt động "đúng" do các lệnh bộ đệm khác nhau cuối cùng có thể chôn nó hoặc thay thế nội dung. Đã từng có các trình quản lý cấu hình bộ đệm, như ECB, tạo bố cục bộ đệm cố định và cũng có thể hiển thị phác thảo ở vị trí cố định, nhưng kinh nghiệm làm việc với ECB của tôi thường xuyên hơn là không theo cách của tôi. Nhưng có lẽ một cái gì đó như thế sẽ làm việc cho bạn, nếu bạn không cần phải thao tác bộ đệm quá thường xuyên.
wvxvw 8/07/2015

1
emacswiki.org/emacs/SrSpeedbar đây là dự án tôi đang nói đến.
wvxvw 8/07/2015

1
Nếu khái niệm speedbar là thứ mà poster gốc yêu thích, thì có thể đáng để đầu tư thời gian để khiến nó hoạt động như poster ban đầu muốn. Tôi mất khoảng một giờ (với hai năm làm việc elispdưới vành đai của tôi) để biến thư viện thành thiết lập tùy chỉnh của riêng tôi, loại bỏ tất cả các công cụ khung đó và biến nó thành một bộ đệm theo yêu cầu có thể được hiển thị trong bất kỳ cửa sổ nào. Đây là nơi đầu tư thời gian đến khi giao dịch với Emacs - bạn tìm thấy thứ gì đó bạn thích (nghĩa là có thể làm việc với) và thay đổi nó thành bất cứ điều gì phù hợp với nhu cầu chính xác của bạn. Ví dụ: generate-speedbar-noselect+ display
lawlist 8/07/2015

Tôi chưa sử dụng nó, nhưng còn neotree thì sao?
sợi đốt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.