SlideShare a Scribd company logo
1 of 6
Download to read offline
EMACS勉強会(仮)
〜開発環境を晒しあげ〜


@toshi_pp




              2011年7月21日   1
EMACS
 環境
   MacPortsでいれたemacs23

 便利だと思う設定
   フレーム間をcommand+F1で移動
        (global-set-key [(meta f1)] 'other-frame)

   ヘッダとソースの切り替え
        ff-find-other-file

   行末のスペースを色づけ
        (setq show-trailing-whitespace t)
        (set-face-background 'trailing-whitespace "Purple”)

   shift+矢印でバッファの移動
        (windmove-default-keybindings)




                                                               2011年7月21日   2
FF-FIND-OTHER-FILE
  (define-key c-mode-base-map "¥M-t" 'ff-find-other-file)
  (setq ff-other-file-alist
            '(("¥¥.cc$" (".hh" ".h"))
              ("¥¥.hh$" (".cc" ".C"))
              ("¥¥.c$" (".h"))
              ("¥¥.h$" (".c" ".cc" ".C" ".CC" ".cxx" ".cpp" ".m" ".mm" ".cu"))
              ("¥¥.C$" (".H" ".hh" ".h"))
              ("¥¥.H$" (".C" ".CC"))
              ("¥¥.CC$" (".HH" ".H" ".hh" ".h"))
              ("¥¥.HH$" (".CC"))
              ("¥¥.cxx$" (".hh" ".h"))
              ("¥¥.cpp$" (".hpp" ".hh" ".h"))
              ("¥¥.hpp$" (".cpp" ".c"))
              ("¥¥.cu$" (".h"))))




                                                                        2011年7月21日   3
GCC
 flymake使ってますよね?
 とりあえず付けておけオプション
   -Wall
   -Wextra
 付けておくとポータビリティ上がるよ(僕は使ってないけど)
   -pedantic
 えー、C++03?使っていいのは(ry
   -std=c++0x
 なんか警告とエラーがごっちゃになるんですが…(gcc4.5↑?)
   (setq flymake-err-line-patterns (cons
   '("¥¥(.+¥¥):¥¥([0-9]+¥¥):¥¥([0-9]+¥¥): ¥¥(.+¥¥)" 1 2 3 4)
   flymake-err-line-patterns))




                                                                2011年7月21日   4
みんな大好きセグフォ
 皆さんセグフォしてますか?
 最強のデバッグ技法printf
   セグフォ時にはバッファのフラッシュができなかったりして
 gdbつこうた
   使い方なんか覚えなくてもよろしい
   gdb ./a.out
   (gdb) run
   (gdb) bt
 これでコールスタックが出るのでだいぶ楽です
 デバッグ情報を入れておくと捗るかもね
   gcc –g
   -0と一緒に使えるけど情報の一貫性が取れないかも




                                  2011年7月21日   5
ちっぷす
 gcc –E
    マクロを展開
    メタプログラミング時に捗るぞ

 gcc –x <lang>
    ファイルを<lang>として認識
    例 gcc –x c hoge.tmp

 ここをブックマークすると捗るぞ
    http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html




                                                             2011年7月21日   6

More Related Content

What's hot

[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
CODE BLUE
 
Haskell超初心者勉強会17
Haskell超初心者勉強会17Haskell超初心者勉強会17
Haskell超初心者勉強会17
Takashi Kawachi
 
C++のビルド高速化について
C++のビルド高速化についてC++のビルド高速化について
C++のビルド高速化について
AimingStudy
 
巨大な表を高速に扱うData.table について
巨大な表を高速に扱うData.table について巨大な表を高速に扱うData.table について
巨大な表を高速に扱うData.table について
Haruka Ozaki
 
BlockSorting
BlockSortingBlockSorting
BlockSorting
iuno
 

What's hot (20)

[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
[CB16] House of Einherjar :GLIBC上の新たなヒープ活用テクニック by 松隈大樹
 
EmacsとGlossでお絵描きしてみるよ
EmacsとGlossでお絵描きしてみるよEmacsとGlossでお絵描きしてみるよ
EmacsとGlossでお絵描きしてみるよ
 
OCamlのトップレベルあれそれ
OCamlのトップレベルあれそれOCamlのトップレベルあれそれ
OCamlのトップレベルあれそれ
 
制約をつけて遊ぼう
制約をつけて遊ぼう制約をつけて遊ぼう
制約をつけて遊ぼう
 
Rubyで和暦をよみとる
Rubyで和暦をよみとるRubyで和暦をよみとる
Rubyで和暦をよみとる
 
Common LispでGPGPU
Common LispでGPGPUCommon LispでGPGPU
Common LispでGPGPU
 
仮想記憶の構築法
仮想記憶の構築法仮想記憶の構築法
仮想記憶の構築法
 
mlr-grep - レコード指向grep
mlr-grep - レコード指向grepmlr-grep - レコード指向grep
mlr-grep - レコード指向grep
 
コミケの取りまとめをしたので
コミケの取りまとめをしたのでコミケの取りまとめをしたので
コミケの取りまとめをしたので
 
I love bug
I love bugI love bug
I love bug
 
KETpic できれいな図を書こう
KETpic できれいな図を書こうKETpic できれいな図を書こう
KETpic できれいな図を書こう
 
Haskell超初心者勉強会17
Haskell超初心者勉強会17Haskell超初心者勉強会17
Haskell超初心者勉強会17
 
C++のビルド高速化について
C++のビルド高速化についてC++のビルド高速化について
C++のビルド高速化について
 
Go conference 2017 Lightning talk
Go conference 2017 Lightning talkGo conference 2017 Lightning talk
Go conference 2017 Lightning talk
 
The Programming Language Scheme
The Programming Language SchemeThe Programming Language Scheme
The Programming Language Scheme
 
Emacs 使いが Vim を使ってみた(ちょっとだけGit)
Emacs 使いが Vim を使ってみた(ちょっとだけGit)Emacs 使いが Vim を使ってみた(ちょっとだけGit)
Emacs 使いが Vim を使ってみた(ちょっとだけGit)
 
巨大な表を高速に扱うData.table について
巨大な表を高速に扱うData.table について巨大な表を高速に扱うData.table について
巨大な表を高速に扱うData.table について
 
hbstudy#6 LT Xymonグラフの改良
hbstudy#6 LT Xymonグラフの改良hbstudy#6 LT Xymonグラフの改良
hbstudy#6 LT Xymonグラフの改良
 
BlockSorting
BlockSortingBlockSorting
BlockSorting
 
Random
RandomRandom
Random
 

Viewers also liked (9)

Tips for content writing1
Tips for content writing1Tips for content writing1
Tips for content writing1
 
eFax
eFaxeFax
eFax
 
Quotes
QuotesQuotes
Quotes
 
Flight Research
Flight ResearchFlight Research
Flight Research
 
Is direct mail dead?
Is direct mail dead?Is direct mail dead?
Is direct mail dead?
 
Portal- Using In-Story Photos
Portal- Using In-Story PhotosPortal- Using In-Story Photos
Portal- Using In-Story Photos
 
Humboldt Park Portal- News Story Featured Photo
Humboldt Park Portal- News Story Featured PhotoHumboldt Park Portal- News Story Featured Photo
Humboldt Park Portal- News Story Featured Photo
 
ความน่าจะเป็นสรุป PP
ความน่าจะเป็นสรุป PPความน่าจะเป็นสรุป PP
ความน่าจะเป็นสรุป PP
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Similar to 8F Emacs seminar 1st

LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
Takeshi Yamamuro
 
GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法
博文 斉藤
 
Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1
Ransui Iso
 

Similar to 8F Emacs seminar 1st (20)

Emacsでの翻訳 - Emacsで訳す、gettextで国際化されたソフトウェア
Emacsでの翻訳 - Emacsで訳す、gettextで国際化されたソフトウェアEmacsでの翻訳 - Emacsで訳す、gettextで国際化されたソフトウェア
Emacsでの翻訳 - Emacsで訳す、gettextで国際化されたソフトウェア
 
about DakotagUI
about DakotagUIabout DakotagUI
about DakotagUI
 
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティスどこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
 
ふつうのLinuxプログラミング
ふつうのLinuxプログラミングふつうのLinuxプログラミング
ふつうのLinuxプログラミング
 
about dakota6.7 gui
about dakota6.7 guiabout dakota6.7 gui
about dakota6.7 gui
 
いまさら聞けないRake入門
いまさら聞けないRake入門いまさら聞けないRake入門
いまさら聞けないRake入門
 
Linux kernelのbspとupstream
Linux kernelのbspとupstreamLinux kernelのbspとupstream
Linux kernelのbspとupstream
 
GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法GNU awk (gawk) を用いた Apache ログ解析方法
GNU awk (gawk) を用いた Apache ログ解析方法
 
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
 
Gnuplotあれこれ
GnuplotあれこれGnuplotあれこれ
Gnuplotあれこれ
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
 
Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1Lisp tutorial for Pythonista : Day 1
Lisp tutorial for Pythonista : Day 1
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
 
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
 
RのffでGLMしてみたけど...
RのffでGLMしてみたけど...RのffでGLMしてみたけど...
RのffでGLMしてみたけど...
 
GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)
GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)
GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)
 
groovy 2.1.0 20130118
groovy 2.1.0 20130118groovy 2.1.0 20130118
groovy 2.1.0 20130118
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
 
20130316 プログラミング言語Go
20130316 プログラミング言語Go20130316 プログラミング言語Go
20130316 プログラミング言語Go
 

Recently uploaded

Recently uploaded (10)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

8F Emacs seminar 1st

  • 2. EMACS  環境  MacPortsでいれたemacs23  便利だと思う設定  フレーム間をcommand+F1で移動  (global-set-key [(meta f1)] 'other-frame)  ヘッダとソースの切り替え  ff-find-other-file  行末のスペースを色づけ  (setq show-trailing-whitespace t)  (set-face-background 'trailing-whitespace "Purple”)  shift+矢印でバッファの移動  (windmove-default-keybindings) 2011年7月21日 2
  • 3. FF-FIND-OTHER-FILE (define-key c-mode-base-map "¥M-t" 'ff-find-other-file) (setq ff-other-file-alist '(("¥¥.cc$" (".hh" ".h")) ("¥¥.hh$" (".cc" ".C")) ("¥¥.c$" (".h")) ("¥¥.h$" (".c" ".cc" ".C" ".CC" ".cxx" ".cpp" ".m" ".mm" ".cu")) ("¥¥.C$" (".H" ".hh" ".h")) ("¥¥.H$" (".C" ".CC")) ("¥¥.CC$" (".HH" ".H" ".hh" ".h")) ("¥¥.HH$" (".CC")) ("¥¥.cxx$" (".hh" ".h")) ("¥¥.cpp$" (".hpp" ".hh" ".h")) ("¥¥.hpp$" (".cpp" ".c")) ("¥¥.cu$" (".h")))) 2011年7月21日 3
  • 4. GCC  flymake使ってますよね?  とりあえず付けておけオプション  -Wall  -Wextra  付けておくとポータビリティ上がるよ(僕は使ってないけど)  -pedantic  えー、C++03?使っていいのは(ry  -std=c++0x  なんか警告とエラーがごっちゃになるんですが…(gcc4.5↑?)  (setq flymake-err-line-patterns (cons  '("¥¥(.+¥¥):¥¥([0-9]+¥¥):¥¥([0-9]+¥¥): ¥¥(.+¥¥)" 1 2 3 4)  flymake-err-line-patterns)) 2011年7月21日 4
  • 5. みんな大好きセグフォ  皆さんセグフォしてますか?  最強のデバッグ技法printf  セグフォ時にはバッファのフラッシュができなかったりして  gdbつこうた  使い方なんか覚えなくてもよろしい  gdb ./a.out  (gdb) run  (gdb) bt  これでコールスタックが出るのでだいぶ楽です  デバッグ情報を入れておくと捗るかもね  gcc –g  -0と一緒に使えるけど情報の一貫性が取れないかも 2011年7月21日 5
  • 6. ちっぷす  gcc –E  マクロを展開  メタプログラミング時に捗るぞ  gcc –x <lang>  ファイルを<lang>として認識  例 gcc –x c hoge.tmp  ここをブックマークすると捗るぞ  http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html 2011年7月21日 6