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

やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

コンソールだけでPythonを書いて実行する

Pythonの開発をコンソールだけでやってみた。

開発環境

背景

私はWindows XP上にて、秀丸+ファイラ+コンソールでPythonを書いていた。秀丸でコードを書き、ファイラでファイルの作成や参照をし、コンソールで実行するという具合である。

しかし、それが面倒になってきた。そこで、コンソール+msys+vimにしてみた。これならコンソール上で完結する。

以下のようなファイルやディレクトリを作成したい。

  • root
    • main.py
    • hello
      • init.py
      • human.py

使ったコマンドは以下。

コマンド 説明
mkdir hello helloディレクトリを作成する。
cd hello helloディレクトリへ移動する。
cd .. ディレクトリへ移動する。
touch __init__.py __init__.pyという名前の空ファイルを作成する。
ls ファイルやディレクトリを表示する。
ren Human.py human.py Human.pyからhuman.pyに名前を変更する。
vim main.py main.pyファイルをvimで開く。なければ新規作成する。

ソースコード

main.py

from hello.human import Human

h = Human("Taro")
h.say("Yes I can !!")

h2 = Human("Jiro")
h2.say("No thanks...")

serifs = ["Oops!", "Tips!"]
map(h.say, serifs)
map(h2.say, serifs)

human.py

class Human:
    def __init__(self, name):
        self.name = name
    def say(self, message):
        print("{0}:{1}".format(self.name, message))

vim

テキストエディタ。難しいので最低限の操作だけを調べる。使いこなせば効率UPまちがいなし。

起動

コンソールでvim ファイル名とすると起動する。ファイルが存在しない場合、新規作成する。

モード

モードが把握できないとvimを使えない。

モード 画面の下 キー 主な用途
normal (何も表示されない) ESC カーソル移動、コピー/ペースト/削除
insert -- INSERT -- i テキスト入力
append -- INSERT -- a テキスト入力(末尾)
visual -- VISUAL -- v 部分コピー
command : : ファイル保存、終了

normalが基本。ESCキーを押下するとnormalになる。normalから、i, a, v, :を押下すると各モードになる。

vimを起動したら、iでinsertモードにしてから入力する。ESCキーでnormalに戻して、:wqでファイル保存&終了する。

終了

コマンドモードで終了できる。

コマンド 意味
:w 書き込む(保存する)
:q 終了(編集しているとエラーになり終了できない)
:wq 書き込んで終了
:q! 書き込まず終了(編集を破棄する)

wwriteqquitの略。長いコマンドでも可能。書き込んで終了するときはコマンドを2回打つのが面倒なので、:wq,:q!で一発終了。

カーソル移動

insertモードならカーソルキーで移動できる。ホームポジションから手を移動させたくないなら、normalモードでh,j,k,lキーを使って移動させることも可能。,,,に対応。

部分コピー

  1. visualモードにする
  2. カーソルキーで範囲を指定する
  3. yキー押下してコピーする
  4. ESCキーでnormalモードにする
  5. pキー押下してペーストする

UndoとRedo

コマンド 意味
u アンドゥ
Ctrl+r リドゥ

normalモードで上記のキーを押下する。

課題

あたりまえだが、TABを入力すると、TABが入力された。Pythonのときはスペース4つにしたい。

所感

知らないことだらけ。ググりまくって一向にすすまない。面倒になってやめてしまいそう。慣れるまで耐えられるかが勝負。

忘却→検索→忘却→検索→...この反復に嫌気がさして、しぶしぶ記憶されてゆく。記憶とは苦行の歴史である。