Pythonの開発をコンソールだけでやってみた。
開発環境
- Windows XP Pro SP3 32bit
- cmd.exe(ConEmu/Nyagos)
背景
私は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! | 書き込まず終了(編集を破棄する) |
wはwrite、qはquitの略。長いコマンドでも可能。書き込んで終了するときはコマンドを2回打つのが面倒なので、:wq,:q!で一発終了。
カーソル移動
insertモードならカーソルキーで移動できる。ホームポジションから手を移動させたくないなら、normalモードでh,j,k,lキーを使って移動させることも可能。←,↓,↑,→に対応。
部分コピー
- visualモードにする
- カーソルキーで範囲を指定する
yキー押下してコピーするESCキーでnormalモードにするpキー押下してペーストする
UndoとRedo
| コマンド | 意味 |
|---|---|
u |
アンドゥ |
Ctrl+r |
リドゥ |
normalモードで上記のキーを押下する。
課題
あたりまえだが、TABを入力すると、TABが入力された。Pythonのときはスペース4つにしたい。
所感
知らないことだらけ。ググりまくって一向にすすまない。面倒になってやめてしまいそう。慣れるまで耐えられるかが勝負。
忘却→検索→忘却→検索→...この反復に嫌気がさして、しぶしぶ記憶されてゆく。記憶とは苦行の歴史である。