2018年1月〜2月前半の近況

今年も一月が過ぎてしまった。はやいなぁ。

本家GNU nanoが2.9.3になった

GNU nano v2.9.3がリリースされている。–trimblankでsegfalutが発生する問題の改善。いくつかのキーのShiftキー同時押しのキーコード対応等がされている。地味にM-TabがSh-Tabと同じコードを返すようになっている。私家版では同じコードを返さずにM-Tabのままに戻した。

私家版GNU nanoに機能追加

私家版GNU nanoの方は機能をいくつか追加した。

256色、水平2画面分割に対応

ncursesが6.1にバージョンアップしたのを機会に、256色対応をした。HTMLのカラーコードを指定出来るようにして、少しカラフルになった。

水平2画面分割はなんとなく実装案が閃いたので、思いつくままに実装してしまった。正直「ずるい」実装なので、褒められたものではないのだが、思いの外うまく動いているようだ。

簡易ブックマークとタグジャンプ、バッファリストの実装

行単位の簡易ブックマークとタグジャンプを実装した。簡易ブックマークを行単位の実装にしたのは速度を懸念したため。タグジャンプはgrep -n/gtags/ctagsの形式に対応させた。

バッファリストはタグジャンプ等を使ってバッファを沢山開いている時、前後のバッファが分かり難いので実装。

ツーストローク関連の実装

そろそろ割り当てるキーが足りなくなってきたのでツーストロークキーを実装した。emacsでいうC-x C-cとかを実現出来るようになった。ツーストロークトグルはトグル関連をツーストロークとして呼び出せるようにしたもの。

キーバインドでM-^A等に対応

M-^A等のESC→コントロールコード自体は入力は出来ているのだが、それを解釈させることが標準ではできなかったので、nanorc等で設定出来るように変更した。

10〜12月の近況

今年も早いものでもう師走。

今年のベイスターズ

10/1に二年連続のAクラスが決まった。貯金フィニッシュも16年ぶり。個人的にはこれが一番嬉しかった。

10/24に日本シリーズ出場決定。19年ぶりに夢の舞台へ。残念ながら日本一にはなれなかったけど、非常にベイスターズファンとして幸せなシーズンでした。

来年こそは。

GNU nanoのキーバインド変更

GNU nano 2.8.7-56以降、2つのキーバインドの変更がされた。^S^Qの2つだ。

どちらも「XOFF/XONは効かないよ…ぶつぶつ」といった、Windowsユーザからすればなんだこりゃ的なメッセージを出す代物だった。Windowsでは保存ショートカットは基本的に^Sだから、保存しようとするとこのメッセージを見ることになる。一応nanorcのコメントにキーバイントの例として^Sをセーブに充てる方法が書かれていた。

GNU nanoでよく槍玉に挙げられるのは保存と終了だ。それぞれ^O^Xなのだが、(通常であればキーバインドが画面下部に表示があるのだが)それが分からないと言われることが多かった。^Oはともかく、^XはWindowsでいうALT+FXから連想は出来るとは思うが。

そんな批判を受けとめたのか、上記バージョンからは^Sが上書き保存に割り当てられた。この変更は歓迎されるものだと思う。

なお、^Qは^Wの後方検索版として割り当てられた。

私家版 SKK for Androidの改良

なんだかんだで上下キーは使うので最初はシフト面で割り当てていたのだけど、それでも面倒だったのでフリックでも実装。これで移動が楽になった。

6~7月の近況

例によって生存報告がてら。

旧版Fireタブレットを入手した

だいぶ前の話になるが3月に(今となっては旧版となる)Fireタブレットを入手した。自分はあまりamazonを使っていないので、Androidタブレットとしては出来ることは限られている。端末エミュレータは問題無く動作。amazonサービスをよく使う人なら良いタブレットなんだろうね。

GNU nano v2.8.5がリリースされた

GNU nano 2.8.5がリリースされている。allow negative lineって何のことか一瞬分からなかったけど、要は最終行からの指定が出来る様になったということね。最終行からの検索が必要になったときに威力を発揮するかもしれない。

v2.8.5-36あたりからは遂に全角の折り返し対応がされたので、自分で書いていたパッチが要らなくなった。自分の感覚だと>と<の表現が逆が好みなので、そこのパッチは充てているが。

EveryPhone ACを購入した

6インチのスマホが欲しかったので、安かったこれを購入。普段はUQモバイルを使っているのだが。

実際に使ってみて思うのは画面が大きいのはやはり良いということだ。勿論、携帯性は犠牲になるけど、それ以上に視認性の向上は大きい。

自分はターミナルで作業することも多いので、ある程度の大きさが欲しいのだ。

少し困るのは通常の端末と、BackキーとRecentAppキーが逆なことだ。RecentAppキーにBackキーを割り当てて、それぞれのLongPressにRecentAppキーを改めて割り当てる。所詮アプリの切り替えはそこまで頻繁にやるものでもないし、慣れるまでの暫定ということで。

サイトをHTTPS対応にした

いい加減に対応させないとと思っていたので、意を決して実行。まだcronとかは設定していないので、自動化はこれからすることにする。

5月の近況

ちょくちょくとプログラムやパッチを書いている。公開出来るレベルにないけど。

私家版GNU nanoを2.8.4に対応&不具合修正

私家版ではESCキーの押下状態を左上にtitlebarで表示している。2.8.2のヘルプの改善でヘルプの表示時にESCの表示で落ちてしまうことが分かったので、修正をかけた。変数inhelpがヘルプ表示中を示しているので、ヘルプ中だけ別処理をかます。なんかスマートじゃないなぁ。

私家版Android SKKを改造

上フリック→下フリック、またはその逆でシフトキーを押したときのフリックと同じ動作をさせるようにした。ローマ字配列も多少弄る。もうちょっとマイナーな変換テーブルを増やしても良さそう。

全角折り返し対応版の処理を改良する

GNU nanoの全角折り返し対応処理はactual_xstrnlenptのセットで実装していたのだけど、actual_xの中でstrnlenptの返却値にほぼ相当する変数widthがあるので、それが使えれば良いことに気づく。

セットになっている部分を改良版に置き換えたところ、少しばかり速度が改善した。

Android タブレットのコンソールでGNU nanoを使っていて感じるのは、(当たり前なのだが)どうしてもPCに比べたら非力だということだ。非力なマシンでも快適に動くように出来る高速化はしておこう。

HTML Generating Time : 0.081 s