忍者ブログ
日々の研究生活のメモ書きなど
5521bdb4


なので、自分で用意する

一応
M-x revert-buffer
ってのでもファイルを読み込み直すことはできるけど、
リターン -> yes -> リターンと手間がかかる・・・
(自分の場合は(defalias 'yes-or-no-p 'y-or-n-p)としているのでyでいけるけど、やっぱりめんどくさい)


ググったら色々と出てくる

■ 参考 : Emacsで現在開いてるバッファを再読込する
(defun revert-buffer-no-confirm (&optional force-reverting)
"Interactive call to revert-buffer. Ignoring the auto-save
file and not requesting for confirmation. When the current buffer is modified, the command refuses to revert it, unless you spec\
ify
the optional argument: force-reverting to true."
(interactive "P")
;;(message "force-reverting value is %s" force-reverting)
(if (or force-reverting (not (buffer-modified-p)))
(revert-buffer :ignore-auto :noconfirm)
(error "The buffer has been modified")))

;; reload buffer
(global-set-key (kbd "<f5>") 'revert-buffer-no-confirm)
って感じでF5に割り当てておいた
C-c C-rとかにしてるサイトもあって、それにしようとしたけどなんかうまくいかない・・・・


注意することは、このrevert-bufferというのは今やってる編集を捨てて、ファイルを開き直すことになるので
今やってる修正を残しておきたいときは別に保存しておかないといけない

そういうことまでケアしてるショートカットも一応用意できるらしい

■ 参考 : RevertBuffer










PR

一つ前の記事
■ 過去記事 : 【シェルコマンド】デフォルトのdiffでは見にくいのでオプションとcolordiffを試し見た
と少し関係がある

emacsで2つの画面を同時に閲覧することがある
2画面で開いたソースコードを比較しながら、同時にスクロールできたら便利だろうなぁ〜と思って調べてみたらそんな機能があった
C-x 3
M-x scroll-all-mode

解除したいときはもう一度、
M-x scroll-all-mode

■ 参考 :Scroll two opened buffers in a split window at the same time










黒い背景のterminalでemacsを起動すると青色の文字がとても見にくい・・・
そういうときは設定で色を変更する
.emacs にそれぞれ書き加えても良いが、色合いを見ながら変更する方法があったのでメモ
■ 参考 : minttyとemacsで、黒背景で青が見にくい場合の対策
M-x list-faces-display
これで見えにくいと思う色のところで(青色なところ)、Enterを押して代わりの色を選べばOK

あとはそれが.emacsに書き加えられるはず














emacsには便利な置換コマンド replace-string というのがある
■ 参考 : 【Emacs】文字の置換

この置換の際に、改行をいれたい場合・・・
C-q C-j
でOK








キーバインドを表示するには
M-x describe-bindings

特定のキーにバインドがあるかないかを知りたいときは
M-x describe-key
としたあとにそのキーを押せばいい




キーバインドを無効にするには以下のような一部を.emacsに追加すればよい
(global-unset-key "\C-a")

tmuxのprefixをcontrol+aにするつもりでこの設定をしたけど、結局やめた・・・・








まずmarkdown-mode.elを落とす
これを~/.emacs.d/elisp
とかに置いておく(ロードパスの通っているところ?)
curl http://jblevins.org/projects/markdown-mode/markdown-mode.el > markdown-mode.el

次にemacsの設定をする
次のことを.emacsに書き加えておく
;; markdown mode
(autoload 'markdown-mode "markdown-mode.el" "Major mode for editing Markdown files" t)
(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))

しかしうまく機能していないらしい
M-x markdown-mode
とかしてみると
call-interactively: Cannot open load file: markdown-mode.el
とエラーメッセージが出ていた

よくわからんが、なんか足りないのかも
調べてみたら、そもそもコマンドラインでmarkdownというコマンドが使えないといけないらしい(そんなのインストールしていない・・・)

ここでめんどくさくなったので止めておく



近いうちに、Macのアップデートをしようと思っているので、その後でやる・・・
今10.8なので、これを一気に10.11まで上げるぜ










ご無沙汰してます。元気です


M-x list-colors-display
■ 参考
Emacsのカーソル行をハイライトする
(画像の文字が小さくてすいません)

emacsで何か作業中↓



突然、普段使わないコマンドを誤って押してしまい、画面が2分割され、さらにそちらがactiveになってしまった↓



すごく困ります・・・
手元のマシンの場合はマウスでクリックすればいいんですが、
sshとかで遠方のマシンに接続して作業しているときはそうはいきません

そういうときは
c-x o
でactiveな画面を切り替えれるらしい
メモメモ





【emacs】org-modeについて の関連記事です




org-modeで上の方にこれを書いておくといろいろと便利

#+TITLE:hoge_title
#+AUTHOR:hoge_name
#+DATE:today

hogeなんとか、todayを変えるとそのまま出力される


下のようなソースを書いてみる

#+TITLE:new title
#+AUTHOR:coffee_pote
#+DATE:today

* section hoge1

** section hoge2



C-c C-e a
で出力したら
次のようなtxtができる。










使ってみるといろいろと便利だった

議事録を取るもよし、
ToDoリストとして使ってもよし、
高機能なメモ帳としても使えるかも





■ org-modeの起動

拡張子.org のファイルを開く
もしくは
M-x org-mode

で起動できる





■ 使い方メモ

M-Return:章立てできる

M- → or ←:章の深さを変える

C-c C-e:出力する 形式は表示されるので、それを入力
例えば [a]ならtxt(ANSII)形式






他にもいろいろとできるらしいけど、まだこれしか使ってない・・・・

そのうち追記して可能性が微レ存


gnuplotのバイナリ版を取りにいったらハッケソ

■ リンク
Emacs.app の設定



ただ、mountain lionにはここのバイナリ版gnuplotで駄目かも

明日以降 mac portでインストールを試みます
無理ならほかの方法で

Xくおーつってのが必要らしい
X11の代わり?


設定してないと、initialと同じサイズのものができる
つまり、前のウィンドウと重なってしまって見えない・・・・

そこで新しいウィンドウは少しずらすことにする
(といっても3つめのウィンドウは2つめと被ってしまう・・・)


(setq initial-frame-alist
(append (list
'(width . 100) ;; ウィンドウ幅
'(height . 44) ;; ウィンドウ高さ
'(top . 0) ;; 表示位置
'(left . 640) ;; 表示位置
)
initial-frame-alist))

(setq default-frame-alist
(append (list
'(width . 100) ;; ウィンドウ幅
'(height . 44) ;; ウィンドウ高さ
'(top . 0) ;; 表示位置
'(left . 560) ;; 表示位置
)
default-frame-alist))


これを.emacsに書いておけばよい
便利なものを発見してしまった



;;; 最終更新日の自動挿入
;;; ファイルの先頭から 8 行以内に Time-stamp: <> または
;;; Time-stamp: " " と書いてあれば、セーブ時に自動的に日付が挿入されます
(require 'time-stamp)
(if (not (memq 'time-stamp write-file-functions))
(setq write-file-functions
(cons 'time-stamp write-file-functions)))

と.emacsに書いておきます

あとはソースにTime-stamp: " "と書いておくだけ(コメントアウトしててもおーけー)
ソースの中身をどこか変更して、保存されたときにタイムスタンプが押されます

こりゃ便利だ

注意:
time-stanp:とダブルコーテーション""の間に半角スペースが必要


■ 参考
13.1 dot.emacs




実は初めて使ってみた

意外と簡単で、便利ですねこれは



c-x h
m-x replace-string
[before word]
[after word]
って打てば置換できる。

control + hで全体を選択
m-xのmはメタキー、おそらくエスケープでおーけー
replace-stringは適時tabを押せば候補を表示してくれる

■ 参考
Emacsで文字置換






■ 追記

もっと簡単な方法を見つけてしまった・・・・

c-x h
m-%
[before word]
[after word]
!
最後の!がないと、HITした単語のところで毎回止まる
!を押すと全部置換することになる


■ 参考
Emacsで文字列を置換するコマンド



;; F5で日付と時間を挿入
(defun my-get-date-gen (form) (insert (format-time-string form)))
(defun my-get-dtime () (interactive) (my-get-date-gen "%Y/%m/%d %H:%M:%S"))
(global-set-key [f5] 'my-get-dtime)
と設定ファイルに書いておけばおーけー

last modifiedとか書くときに使えそう

■参考
Emacsで日付を入力するショートカットキー

■背景
Emacsで c-x c-f hoge.c とかで新しいファイルを作ると、普通は何も書かれていないまっさらなファイルができる

しかしEmacsは拡張子からファイルをどんなmodeで開くか自動で決めてくれるので、
ついでにテンプレートを挿入すると便利

例えばc言語なら
#includeやらmain関数あたりはそんなにいじる事はないのでデフォルトで挿入してくれるとありがたい

自分は今までTemplateというフォルダにTemplate.cを作っていて、それを毎回開いてコピーしていた
c-x c-wに出会ってからさらに便利になったとはいえ、テンプレートがあるならそっちを利用するに越した事はない





■auto-insertの使い方
;;auto-insert
(require 'autoinsert)
;; テンプレート格納用ディレクトリ
(setq auto-insert-directory "~/Dropbox/Template/")
;; ファイル拡張子とテンプレートの対応
(setq auto-insert-alist
(append '(
("\\.c$" . ["Template.c"])
("\\.sh" . ["Template.sh"])
) auto-insert-alist))
(add-hook 'find-file-hooks 'auto-insert)
と ~/.emacsに書いておけばいい

テンプレートのあるディレクトリとか、開くテンプレートは自分でいじってください


■参考
雛形設定

autoinsert(高度なテンプレート挿入)



ちなみに開くときにさらに変数を受け取って、テンプレートの中身を置き換えることも可能らしい
が、そこまでする必要はあんまりないかなー・・・・

あ、でもヘッダーに書くファイル名をそれで編集できたら便利かなー
昔は対応する括弧が、下のミニバッファに表示された気がするけど今はされない・・・・

もしかして設定?
と思って、調べてみたら全然違ういいものを見つけた


■参考サイト
Emacs でよく使うショートカット集


C-M-p、C-M-n:対応する括弧へ移動
c-M-\でできるらしい

こりゃー便利だ
ずっとやりたかったので、やってみた


探してみたら以下のlispプログラムをインストールすればいいらしい
・linum.el
・line-num.el
・wb-line-number.el

■参考サイト
[Emacs] linum.el で左側に行番号を表示する

■wb-line-numberの参考サイト
Emacsの左側に行番号を表示する

最初はline-num.elを入れてみたけど、うまく動かなくてよくわからんかったので
linum.elに変更。

特に問題なくすんなり動いた・・・・
スクショ↓




■「lispプログラムってどうやって使うの?」って方は
【Emacs】Emacs Lispを使ってみたい

Mac Portを使ってX11で越しに使えるemacsをインストールした
これでsshで接続したときも使えるようになる。


port search emacs | grep "emacs"
でどんなのがあるか探す
emacs23とemacs(version24)をインストールして試してみた。

インストールするときは +x11を忘れずに

今まで使っていた設定ファイルがそのまま使えないっぽい。
mac-key-mode ってのがないらしい
あとは自分で入れたものがそのまま使えなかったり



初期設定を読み込まずにEmacsを起動するには
emacs --no-init-file
でおーけー

これを使おうかと思ったけど挫折。
c-x 2 で縦に画面を2分割



c-x 3 で横に画面を2分割


これを上手いこと使った
M-x follow-delete-other-windows-and-split
というコマンドがある

画面を横に2分割した状態でこれを使うと・・・・
下のようになる。



「左の画面の下」と「右の画面の上」が繋がっており、ワイドディスプレイをうまいこと活用できる。
Emacsを起動したときに、scratchを使えるようにしていると

そこにLispを書いて、C-j (Ctr+j)で実行できたりする。

これで色々と設定を使う前に試したりできる。
ひとつ前の記事とだいぶ被りますが・・・・・


M-x install-elisp-from-emacswiki cycle-buffer.el
をインストールして、
(autoload 'cycle-buffer "cycle-buffer" "Cycle forward." t)
(autoload 'cycle-buffer-backward "cycle-buffer" "Cycle backward." t)
(global-set-key (kbd "M-o") 'cycle-buffer)
(global-set-key (kbd "M-O") 'cycle-buffer-backward)

と.emacsに書いておく

デフォルトではF9とかF10に割り当てられているはず
;;直前のBufferにすぐに切り替える
(defun switch-to-last-buffer ()
(interactive)
(switch-to-buffer (other-buffer)))
(global-set-key (kbd "C-t") 'switch-to-last-buffer)

と .emacsに書いておけばおーけー



こちらのブログの下の方に書いてました

普段MacBookAirを使ってみるので、複数画面開くのは不利
すごい便利ですね
http://d.hatena.ne.jp/tomoya/20090121/1232536106
この辺りを参考にして、まずは「install-elisp.el」をインストールしてみる。
(.emacsに色々と追記して、設定を有効にする必要あり)

これを入れればあとはEmacs wikiから.elファイルを落としてくればいい。

試しにauto-complete.elってのを入れてみた。

便利すぎw

プロフィール
HN:coffee
職業:物理屋(自称)
趣味:映画鑑賞
自己紹介:
#include <stdio.h>
#include "MyProfile.h"

#define TWITTER coffee_pote

#define WISH_LIST
amazonのほしい物リスト
#ifdef RICH_FLAG
// ↑いつも支援いただきありがとうございます m(_ _)m
#endif


int main(void){

printf("\n");
printf("仕事きまりました\n");
printf("\n");
printf("猿でもわかるgnuplot を執筆中\\
少し追記しました\n");
/* 最終更新 2017/12/09 */
return 0;

}
カウンター
ブログ内検索
ツイートするボタン
Flickr

Template "simple02" by Emile*Emilie
忍者ブログ [PR]