※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。



[2007-10-25]

とりあえずの定型文位置・カーソル位置指定挿入


ほとんど今まで書いたものの使いまわし^^;
MouseGetPos でマウス下のコントロールの ClassNN を取得して貼り付けを確実に
行えるようにした。
送信キーを変数にしてるのは、Windows 標準のキーバインド以外のキーを想定してる
からなんだけど、そのあたり(各エディタの仕様)や、ユーザのニーズが多様である
こととか、そんなこんなで汎用なソフトが無いんだろうなあ。


[2007-10-09]

考える力

やっぱカーソルキーですかね、 TOKKY さま。esPst のキー送信には慣れてないもんで、
Windows のショートカットキーとクリップボード利用で AHK で簡単にやっつけ^^。

書道展、ピアノ・デュオ・コンサート、と芸術の秋を満喫したこの連休、
「考える」方向に頭が切り替わっておらず、あまりにも稚拙な方法ですが。

テキストで定型文のリストファイル作って、ListView で migemo でインクリメンタル
サーチしてクリップボードに送ったら以下のメニューを出して動作を選べば、なんとか
なるんじゃないかと、あとはタブとか改行とかも入れて組み合わせを工夫して^^;


#NoTrayIcon
#SingleInstance

C = ^C
V = ^v
X = ^x
L = {HOME}
R = {End}
L1 = {Left}
R1 = {Right}

Menu, pattern, Add, a:カーソル位置に挿入, past
Menu, pattern, Add, b:1文字左に挿入, past_left
Menu, pattern, Add, c:1文字右に挿入, past_right
Menu, pattern, Add, d:行頭に挿入, past_top  ; カーソールは行末
Menu, pattern, Add, e:前行末に挿入, past_prev  ; カーソールは行末
Menu, pattern, Show
Menu, pattern, Delete

past:
	Send, %V%
	ExitApp
past_left:
	Send, %L1%%V%
	ExitApp
past_right:
	Send, %R1%%V%
	ExitApp
past_top:
	Send, %X%%L%%V%%R%
	ExitApp
past_prev:
	Send, %X%%L%%L1%%V%%R%
	ExitApp

GuiClose:
Exit

%X% の指定では、選択範囲があればその選択文字列を移動して挿入、無ければクリップ
ボードの文字列を挿入になります(Shortinput.l と同じ動作)が、Windows の Ctrl+X
(切り取り)を独自に拡張してあるエディタ、例えば、選択範囲が無ければその行を
切り取るサクラエディタなど、は要注意です。

リストからクリップボードに送ったデータを一旦ユーザ変数に格納してしまえば、
選択範囲を再度クリップボードに送って同時利用できるんじゃないかと思うけど、
登録文中の「ここにカーソル」、つまり「カーソル位置を記憶しといて再現」するのは
ムリっぽい^^;

[2007-10-06]

カーソル位置指定と定型文位置指定挿入

さて、今度は文章を書いているときの定型文貼り付けの話。

定型文挿入や挟み込みをサポートするユーティリティソフトやエディタはあるけど
貼り付け後のカーソルの位置をユーザが任意に指定できるものは殆ど見当たらない。
精々、貼り付けた文字列の前か後かと言う程度じゃないでしょうか?探し足りない?

xyzzy で定型文入力をサポートする拡張 Lisp、 shortinput.l では、定型文と言うより
登録文字列の短縮入力なのだが、登録文字列中に、書式文字列を使って選択範囲を
挿入する位置、貼り付け後のカーソルの位置などを自由に指定できる。
さらに、 shortinput.l に「クリップボードの文字列で置き換え」を追加 すれば、
クリップボードの文字列を指定位置に挿入、選択範囲を挟み込み、カーソルはここ、
という作業が一度(一覧呼び出し→短縮語選択→ENTER)で済む。

例えば、
H(タブ)[\%:title=\_\#]

と登録しておいて、url をクリップボードにコピー、文章中で文字列「はてな」を
選択後 shortinput の一覧から「H」を選択(インクリメンタル OK)→ENTER で
[http://d.hatena.ne.jp/juria-no/:title=(カーソル位置)はてな]
と、はてなダイアリーのリンクの書式。

W(タブ)[[\_\#>\%]]

W 実行で
[[(カーソル位置)はてな>http://d.hatena.ne.jp/juria-no/]]
と、ここ @wiki のリンクの書式。

A(タブ)<a href = "\%">\#\_</a>

A 実行で
<a href = "http://d.hatena.ne.jp/juria-no/">はてな(カーソル位置)</a>
と、HTML ハイパーリンクの書式。

\L■\R
で、行中のどこで実行しても■が行頭に挿入され、カーソルは行末に移動する。
(カーソルを行頭に移動→■入力→カーソルを行末に移動、と言う流れ)

なんだか回りくどい文章になっちゃったけど、要するに、

こんなソフトありませんか?
他のエディタでも楽したいのです。貼り付けて自身は終了する非常駐希望です。

[2007-10-05]

カレット位置指定と選択範囲指定 あふの場合


$k と $K が一部逆になってたのを修正[2007-10-09]

あふに、文字入力時のカレット位置指定と文字の選択範囲を指定するマクロが搭載
された。拡張子判別実行やキー定義の入力ボックス内やメニューファイル内で使用
すればいいのかな?
$K:カレット位置
$k:選択開始位置 $k と $K の間の文字を選択状態に
選択範囲があるとキャレットの位置が選択範囲の後になっちゃうんだけどね。

あまり使用方法を思いつかなかったのだけど、
カーソルのあるファイルの拡張子を選択状態にして、入力した文字列(拡張子)に
書き換える。カレット位置は拡張子の前、入力ボックスのタイトルは「拡張子変更」

Ctrl+R に
cmd /c ren "$W.$E" $IT"$W.$k$E$K"$I2"拡張子変更""

私は、touch.exe( ここ とか ここ 。touch.exe はパスが通ったところに置く)であふのカレントディレクトリにテキストファイルを新規作成してから
touch.exe newfile.txt
エディタでコマンドやスクリプトや設定を記述、bat とか ahk とか cfg とかに
拡張子を変更して動作テストしてるんでね。(ファイル名は後から考える^^;)

あっ、それなら最初から入力ボックス出して

F7
touch.exe $IT"newfile.$ktxt$K"$I2"新規テキスト作成"


shift + F7
touch.exe $IT"$kfilename$K.txt"$I2"テキストファイル作成"
とかしてもいいわけで。
(同名ファイルがあるとそのファイルのタイムスタンプ更新なので注意)

もちろん、中身がテキストなファイルは、拡張子判別実行メニューから選択して
テキストエディタで開けるようにしてあります。


-