『よく使う文字列をEmacsのabbrevで補完できるようにしてみた - 牌語備忘録 - pygo』の続きの『abbrev-complete.elが超便利な件 - 牌語備忘録 - pygo』のそのまた続き
abbrev_defsにPython用の設定を書いてみた
abbrev_defsを開くと
(define-abbrev-table 'python-mode-abbrev-table '( ))
Pythonまわりは何も書いてないから少々やってみた(rubyはあるのになー)
下記のようにPython用の設定を追加してみた
修正
(define-abbrev-table 'python-mode-abbrev-table '( ("def" "" (lambda nil (interactive) (snippet-insert "def $${define_name}($$): $>$. ")) 0) ("cl" "" (lambda nil (interactive) (snippet-insert "class $${class_name}($$): $>$. ")) 0) ("defs" "" (lambda nil (interactive) (snippet-insert "def $${class_method_name}(self$$): $>$. ")) 0) ("ifn" "" (lambda nil (interactive) (snippet-insert "if __name__ == '__main__': $>$. ")) 0) ("py" "#!/usr/bin/env python # *-# -*- coding: utf-8 -*- " nil 2) ))
使ってみる
例えばPython-modeで「def」+補完(M-SPE)で
def define_name():
となるから、そのまま関数名(例:hoge)を入力してTABキーを押す
def hoge():
引数のところにカーソル移動。引数あれば入力(例:arg)、またTABキーで次の行にカーソル移動。
def hoge(arg): #<-カーソルここにくる
(゚Д゚)ウマー
他に同じ要領で
- 「cl」で「class class_name():」
- 「defs」で「def class_method_name(self):」
とか
他には
- どんなのあれば便利かな?
- tryとか?
- っていうかどっかにありませんかね(´・ω・`) >> Pythonの設定