タブ区切りの列を編集するための設定(または*シンプル*モード)


7

タブ区切りの列(TSVファイル)を表示および編集するための組み込み設定またはシンプルモードのいずれかを探しています。

必要なのは、列の垂直方向の配置と行の水平方向の配置を尊重する方法でTSVテキストを表示することだけです。行の折り返しを切り替えられるとすれば、それはすばらしいことですが、二次的なものです。

emacsでの列の表示の検索は、Emacsでは「列」という単語の意味がすでに異なるため、困難になっています。

(org-modeのcolumn viewのような答えを思いとどまらせるために" simple " を指定しました。現時点では私のニーズは非常に単純であり、orgのようなモンスターモードのインストール、ロード、および学習に取り組みたくありません。)


3
列ビューでファイルを表示するためだけにorg-modeが提供するすべての機能を学ぶ必要はありません。
nispio 2014年

答えではありませんが、一般的なヒントとして役立つかもしれません:行の折り返しを切り替えるための組み込みコマンドがあります:toggle-truncate-lines
itsjeyd 2014年

5
csv-modeELPAで確認することをお勧めします。とは異なる区切り文字の設定をサポートしています,
Vamsi

@Vamsi csv-modeは回答として投稿することを検討してください。
Jordon Biondo 2016年

回答:


7

これにより、学習曲線がほとんどないOrgテーブルを試す機会が与えられます。次のコードをinitファイルに配置して実行します。

(defun my-export-to-parent ()
  "Exports the table in the current buffer back to its parent DSV file and
    then closes this buffer."
  (let ((buf (current-buffer)))
    (org-table-export parent-file export-func)
    (set-buffer-modified-p nil)
    (switch-to-buffer (find-file parent-file))
    (kill-buffer buf)))

(defun my-edit-dsv-as-orgtbl (&optional arg)
  "Convet the current DSV buffer into an org table in a separate file. Saving
    the table will convert it back to DSV and jump back to the original file"
  (interactive "P")
  (let* ((buf (current-buffer))
         (file (buffer-file-name buf))
         (txt (substring-no-properties (buffer-string)))
         (org-buf (find-file-noselect (concat (buffer-name) ".org"))))
    (save-buffer)
    (with-current-buffer org-buf
      (erase-buffer)
      (insert txt)
      (org-table-convert-region 1 (buffer-end 1) arg)
      (setq-local parent-file file)
      (cond 
       ((equal arg '(4)) (setq-local export-func "orgtbl-to-csv"))
       ((equal arg '(16)) (setq-local export-func "orgtbl-to-tsv"))
       (t (setq-local export-func "orgtbl-to-tsv")))
      (add-hook 'after-save-hook 'my-export-to-parent nil t))
    (switch-to-buffer org-buf)
    (kill-buffer buf)))

;; Open the current TSV file as an Org table
(global-set-key (kbd "C-c |") 'my-edit-dsv-as-orgtbl)

これで、TSVファイルから押すことができC-c |、テーブルがOrgテーブルに変換されます。(C-u C-c |CSVファイルでも機能します。)組織テーブルの編集が完了したら、を押すC-x C-sと、組織テーブルがTSVに変換され、元のファイルに保存されます。


これは小さなテーブルで非常にうまく機能します。しかし、おそらくorg-modeテーブルの扱い方が原因で、私の場合、テーブルに約1000行と10列があると、応答が遅くなり、遅れが生じ始めます。
biocyberman
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.