スプラッシュ画面をrecentfのリストに置き換えます


18

スプラッシュ画面は最初は便利ですが、もっと便利なものが必要です。事前に定義されたファイルが開かれていない場合、emacsの起動時に最近開いたファイルのリストが表示されます。さらに良いのは、helm-recentfウィンドウにできる場合(helmパッケージを使用)


あなたは解決策を見つけたと思いますが、Emacsチームによって設計されたメソッドに自分自身を制限する必要はないことをコメントしたいだけstartup.el. です
法律家

回答:


15

今、このためMELPAのパッケージもあります:ダッシュボード:https://github.com/rakanalh/emacs-dashboard。このパッケージを使用すると、下の画像のようにスプラッシュスクリーンを使用できます。

ダッシュボードのスクリーンショット

use-packageカスタムバナー画像とテキスト行、および最近のファイルとブックマークのリストを設定するための構成のスニペットを次に示します。

(use-package dashboard
    :ensure t
    :diminish dashboard-mode
    :config
    (setq dashboard-banner-logo-title "your custom text")
    (setq dashboard-startup-banner "/path/to/image")
    (setq dashboard-items '((recents  . 10)
                            (bookmarks . 10)))
    (dashboard-setup-startup-hook))

10

Manom​​agically:D、質問を投稿した後、私は私の以下の単一引用符を削除することで実用的なソリューションを得ました .emacs

(setq initial-buffer-choice '(helm-recentf)) ;; Does not work

これに:

(setq initial-buffer-choice (helm-recentf)) ;; Works!!!
;; I still haven't tried doing with the built-in recentf only

またはこれ:

(setq initial-buffer-choice 'helm-recentf) ;; Works!!!

更新

実際には上記のソリューションではまだ機能しません。ファイルを開いたが、emacsはscratchすぐにバッファに切り替わります。必要なファイルのバッファにジャンプする必要があります。したがって、これについてはさらにヘルプが必要です。

更新2

でいくつかの苦労をした後elisp、私はこれが実際に動作するようになりました:

(require 'recentf) ;; Provided for the whole picture
(require 'helm)
(require 'helm-config)

(defun startwithrecentf()
 (buffer-name (find-file (car (helm-recentf))))
  )
(setq initial-buffer-choice (startwithrecentf)) 

アップデート3

以下はよりコンパクトです。また、追加の引数を使用してemacsが呼び出される場合も大まかに処理します。emacs somefile

(require 'recentf) ;; Provided for the whole picture
(require 'helm)
(require 'helm-config)
(if (< (length command-line-args) 2) 
(setq initial-buffer-choice (car (helm-recentf)))
)

2
あなたの最初の試みはそうであると思う(setq initial-buffer-choice 'helm-recentf)initial-buffer-choice括弧なしで引用されたフォームが与える値、としての機能を持つことができます。
意味のあるユーザー名

明らかに私のエリスプ初心者スキル。
biocyberman

学ぶためにここにいます:)。そのフォームを使用すると、helm-recentf開始時にバッファが取得されるため、更新2ソリューションは必要ありません。
意味のあるユーザー名

@MeaningfulUsername Update 3:D を作成しました。これは、ファイル名またはすでに何かでemacsを呼び出す場合を処理します。
biocyberman

また、既に述べたように、引用されたバージョンはバッファに切り替えられないため、(car(helm-recentf))が正しいソリューションであるようです。(私はそれが単なるリストではなくラムダ式であるべきだと思ったが、それは機能しなかった...)
意味のあるユーザー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.