前回の日記はこちら(id:hatenadiary:20110409:1302340942)
PyConsoleでCygwinがとりあえず動きました、正常動作しているかどうかは分かりません、動いただけです。
pyconsole_wx.py を以下のように書き換えます。
改変前(pyconsole_wx.py)
class ConsoleProcessWindow (wx.stc.StyledTextCtrl): def __init__ (self, *args, **kwargs): wx.stc.StyledTextCtrl.__init__ (self, *args, **kwargs) <<snip>> self.console_process = pyconsole.ConsoleProcess ('cmd.exe', console_update=self.console_update)
改変後(pyconsole_wx.py)
class ConsoleProcessWindow (wx.stc.StyledTextCtrl): def __init__ (self, *args, **kwargs): wx.stc.StyledTextCtrl.__init__ (self, *args, **kwargs) <<snip>> # #C:\cygwin\Cygwin.bat の内容をコピー。 # self.console_process = pyconsole.ConsoleProcess ('C:\\cygwin\\bin\\bash.exe --login -i', console_update=self.console_update)
スクリーンキャプチャ
bash のバージョンを表示
CP932.txtを表示(この後、wxPythonがフリーズしました)
- UTF8.txt の内容
日本語(UTF8)のテキストです。 2行目。 3行目です。 ダメ文字、表円竹曾察UTF8なので関係ないとは思いますが・・・
- CP932.txt の内容
日本語(CP932)のテキストです。 2行目。 3行目です。 ダメ文字、表円竹曾察
ショートカットキー
画面をクリアするCygwinのショートカットキー(Ctrl-L)は使えず。
wxPython側はTextCtrlの内容しか見ていないのが原因だと思います。なのでキー入力を捕まえてPyConsoleへ送れば画面クリアされる??
妄想だけで未確認です。
VIM
pyconsole_vim.vim を改造すればVIMの中でCygwinが使えるんじゃないかと・・・
自分、vimerじゃないんでよく分かりませんが・・・
すいません。
<<snip>> au CursorHold <buffer> call CheckUpdated() function CheckUpdated() if g:console_process_row > g:console_process_row_last let g:console_process_row_last = g:console_process_row " since this a timer based command the :startinsert " does not work. So send in the line append command call remote_send (v:servername, 'A') endif endfunction python import pyconsole_vim python vc = pyconsole_vim.VimConsole('cmd.exe') imap <buffer> <cr> <esc>:python vc.exec_line()<cr> imap <buffer> <tab> <esc>:python vc.exec_part()<cr> |<<