Kuruluş tablosundaki alanları önizleme


11

Bazen kuruluş modunda bir tablo oluştururken manuel sütun genişliği ayarlamak uygun olabilir. Bu, sütunların en uzun girişlerinin boyutuna büyümesi gerekmeyecek şekilde yapar. Ve kuruluş modu tablosundaki bir giriş, bulunduğu sütundan daha uzun olduğunda, giriş =>, sonunda bir sembolle görsel olarak kesilir .

C-c `Kullanabileceğimi biliyorum org-table-edit-field, ancak bu C-c C-cönizleme penceresini kapatmak ve org modu arabelleğine geri dönmek için basmayı gerektirir . Bir önek argümanı ile aynı komutu çağırmak C-u C-c `tam alanı görünür hale getirir, böylece yerinde düzenlenebilir, ancak hızlı bir şekilde 5-10 alanı hızlı bir şekilde önizlemek istersem hala sıkıcıdır.

LibreOffice Calc, seçili alanın değerini gösteren bir e-tablonun üstünde (MS Excel gibi) bir önizleme alanına sahiptir:

LibreOffice Calc içindeki önizleme alanı

Bir kuruluş modu tablosunu düzenlerken benzer bir önizleme almak mümkün müdür? Minibuffer bunun için iyi bir yer gibi görünüyor, ancak *Messages*tamponu hızlı bir şekilde doldurmanın yan etkisi olabilir . Tamponun üstünde veya altında özel bir mini pencere de işe yarayacaktır.


3
As açıkladı Burada fare (gerekirse hiç tıklama) ile üzerlerine gelerek kesilmiş alanların içeriğini önizleme yapabilirsiniz. Eğer varsa tooltip-modeaçık, içindekiler ipucu olarak gösterilir; aksi takdirde yankı alanında görüntülenir.
itsjeyd

Fareyi kullanmaktan
hoşlansaydım,

Sadece bu seçeneğin farkında olduğunuzdan emin olmak istedim ...
itsjeyd

Yanıtlar:


11

Juancho'nun cevabından esinlenerek , mevcut alanın değerini görüntülemek için başlık satırını kullanmaya karar verdim. Ben varken, başlığın alanın yerini de göstermenin güzel olacağına karar verdim:

Kuruluş tablosu başlığı eylemde

Bunu elde etmek için kullandığım kod:

(defun my-trim-string (arg) 
  "Simple function for trimming the whitespace from the ends of
 a string. Also removes any string properties such as font faces."
  (let ((str (substring-no-properties arg)))
    (when (string-match "^[ \t]+" str)
      (setq str (replace-match "" nil nil str)))
    (when (string-match "[ \t]+$" str)
      (setq str (replace-match "" nil nil str)))
    str))

(defun my-org-table-location (&optional arg)
  "Get the location of the current field in the table"
  (interactive "P")
  (when (eq 'org-mode major-mode)
    (org-table-get-specials)
    (let* ((row (org-table-current-dline))
           (col (org-table-current-column))
           (loc (if arg
                    (format "%c%02d" (+ 64 col) row)
                  (format "@%d$%d" row col))))
      (when (called-interactively-p 'any)
        (message "Field Location: %s" loc))
      loc)))

(defun my-org-table-field (&optional arg)
  "Get the value of the current field in the table"
  (interactive "P")
  (when (eq 'org-mode major-mode)
    (org-table-get-specials)
    (let* ((formula (org-table-current-field-formula))
           (value (my-trim-string (org-table-get-field)))
           (field (or (and arg formula) value)))
      (when (called-interactively-p 'any)
        (message "Field Value: %s" loc))
      field)))

;; Define the format for the header line in Org mode
(setq my-org-table-header
      (list '(:eval (let ((loc (my-org-table-location))
                          (field (my-org-table-field)))
                      (format " %s: %s" loc field)))))

(defun my-org-mode-setup ()
  "Apply custom setup to org-mode buffers"
  (setq-local header-line-format my-org-table-header))
(add-hook 'org-mode-hook 'my-org-mode-setup)

Birkaç günlük (minimal) testlere dayanmış, bu yüzden devam etmeye ve paylaşmaya karar verdim. Başka biri bunu kullanıyorsa, bununla ilgili herhangi bir sorunla karşılaşırsanız lütfen bize bildirin.


9

Seth'in cevabından esinlenerek, araç ipucu metnini her zaman başlık satırında (pencerenin üstünde az bilinen bir mod satırıdır) görüntüleyebilirsiniz.

Aşağıdakileri yürütün:

(setq-default header-line-format (list '(:eval (help-at-pt-kbd-string))))

Şimdi, noktanın altındaki metnin araç ipucu özelliği her olduğunda, başlık satırında görüntülenecektir.

Aslında, org-tablo araç ipuçları talimatlar içeren can sıkıcı bir önek içerir, ancak sorununuza bir yaklaşımdır.


Teşekkür ederim! Bu fikri , herhangi bir alanın değerini gösteren bir çözüm bulmak için genişlettim (sadece araç ipuçları olanları değil).
nispio

8

İmlecinizi hücreye koyup vurursanız C-h ., yankı alanında o hücrenin yardım metnini gösterir. Yardım metni, diğer yardım metninin yanı sıra tam değeri de içerir. Tür gürültülü ama değerini gösterir.

Echo'ya bakın display-local-helpve yardım edin .


3

Bu eski bir soru, ama ekleyeyim.

(add-hook 'org-mode-hook
          '(lambda ()
             (setq-local header-line-format (list '(:eval (substring-no-properties (org-table-get-field)))))
           ))

Bu @nispio'nun çözümünü uygulamanın daha doğrudan bir yolu olduğunu düşünüyorum.


0

M-x org-table-follow-field-mode dosyanızda kuruluş modundayken yalnızca görüntülemeye izin vermez, uzaktan düzenlemeye de izin vermelidir. Böylece, takas sütunları gibi tablo ve hücrelerle, hücre düzenlemesini kaybetmeden kolayca çeşitli şeyler yapabilirsiniz.

Tuş bağlama ile, masanın içindeyken bu tuşa basarım ve bu modu etkinleştirmek istiyorum. Şimdi sadece, masanın içindeyken otomatik olarak etkinleştirmenin bir yolunu bulabilirsem.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.