読者です 読者をやめる 読者になる 読者になる

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

ちょいとabbrev_defsにPython用の補完設定を書いてみた

Emacs

よく使う文字列を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の設定