Tampilkan hyperlink mode-org sebagai teks biasa

25

Meskipun nyaman bagaimana org-mode menampilkan hyperlink, ada kalanya saya ingin melihat teks polos yang mendasarinya, misalnya [[./file.org][Title]]. Bagaimana saya bisa melakukan ini?

Saya tahu org-insert-link, tetapi bukan itu yang saya inginkan:

Cc Cl menjalankan perintah org-insert-link, yang merupakan fungsi Lisp interaktif yang dikompilasi dalam `org.el '.

...

Jika sudah ada tautan di titik, perintah ini akan memungkinkan Anda untuk mengedit tautan dan deskripsi bagian.

David J.
sumber

Jawaban:

28

Aku hanya menemukan fungsi yang bagus dalam kode sumber org: M-x org-toggle-link-display.

Berikut adalah kode sumbernya, hanya untuk bersenang-senang:

(defun org-toggle-link-display ()
  "Toggle the literal or descriptive display of links."
  (interactive)
  (if org-descriptive-links
      (progn (org-remove-from-invisibility-spec '(org-link))
         (org-restart-font-lock)
         (setq org-descriptive-links nil))
    (progn (add-to-invisibility-spec '(org-link))
       (org-restart-font-lock)
       (setq org-descriptive-links t))))
David J.
sumber
3
Ini. Juga, jika Anda ingin menjaga perilaku ini secara permanen, cukup tambahkan (setq org-descriptive-links nil)ke file init Anda.
undostres
2
Perhatikan bahwa variabel ini dapat diakses dari menu "Org> Hyperlinks"
Andrew Swann
12

Cara yang bermanfaat untuk melakukan ini adalah

M-x font-lock-mode

yang mengaktifkan penguncian font. Ketika penguncian font tidak aktif, hyperlink terlihat dalam bentuk yang tidak didekorasi [[./file.org][Title]]. Ini bisa menjadi pendekatan yang berguna untuk melihat bagian mark-up lainnya di buffer.

Andrew Swann
sumber
3

Saya telah menggunakan fungsi ini. Ini akan beralih antara fundamental-modedan mode asli ( org-modedalam hal ini). Agak aneh, tapi saya suka:

(defun illiterate ()
  (interactive)
  (let ((coding-system-for-read 'utf-8))
    (if (eq major-mode 'fundamental-mode)
        (revert-buffer nil t)
      (let ((pt (1+ (length
                     (encode-coding-string
                      (buffer-substring-no-properties (point-min) (point))
                      'utf-8))))
            (file-name (buffer-file-name)))
        (kill-buffer (current-buffer))
        (find-file-literally file-name)
        (goto-char pt)))))
abo-abo
sumber
2
Mengapa Anda tidak bisa memanggil mode-fundamental saja?
Malabarba
3
Plain fundamental-modetidak akan berfungsi, karena org-modemengacaukan properti teks terlalu banyak dan mereka tidak bisa direset. Perlu seperti itu adanya.
abo-abo
3

Cara berteknologi rendah adalah dengan memindahkan titik ke awal teks tautan dan ketik Cd (yaitu, aktifkan org-delete-char). Itu menghapus karakter "[" pertama, sehingga Anda tidak lagi memiliki hyperlink yang diformat dengan benar, dan Anda dapat melihat sisanya sebagai teks mentah. Kemudian ketika Anda selesai, hanya memohon undountuk mengembalikannya ke apa yang Anda miliki sebelumnya.

pengguna98761
sumber
1
Ini tidak bekerja untuk saya di Emacs 24.4 (9.0) pada Mac OS X dengan instalasi org default.
David J.
0

Mode org mencapai efek tautan menggunakan kode berikut:

(if org-descriptive-links (add-to-invisibility-spec '(org-link)))

Ini menambah org-linkvariabel buffer-invisibility-specyang berarti bahwa teks yang memiliki properti tak terlihat diatur ke org-linkakan disembunyikan.

Menggunakan M-x visible-mode RETAnda dapat mengatur ulang buffer-invisibility-specsementara ke nil, yang berarti teks tersembunyi akan ditampilkan dari sana.

Menggunakan M-x visible-mode RETlagi Anda dapat mengatur ulang buffer-invisibility-specke nilai sebelumnya, yang akan menyembunyikan bagian teks yang relevan lagi.

clemera
sumber
@ Membawa Lebih Baik Sekarang? Saya tidak tahu apa lagi yang harus ditambahkan
clemera
@Rew Diperbarui jawabannya
clemera