Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kaaedit/kaa

kaa - console text editor
https://github.com/kaaedit/kaa

Last synced: 11 days ago
JSON representation

kaa - console text editor

Awesome Lists containing this project

README

        

============================
Kaa - console text editor
============================

:date: 2013-11-03 23:00
:tags: kaa, Python3
:slug: kaa-doc-ja

kaa はシンプルで簡単に使える、コンソール用テキストエディタです。

.. contents::
:depth: 2

Overview
============

kaa は簡単かつ高機能なテキストエディタで、次のような機能を備えています。

- マクロ記録

- Undo/Redo

- マルチウィンドウ・マルチフレーム

- 構文ハイライト

- Grep

- Python デバッガ

- オープンソース・ソフトウェア(MITライセンス).

- などなど

.. image:: http://www.gembook.org/static/images/kaa_multiwindow.png

http://kaaedit.github.io にもスクリーンショットが公開されています。

Kaa is easy!
------------

kaaは高機能ですが、簡単に扱えるようになっています。まず最初に、「メニューは f1 キーか alt+m で表示する」ということだけ覚えてください。ほとんどの機能は、このメニューから利用できます。メニューには下線が引かれた文字がありますので、その文字のキーを押して実行します。MS-Windowsのメモ帳のように、わかりやすく使えるように配慮されています。

カスタマイズ
------------

kaa はプログラミング言語 `Python `_ で開発されており、簡単な Python スクリプトでさまざまなカスタマイズを行えます。

マルチプラットフォーム
----------------------

kaa はCUI環境用のエディタで、LinuxやMac OS Xなど、多くのUN*X系オペレーティングシステムで動作します。kaa はUnicodeアプリケーションで、kaaを実行するプラットフォームとターミナルエミュレータはどちらもUnicodeをサポートしている必要があります。

MS-WindowsのCygwinは、現在のところサポートしていません。今後、CygwinでPython3.3以降がリリースされたあと、kaaの動作確認を実施する予定です。

インストール
=============

動作環境
---------

* Python 3.3以降。

* Python 3.3 開発用ライブラリ。Debian/Ubuntuでは、 ::

$ sudo apt-get install python3-dev

で必要なファイルをインストールできます。

* Pythonをパッケージ管理システムからインストールするのではなく、独自にビルドして利用する場合、ビルドする前に、ワイド文字をサポートした ncurses ライブラリをインストールしておく必要があります。Debian/Ubuntuでは、 ::

$ sudo apt-get install libcursesw5 libncurses5-dev libncursesw5-dev

で必要なファイルをインストールできます。インストール後に、Pythonを再ビルドしてください。

* UTF-8 locales(ja_JP.UTF-8など)

* (オプション) Cython

インストール
---------------

easy_install3 や pip-3で、PyPI からインストールします ::

$ sudo easy_install3 -U kaaedit

ターミナル設定
================

キーボード設定
----------------

kaaでは、`alt+k` のような alt キーを使った操作を利用します。最近のWindows や Linux のターミナルエミュレータではそのまま利用できますが、Mac OS X のターミナルやiTermでは、以下の設定が必要になります。

Mac OS X のターミナルの場合 :

1. 「環境設定」メニューを開く
2. 「設定」タブを開く
3. 「キーボード」タブを開く
4. 「メタキーとして option キーを使用」をチェックする

iTermの場合 :

1. 「Preferences」メニューを開く
2. 「Profiles」タブを開く
3. 「Keys」タブを開く
4. 「`Left option Key acts as: +Esc.` 」 ボタンと「`Right option Key acts as: +Esc.` 」 ボタンをチェックする

Gnome terminal では、f1 キーでメニューを表示する場合は次のように設定します。

1. 「Edit | Keyboard shortcuts」メニューを開く
2. ショートカットに「Help/Contents」が表示されるまでスクロールし、f1キーを別のキーに変更する。

色設定
-------------

kaaは256色モードをサポートしていますが、256色モードを使えるようにするには、ターミナル設定の変更が必要となる場合があります。 Max OS Xのターミナルの場合、

1. 「環境設定」メニューを開く
2. 「詳細」タブを開く
3. 「ターミナルの宣言方法」で、「`xterm-256color`」を選択する

iTermでは、次のように設定します。

1. 「Preferences」メニューを開く
2. 「Profiles」タブを開く
3. 「Terminal」タブを開く
4. 「`Report terminal type`」で、「`xterm-256color`」を選択する

これ以外のターミナルエミュレータでは、手動での端末種別設定が必要な場合があります。 Gnome terminalなどでは、`~/.bashrc` ファイルに、次の一行を追加してください。

.. code:: sh

export TERM=xterm-256color

ターミナルの設定については、http://www.pixelbeat.org/docs/terminal_colours/#256 などを参考に256色モードを有効にしてください。

コマンドラインオプション
===========================

kaa は以下のコマンドラインオプションをサポートしています。 ::

usage: kaa [-h] [--version] [--no-init] [--init-script INIT_SCRIPT]
[--palette PALETTE] [--term TERM]
[file [file ...]]

-h, --help show this help message and exit
--version show version info and exit
--no-init skip loading initialization script
--init-script INIT_SCRIPT execute file as initialization script instead of default initialization file
--palette PALETTE color palette. available values: dark, light.
--term TERM, -t TERM specify terminal type
--command command, -x command spefify kaa command id to execute at startup e.g: kaa -x python.console / kaa -x tools.grep

使い方
=======

kaaは直感的に使えるように配慮されており、文字キーをタイプすれば文字が入力され、カーソルキーや削除キーもそのまま使えるようになっています。

メニュー
-----------

f1 キーか alt+m (altキーを押しながら `m` キーを押す) でメニューを表示します。メニューの項目には下線が引かれた文字がありますので、その文字をタイプすると実行します。日本語入力中でIMEが日本語入力モードになっている場合、altキーを押しながらメニューキーをタイプすると、IMEが日本語入力モードのままでもメニューを選択できます。

メニューを終了するときは、エスケープキーでキャンセルします。

File menu
++++++++++

+------------+----------------------------------------------------+
| New | 新規作成 |
+------------+----------------------------------------------------+
| Open | ファイルを開く |
+------------+----------------------------------------------------+
| File info | ファイル情報を表示する。また、タブ・インデントなど |
| | のファイル別設定を変更する。 |
+------------+----------------------------------------------------+
| View Diff | 元のファイルと、現在のバッファの差分を表示する |
+------------+----------------------------------------------------+
| Save | ファイル保存 |
+------------+----------------------------------------------------+
| Save As | ファイルに名前をつけて保存 |
+------------+----------------------------------------------------+
| Close | アクティブなフレームを閉じる |
+------------+----------------------------------------------------+
| Save all | すべてのファイルを保存する |
+------------+----------------------------------------------------+
| Close all | すべてのフレームを閉じる |
+------------+----------------------------------------------------+
| [Recently] | 「最近のファイル」メニューを開く |
+------------+----------------------------------------------------+
| Quit | kaaを終了する |
+------------+----------------------------------------------------+

Recently used files memu
~~~~~~~~~~~~~~~~~~~~~~~~

+---------------------+-----------------------------------------+
| Recently used files | 最近使ったファイルの一覧を表示する |
+---------------------+-----------------------------------------+
| Recently used dirs | 最近使ったディレクトリの一覧を表示する |
+---------------------+-----------------------------------------+

Edit menu
+++++++++

+---------------------+-----------------------------------------+
| Cut | 選択文字をカット |
+---------------------+-----------------------------------------+
| Copy | 選択文字をコピー |
+---------------------+-----------------------------------------+
| Paste | クリップボードからペースト |
+---------------------+-----------------------------------------+
| Paste History | クリップボード履歴から選択してペースト |
+---------------------+-----------------------------------------+
| Undo | 最後の修正を取り消し |
+---------------------+-----------------------------------------+
| Redo | 最後の undo を取り消す |
+---------------------+-----------------------------------------+
| Search | 文字列検索 |
+---------------------+-----------------------------------------+
| Replace | 文字列置換 |
+---------------------+-----------------------------------------+
| Complete | 単語補完 |
+---------------------+-----------------------------------------+
| [Convert] | 文字列変換メニューを表示 |
+---------------------+-----------------------------------------+

Text convert menu
~~~~~~~~~~~~~~~~~~~~

+---------------+----------------------------------------------------+
| Upper | 選択文字列を大文字に変換する |
+---------------+----------------------------------------------------+
| Lower | 選択文字列を小文字に変換する |
+---------------+----------------------------------------------------+
| Normalization | 選択文字列を正規化形式KCで正規化し、半角カナ->全角 |
| | などの変換を行う |
+---------------+----------------------------------------------------+
| Full-width | 選択文字列の数字やアルファベットなどを全角に変換 |
| | する |
+---------------+----------------------------------------------------+

Code memu
+++++++++

Codeメニューは、ファイルの種類によって異なります。プログラミング言語では、以下のような項目が表示されます。

+---------------+----------------------------------------------------+
| Comment | 選択範囲した行をコメントにする |
+---------------+----------------------------------------------------+
| Uncomment | 選択した行のコメント解除する |
+---------------+----------------------------------------------------+
| Table of | 目次を表示し、選択した項目にカーソルを移動する |
| contents | |
+---------------+----------------------------------------------------+

Macro menu
++++++++++

+---------------+----------------------------------------------------+
| Start record | マクロ記録を開始する |
+---------------+----------------------------------------------------+
| End record | マクロ記録を終了する |
+---------------+----------------------------------------------------+
| Run macro | 最後に記録したマクロを実行する |
+---------------+----------------------------------------------------+

Tools menu
++++++++++

+----------------+------------------------------------------------+
| Python console | Pythonスクリプトを実行する |
+----------------+------------------------------------------------+
| Grep | 指定したディレクトリからファイルを検索する |
+----------------+------------------------------------------------+
| Paste lines | 自動インデントせずにテキストをペースト |
+----------------+------------------------------------------------+
| Shell command | シェルコマンドを実行し、結果を入力 |
+----------------+------------------------------------------------+
| Make | ``make`` コマンドでソースファイルをコンパイル |
| | し、結果を表示します。f9/f10キーで前後のコンパ |
| | イルエラーに移動します。 |
+----------------+------------------------------------------------+

Window menu
+++++++++++

+----------------+-------------------------------------------------+
| Frame list | フレーム一覧を表示。カーソル左右でフレームを |
| | 選択する。 |
+----------------+-------------------------------------------------+
| Split vert | ウィンドウを縦に分割する |
+----------------+-------------------------------------------------+
| Split horz | ウィンドウを横に分割する |
+----------------+-------------------------------------------------+
| Move separator | ウィンドウの分割位置を変更する。カーソル左右で、|
| | 分割位置が更新される |
+----------------+-------------------------------------------------+
| Next window | 次のウィンドウに移動 |
+----------------+-------------------------------------------------+
| Prev window | 前のウィンドウに移動 |
+----------------+-------------------------------------------------+
| Join window | 分割したウィンドウを結合 |
+----------------+-------------------------------------------------+
| [Switch file] | ウィンドウ変更メニューを表示 |
+----------------+-------------------------------------------------+

Switch file menu
+++++++++++++++++

+---------------------+-----------------------------------------------------------+
| Switch file | ウィンドウで表示しているファイルを切り替える。 |
| | カーソル左右でファイルを選択する。 |
+---------------------+-----------------------------------------------------------+
| New file here | 現在のウィンドウで新規にファイルを作成 |
+---------------------+-----------------------------------------------------------+
| open file here | 現在のウィンドウでファイルを開く |
+---------------------+-----------------------------------------------------------+
| Recently used files | 現在のウィンドウで最近使ったファイルの一覧を表示する |
+---------------------+-----------------------------------------------------------+
| Recently used dirs | 現在のウィンドウで最近使ったディレクトリの一覧を表示する |
+---------------------+-----------------------------------------------------------+

キー設定
------------

メニュー関連
+++++++++++++++++++

+---------------+----------------------------------------------------+
| F1, alt+m | メニューを表示 |
+---------------+----------------------------------------------------+
| Alt-w | ウィンドウ変更メニューを表示 |
+---------------+----------------------------------------------------+

カーソルキー
++++++++++++++++

+--------------------+------------------------------------------------+
| 左、Control+b | カーソル左 |
+--------------------+------------------------------------------------+
| 右, Control+f | カーソル右 |
+--------------------+------------------------------------------------+
| 上 | カーソル上 |
+--------------------+------------------------------------------------+
| 下 | カーソル下 |
+--------------------+------------------------------------------------+
| Control+p | 1行上の物理行に移動 |
+--------------------+------------------------------------------------+
| Control+n | 一行下の物理行に移動 |
+--------------------+------------------------------------------------+
| Control+left, | 一つ前のワード境界に移動 |
| Alt+b | |
+--------------------+------------------------------------------------+
| Control+right, | 次のワード境界に移動 |
| Alt+f | |
+--------------------+------------------------------------------------+
| Alt+p, Page up | 次ページ |
+--------------------+------------------------------------------------+
| Alt+n, Page down | 前ページ |
+--------------------+------------------------------------------------+
| Control+a, Home | 行頭 |
+--------------------+------------------------------------------------+
| Alt+^ | 行頭の非空白文字 |
+--------------------+------------------------------------------------+
| Control+e, End | 行末 |
+--------------------+------------------------------------------------+
| Alt+<, Control+Home| ファイルの先頭 |
+--------------------+------------------------------------------------+
| Alt+>, Control+End | ファイルの末尾 |
+--------------------+------------------------------------------------+
| Control+g | 指定した行番号へ移動 |
+--------------------+------------------------------------------------+
| Control+t | 目次を表示 |
+--------------------+------------------------------------------------+

テキスト選択
+++++++++++++++++++

+--------------------+------------------------------------------------+
| Shift+left | 前の文字へ選択 |
+--------------------+------------------------------------------------+
| Shift+right | 次の文字へ選択 |
+--------------------+------------------------------------------------+
| Shift+up | 上の行へ選択 |
+--------------------+------------------------------------------------+
| Shift+down | 下の行へ選択 |
+--------------------+------------------------------------------------+
| Shift+Home | 行頭まで選択 |
+--------------------+------------------------------------------------+
| Shift+End | 行末まで選択 |
+--------------------+------------------------------------------------+
| Control+Shift+Home | ファイルの先頭まで選択 |
+--------------------+------------------------------------------------+
| Control+Shift+End | ファイルの末尾まで選択 |
+--------------------+------------------------------------------------+
| Control+Space, | テキスト選択マークを設定。 |
| Control+@ | |
+--------------------+------------------------------------------------+
| Alt+# | テキスト矩形選択マークを設定。 |
+--------------------+------------------------------------------------+
| Alt+a | すべてのテキストを選択 |
+--------------------+------------------------------------------------+
| Alt+c | 一度押すと現在の単語、2度目は現在の行、3度目は |
| | すべてのテキストを選択する |
+--------------------+------------------------------------------------+

テキスト削除
++++++++++++++++

+--------------------+------------------------------------------------+
| Backspace, | 前の文字を削除 |
| Control+h | |
+--------------------+------------------------------------------------+
| Delete, | カーソル位置の文字を削除 |
| Control+d | |
+--------------------+------------------------------------------------+
| Control+backspace, | 前の単語を削除 |
| Alt+h | |
+--------------------+------------------------------------------------+
| Control+Delete, | カーソル位置の単語を削除 |
| Alt+d | |
+--------------------+------------------------------------------------+
| Control+k | 行末まで削除 |
+--------------------+------------------------------------------------+
| Alt+k | 行全体を削除 |
+--------------------+------------------------------------------------+

クリップボード
++++++++++++++++

+--------------------+------------------------------------------------+
| Control+v | クリップボードからペースト |
+--------------------+------------------------------------------------+
| Control+x | カット |
+--------------------+------------------------------------------------+
| Control+c | コピー |
+--------------------+------------------------------------------------+
| Alt+v | クリップボード履歴からペースト |
+--------------------+------------------------------------------------+

Undo/Redo
+++++++++++++++

+--------------------+------------------------------------------------+
| Control+z | 最後の編集を取り消す |
+--------------------+------------------------------------------------+
| Control+y | 最後のUndoを取り消す |
+--------------------+------------------------------------------------+

検索/置換
+++++++++++++++++

+--------------------+------------------------------------------------+
| Control+s | テキスト検索 |
+--------------------+------------------------------------------------+
| Alt+s | テキスト置換 |
+--------------------+------------------------------------------------+
| F2 | 前を検索 |
+--------------------+------------------------------------------------+
| F3 | 次を検索 |
+--------------------+------------------------------------------------+

その他
+++++++++++++++

+--------------------+------------------------------------------------+
| F6 | マクロ記録開始・終了 |
+--------------------+------------------------------------------------+
| F5 | マクロ実行 |
+--------------------+------------------------------------------------+
| Alt+. | 直前の編集コマンドを再実行 |
+--------------------+------------------------------------------------+
| Tab | 選択行をインデント |
+--------------------+------------------------------------------------+
| Shift+Tab | 選択行をインデント解除 |
+--------------------+------------------------------------------------+
| Control+o | 単語補完 |
+--------------------+------------------------------------------------+
| Control+u Alt+! | シェルコマンドを実行し、結果を入力 |
+--------------------+------------------------------------------------+

置換ダイアログ
--------------

置換ダイアログで `regex` ボタンをチェックしている場合、`Search` と `Replace` に指定した文字列は正規表現文字列となります。この場合、`\\t` や `\\n` などの特殊文字はそれぞれタブ文字と改行文字に変換されます。

同様に、バックリファレンスも検索条件に一致した文字列で置換されます。例えば、検索文字列が `'(a+)(b+)'` で置換文字列が `'\\2\\1'` の場合、文字列 `'aabb'` は `'bbaa'` に置換されます。

Grep dialog
------------

Grepダイアログの `Search` には検索文字列を、`Directory` には検索を開始するディレクトリを、`Filename` には検索対象となるファイル名のパターンをシェル形式のワイルドカードで指定します。ファイル名は、スペースで区切って複数指定できます(例: `*.txt *.py *.doc`)。各項目では、カーソル上キーでこれまでの入力履歴が選択可能となります。

検索結果ウィンドウでは、エンターキーで現在行のファイルにジャンプします。その後 `f9` キーと `f10` キーで前後の検索結果に移動できます。

Python console
--------------

対話的にPythonスクリプトを評価・実行します。スクリプトを実行するときには、入力したスクリプトの末尾にカーソルを移動してEnterを入力します。スクリプトの途中でEnterを入力した場合には、改行文字が挿入されます。

Python デバッガ
---------------

Kaa は、Pythonのデバッガモジュール(``bdb``) のフロントエンドとして、他のプロセスで実行する Python スクリプトをデバッグできます。Kaa自身はPython3.3以降でのみ動作しますが、デバッグ対象のプロセスではPython2.6以降のPythonインタープリタをサポートしています。

起動方法
++++++++++++++++++

Pythonデバッガは、以下のいずれかの方法で起動します。

kaadbg.run モジュール
~~~~~~~~~~~~~~~~~~~~~~~~

``kaadbg`` パッケージをPythonインタプリタで起動し、デバック対象のプログラムをkaaに接続します。 ``kaadbg`` パッケージは kaa の一部としてインストールされますが、Python 2.6/2.7でのデバッグを行う場合は、別のパッケージとして個別にインストールできます。

::

$ sudo pip install -U kaadbg

``kaadbg`` は、Python2.6 〜 3.x のデバッグをサポートしています。

デバッガを起動するとき、まずkaa のメニューで ``[Tools]|Python debugger server`` を選択し、表示されるフォームにデバッガで使用するポート番号(デフォルトでは ``28110``) を指定します。

次に、kaa を実行しているターミナルとは別のターミナルを開き、以下のコマンドを実行します。

::

$ python -m kaadbg.run my_test_stript.py arg1 args

kaaデバッガのポートとして `28110` 以外を指定した場合は、コマンドライン引数 ``-p`` でポート番号を指定してください。

::

$ python -m kaadbg.run -p 29000 my_test_stript.py arg1 args

set_trace
~~~~~~~~~~~~~~~~~~~~~~~~

``kaadbg`` パッケージをデバック対象のプログラムにインポートし、Python標準の ``pdb`` モジュールのように ``set_trace()`` でデバッガに接続できます。

デバッグの開始は、kaa のメニューで ``[Tools]|Python debugger server`` を選択し、表示されるフォームにデバッガで使用するポート番号を指定します。

デバック対象プログラムの、デバッガを起動する位置に以下の処理を追加します。

.. code:: python

import kaadbg.debug
kaadbg.debug.set_trace()

kaaデバッガのポートとして `28110` 以外を指定した場合は、``set_trace()`` の引数として指定します。

.. code:: python

import kaadbg.debug
kaadbg.debug.set_trace(29000)

テスト対象プログラムを起動し、``set_trace()`` が実行されるとkaaデバッガに表示されます。

子プロセスとして起動
~~~~~~~~~~~~~~~~~~~~~~~~

テスト対象プログラムを kaa の子プロセスとして起動し、デバッグします。

まず、kaa のメニューで ``[Tools]|Python debugger`` を選択し、テストコマンドを指定します。テストコマンドは、

::

python3.3 -m kaadbg.run myscript.py arg1 arg2

のように、``python3.3 -m kaadbg.run`` の引数として、テスト対象のスクリプトとパラメータを指定して実行します。

この方法でデバッグを実行すると、対象プログラムの標準入力はすぐにクローズされます。また、標準出力・エラー出力も表示されません。

ブレークポイント
++++++++++++++++++

ブレークポイントのオン・オフは、Pythonモードでメニューの ``[Code]|Toggle Breakpoint`` を選択して行います。デフォルトのキー設定では、``f8`` キーに割り当てられています。

デバッガウィンドウが表示されている時は、エスケープキーで一旦デバッガウィンドウを閉じ、エディタウィンドウでブレークポイントを設定します。設定終了後、もう一度メニューで ``[Tools]|Python debugger`` を選択すると、デバッグを再開できます。

ブレークポイントの一覧は、デバッガウィンドウの ``Breakpoint`` で表示します。

変数の表示
++++++++++++++++++

停止位置での変数の表示は、デバッガウィンドウの ``Expr`` を指定し、``self.field1`` のように、表示する式を入力してエンターキーを押します。

Make
--------------

``[Tools]|Make`` で ``make`` コマンドを実行し、ファイルをコンパイルします。実行時にはコマンドやオプションを指定し、過去のコマンド履歴を参照する場合はカーソル上キーを押します。

``make`` の実行結果はウインドウに表示され、エンターキーでエラーが発生しているソースファイルを表示します。前後のエラーに移動するときは、f9/f10 キーを押します。

カスタマイズ
==================

kaa は、起動時に ファイル `~/.kaa/__kaa__.py` をPythonスクリプトファイルとして実行します。このファイルには、kaa をカスタマイズするためのスクリプトを記述できます。

色テーマ設定
----------------------------------

色パレットを、``light`` に設定します。

.. code:: python

import kaa
kaa.app.DEFAULT_PALETTE = 'light' # `light' テーマを指定。デフォルトは`dark'

行番号表示
----------------------------------

.. code:: python

from kaa.filetype.default import defaultmode
defaultmode.DefaultMode.SHOW_LINENO = True

`defaultmode.DefaultMode` は全てのテキストファイル用編集モードの基底クラスで、 `Defaultmode.SHOW_LINENO` が `True` なら全てのファイルで行番号を表示します。

個々のファイルタイプで行番号の表示・非表示を設定する場合は、そのファイル編集モードクラスの `SHOW_LINENO` を設定します。

.. code:: python

# Show line number in HTML mode
from kaa.filetype.html import htmlmode
htmlmode.HTMLMode.SHOW_LINENO = True

キー割り当てのカスタマイズ
---------------------------------------

キーのコマンドを割り当ては、関数 `kaa.addon.keybind()` を利用します。

.. code:: python

keybind(filemode='kaa.filetype.default.defaultmode.DefaultMode',
editmode='input', keymap={})

`filemode` にはキーバインドを登録するモードクラスの名前を指定します。`editmode` には編集モードとして `insert`, `command`, `visual`, `visualline` のいずれかの値を指定します。 `keys` には、キーバインドとコマンド名の辞書を指定します。

次のサンプルでは、ウィンドウ分割を Emacs と同じ `Control+x 2` キーに割り当てます。

.. code:: python

# sample to register custom keybind.
from kaa.addon import *
keybind(keymap={
((ctrl, 'x'), '2'):
'editor.splithorz' # Assign C-x 2 to split window.
})

コマンドの作成
----------------------------------

Pythonの関数にデコレータ `@kaa.addon.command` を指定して、kaa のコマンドとして登録できます。

.. code:: python

command(commandid,
filemode='kaa.filetype.default.defaultmode.DefaultMode'):

`commandid` はコマンドIDを文字列で指定します。 `filemode` は、コマンドを登録するモードクラスを文字列で指定します。

.. code:: python

# sample command to insert text at the top of file.
@command('test.command')
def testcommand(wnd):
wnd.cursor.setpos(0)
wnd.document.mode.put_string(wnd, 'sample text\n')


表示色のカスタマイズ
-------------------------

テキストの表示色は、 `kaa.addon.theme_def()` で指定します。

.. code:: python

theme_def(filemode='kaa.filetype.default.defaultmode.DefaultMode',
theme=None)

`filemode` には色を指定するモードクラスの名前を指定します。`theme` には、テーマ名とスタイルオブジェクトのリストを辞書形式で指定します。現在のところ、テーマ名は `basic` のみが指定可能です。

.. code:: python

# update default foreground color to red.
theme_def(theme={
'basic': [
Style('default', 'red', None),
]
})

Links
==========

- `Github project page `_

- `Github repository `_

- `Python Package Index(PyPI) `_

Copyright
=========================

Copyright (c) 2013-2016 Atsuo Ishimoto

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.