私は Elisp で独自のモードを書いています。これは基本的に、ミニバッファーを介して操作できるデータの行を表示する単純な crud アプリケーションです。emacs パッケージ マネージャーのように見えるこれらの行のビューを作成したいと思います。データの列が適切に配置されています。そのようなビューを実装する最良の方法は何ですか?
			
			1168 次
		
3 に答える
            24        
        
		
phils からの回答により、私は順調に進みました。ただし、チュートリアルや簡単な例はどこにもないので、作成しました。以下は、静的データを持ち、現在の列の ID を出力できる表形式リスト モードの派生物の例です。
(define-derived-mode mymode tabulated-list-mode "mymode" "Major mode My Mode, just a test"
  (setq tabulated-list-format [("Col1" 18 t)
                               ("Col2" 12 nil)
                               ("Col3"  10 t)
                               ("Col4" 0 nil)])
  (setq tabulated-list-padding 2)
  (setq tabulated-list-sort-key (cons "Col3" nil))
  (tabulated-list-init-header))
(defun print-current-line-id ()
  (interactive)
   (message (concat "current line ID is: " (tabulated-list-get-id))))
(defun my-listing-command ()
  (interactive)
  (pop-to-buffer "*MY MODE*" nil)
  (mymode)
  (setq tabulated-list-entries (list 
                (list "1" ["1" "2" "3" "4"])
                (list "2" ["a" "b" "c" "d"])))
  (tabulated-list-print t))
于 2012-07-17T19:42:58.673   に答える
    
    
            1        
        
		
あなたが言及したパッケージリスト関数のコードを見ると、package-menu-modewhich から派生したものを採用していることがわかりますtabulated-list-mode。
- M-x find-functionRETpackage-menu-modeRET
- C-hf tabulated-list-modeRET
于 2012-06-30T08:53:09.177   に答える
    
    
            0        
        
		
私は常にこの種のタスクに org-mode を使用しています。
素敵なテーブルが既にあるので、これが開発の出発点になるはずです。
于 2012-07-17T19:58:25.943   に答える