The Yak Shaver
さあ、今日も毛を刈ろう。
skip to main
|
skip to sidebar
2013/04/04
モードラインにファイルのフルパスを表示
Emacs のモードラインの左部分にはバッファ名が表示されています。 この部分を左クリックしたら一定時間だけファイルのパス名が表示されるようにしてみました。 ついでにクリックと同時にパス文字列をキルリングにコピーします。 下記は [powerline](https://github.com/milkypostman/powerline)での表示例です。 普段はバッファ名が表示されているけど… ![モードラインにバッファ名を表示](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq8WejWgyGRrvOXh80BDL6zsfyJSuganp3M0vRNExLz-j_IW1fC2hhOXy2NJ0MwNdwzRz6azHeb1Gsh3BSIReajDDjbp8NSMcaKMfJAPEkuZdqYFherja5JaMFgnLJTvyTTBFK95eRu1Ik/s1600/1.png) 左クリックするとフルパス表示に切り替わる ![モードラインにパスを表示](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwW1hLm_EkssFVPUh-QGwCD0EvfAZj2lPssubdZVRp4TLwR_IaQblePadz5L0mXGiuABl7yKGSSp1qqz_fvP3qtOpf9L7gdQzOoTN8d-d4DmcCm08zpXUgOGnjABQgeHpExiPEtDdHNVuG/s1600/2.png) (defvar mode-line-buffer-fullpath (list 'buffer-file-name (propertized-buffer-identification "%12f") (propertized-buffer-identification "%12b"))) (add-hook 'dired-mode-hook (lambda () ;; TODO: handle (DIRECTORY FILE ...) list value for dired-directory (setq mode-line-buffer-identification ;; emulate "%17b" (see dired-mode): '(:eval (propertized-buffer-identification (if (< (length default-directory) 17) (concat default-directory (make-string (- 17 (length default-directory)) ?\s)) default-directory)))))) (setq mode-line-buffer-default mode-line-buffer-identification) (defun show-mode-line-fullpath (event) (interactive "e") (when (buffer-file-name) (select-window (posn-window (event-start event))) ; activate window (let ((wait-sec 5)) (setq mode-line-buffer-identification mode-line-buffer-fullpath) (force-mode-line-update) (my-copy-buffer-file-name) ; copy path string to killring (sit-for wait-sec) (setq mode-line-buffer-identification mode-line-buffer-default) (force-mode-line-update) (message "")))) (define-key mode-line-buffer-identification-keymap [mode-line mouse-1] 'show-mode-line-fullpath) ; left click (set-face-attribute 'mode-line-highlight nil :box nil) ; remove box when hover mouse (defun my-copy-buffer-file-name () "copy buffer-file-name to kill-ring." (interactive) (let ((fn (unwind-protect (buffer-file-name) nil))) (if fn (let ((f (abbreviate-file-name (expand-file-name fn)))) (kill-new f) (message "copied: \"%s\"" f)) (message "no file name")))) この例では5秒間表示されます。表示時間は wait-sec で変更します。 なお、一定時間表示ではなく、クリックするたびに表示をトグルしたい場合は、`show-mode-line-fullpath` の代わりに下記の `toggle-mode-line-fullpath` を `define-key` するといいです。 (defun toggle-mode-line-fullpath () (interactive) (setq mode-line-buffer-identification (if (string= (format "%s" mode-line-buffer-identification) (format "%s" mode-line-buffer-fullpath)) mode-line-buffer-default mode-line-buffer-fullpath)) ;; (force-mode-line-update) ) ####参考リンク - [Add button with dynamic menu to emacs's modeline?](http://stackoverflow.com/questions/9019717/add-button-with-dynamic-menu-to-emacss-modeline)
0 コメント :
コメントを投稿
次の投稿
前の投稿
ホーム
About
Unknown
詳細プロフィールを表示
Labels
AVR
( 12 )
Blogger
( 10 )
Chrome
( 2 )
cocoa
( 5 )
Eagle
( 5 )
emacs
( 31 )
game
( 1 )
Google
( 4 )
iPhone
( 2 )
Javascript
( 1 )
lisp
( 4 )
LPCXpresso
( 1 )
mac
( 53 )
Markdown
( 4 )
msp430
( 1 )
NXP
( 1 )
Parallels Desktop
( 1 )
PIC
( 3 )
python
( 19 )
Raspberry Pi
( 9 )
ruby
( 1 )
Safari
( 2 )
shell script
( 4 )
Sublime Text
( 1 )
windows
( 7 )
xcode
( 8 )
xyzzy
( 60 )
おぼえがき
( 69 )
まとめ
( 6 )
メール
( 2 )
よもやま
( 19 )
工作
( 23 )
電験
( 4 )
本日の探索結果
( 2 )
Blog Archive
►
2015
( 3 )
►
02
( 1 )
►
01
( 2 )
►
2014
( 17 )
►
12
( 1 )
►
07
( 3 )
►
06
( 3 )
►
04
( 2 )
►
03
( 4 )
►
01
( 4 )
▼
2013
( 135 )
►
12
( 5 )
►
10
( 6 )
►
09
( 7 )
►
08
( 10 )
►
07
( 24 )
►
06
( 15 )
►
05
( 15 )
▼
04
( 17 )
CSS の margin パラメータ数の違い
Pyhton で JPEG画像を添付してメールを送信
Elisp のトグル動作や内部カウンタはクロージャを使う
Google の Custom Search Engine で画像を検索するサンプル
BloggerにGistを貼り付けると、前後に空行が入ってしまう
Pyhton で GMail の smtp で UTF-8 なメールを送信
MYO:腕の筋肉の動きを検知するコントローラ
Google の検索結果に表示される 著者の写真を非表示に
Mac の Safari で Backspace (DEL) キーで前のページに戻るようにする
Spotlight を grep find の代わりに
ack を MacPorts で入れてみる
C-u つきの query-replace は正規表現で
Python でもスクラッチバッファで対話したい
コード片を Markdown 向けに
Mac のターミナルでスクロールバッファをクリアする
モードラインにファイルのフルパスを表示
Finder に 「上へ」ボタンを
►
03
( 13 )
►
02
( 17 )
►
01
( 6 )
►
2012
( 11 )
►
10
( 5 )
►
07
( 1 )
►
02
( 2 )
►
01
( 3 )
►
2011
( 86 )
►
12
( 2 )
►
11
( 2 )
►
10
( 1 )
►
07
( 2 )
►
06
( 3 )
►
05
( 20 )
►
04
( 49 )
►
03
( 7 )
►
2009
( 4 )
►
03
( 1 )
►
01
( 3 )
►
2008
( 8 )
►
12
( 8 )
STAT
Ads
Amazon.co.jp ウィジェット
Powered by
Blogger
.
0 コメント :
コメントを投稿