スパム対策 By UWSC 編集

オプション
<p>スパムがあふれかえってしまい、コメント投稿がまともに見られなくなってしまいました。</p> <p>皆様にはご迷惑をおかけしました。</p> <p>そこで、罪滅ぼしとして英文スパム除去ツールを作成しました。</p> <p>&nbsp;</p> <p>ページ名、ページ番号などを変更すれば本WIKIサービスのほかのページでも使えると思います。</p> <hr /> <p class="uk-text-center">DelSpam.uws</p> <hr /> <p>&nbsp;</p> <p>call &quot;reg_module.uws&quot;<br /> fukidasi(&quot;Running&quot;)<br /> threeOuts=0<br /> repeat<br /> &nbsp;&nbsp; &nbsp;if mainloop()<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;threeOuts=0<br /> &nbsp;&nbsp; &nbsp;else<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;threeOuts=threeOuts+1<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;fukidasi(&quot;Passed&quot;)<br /> &nbsp;&nbsp; &nbsp;endif<br /> until threeOuts &gt; 20<br /> //&lt;input id=&quot;sign_in_email&quot; class=&quot;uk-form-large uk-form-width-large&quot; name=&quot;email&quot; value=&quot;&quot; placeholder=&quot;登録したメールアドレス&quot; type=&quot;text&quot;&gt;<br /> function&nbsp;&nbsp; &nbsp;mainloop()<br /> &nbsp;&nbsp; &nbsp;result=false<br /> &nbsp;&nbsp; &nbsp;powershell(&quot;ps iexplore|kill&quot;)<br /> &nbsp;&nbsp; &nbsp;IE=createoleobj(&quot;InternetExplorer.Application&quot;)<br /> &nbsp;&nbsp; &nbsp;IE.navigate(&quot;https://wiki3.jp/signIn&quot;)<br /> &nbsp;&nbsp; &nbsp;IE.Visible=false<br /> &nbsp;&nbsp; &nbsp;HasLoggedIn=false<br /> &nbsp;&nbsp; &nbsp;repeat<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;try<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if pos( &quot;マイページ&quot;, IE.document.title )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;HasLoggedIn=true<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;break<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;endif<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;username=IE.document.getElementById(&quot;sign_in_email&quot;)<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;username.value=&quot;管理のメアド&quot;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;except<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sleep(0.1)<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;continue<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;endtry<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if username.value&lt;&gt;&quot;&quot; then break<br /> &nbsp;&nbsp; &nbsp;until false<br /> &nbsp;&nbsp; &nbsp;if !HasLoggedIn<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//&lt;input id=&quot;sign_in_password&quot; class=&quot;uk-form-large uk-form-width-large&quot; name=&quot;password&quot; value=&quot;&quot; placeholder=&quot;パスワード&quot; type=&quot;password&quot;&gt;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;password=IE.document.getElementById(&quot;sign_in_password&quot;)<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;password.value=&quot;管理人のパスワード&quot;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//&lt;button class=&quot;uk-button uk-button-primary uk-button-large uk-width-1-2 uk-align-center&quot;&gt;ログイン&lt;/button&gt;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;n=getoleitem( IE.document.getElementsByClassName(&quot;uk-button uk-button-primary uk-button-large uk-width-1-2 uk-align-center&quot;) )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;all_ole_item[0].click()<br /> &nbsp;&nbsp; &nbsp;endif<br /> //&lt;a href=&quot;/CSWU&quot;&gt;CSWU~どうする UWSCなしの互換システム&lt;/a&gt;<br /> &nbsp;&nbsp; &nbsp;IE.Navigate(&quot;https://wiki3.jp/CSWU/page/6&quot;)<br /> &nbsp;&nbsp; &nbsp;repeat<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;try<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;title=IE.document.title<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;except<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;endtry<br /> &nbsp;&nbsp; &nbsp;until title=&quot;UWSCサイトの現状 - CSWU~どうする UWSCなしの互換システム&quot;</p> <p>&nbsp;&nbsp; &nbsp;//JSをインジェクション<br /> &nbsp;&nbsp; &nbsp;repeat<br /> &nbsp;&nbsp; &nbsp;until getoleitem(IE.document.getElementsByTagName(&quot;body&quot;)) &gt; 0<br /> &nbsp;&nbsp; &nbsp;body=all_ole_item[0]<br /> &nbsp;&nbsp; &nbsp;script=IE.document.createElement( &quot;script&quot; )<br /> &nbsp;&nbsp; &nbsp;script.innerHTML=js<br /> &nbsp;&nbsp; &nbsp;body.appendChild(script)<br /> &nbsp;&nbsp; &nbsp;sleep(1)<br /> &nbsp;&nbsp; &nbsp;getoleitem(IE.document.getElementsByTagName(&quot;pre&quot;))<br /> &nbsp;&nbsp; &nbsp;Comments=all_ole_item[length(all_ole_item)-1].innerText<br /> &nbsp;&nbsp; &nbsp;RemovedCount=0<br /> &nbsp;&nbsp; &nbsp;for Comment in split(Comments,&quot;----------------------&lt;#CR&gt;&quot;)<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;ary=split(Comment,&quot;........................&lt;#CR&gt;&quot;)<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;id=ary[0]<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;body=ary[1]<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if reg.ismatched( body,&quot;^[\0-~]+$&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;IE.Navigate( &quot;https://wiki3.jp/CSWU/comment/delete/&quot; + id )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RemovedCount=RemovedCount+1<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;fukidasi(&quot;Removed Items=&quot;+RemovedCount)<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result=true<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;endif<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sleep(1)<br /> &nbsp;&nbsp; &nbsp;next</p> <p>&nbsp;&nbsp; &nbsp;textblock js<br /> &nbsp;&nbsp; &nbsp;{<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var CommentData=&#39;&#39;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var tags=document.querySelectorAll( &#39;a[data-comment-id]&#39; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for ( var i=0, len=tags.length; i&lt;len; i++ ){<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var tag=tags[i]<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var id=tag.outerHTML.replace(/^.*data-comment-id=&quot;/,&#39;&#39;).replace(/&quot;.*/,&#39;&#39;)<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var comment=tag.parentNode.previousElementSibling.innerText<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;CommentData+=id + &#39;\r\n........................\r\n&#39;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;CommentData+=comment + &#39;\r\n----------------------\r\n&#39;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var AllComments=document.createElement(&#39;pre&#39;)<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;AllComments.appendChild( document.createTextNode(CommentData) )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var body=document.getElementsByTagName(&#39;body&#39;)[0]<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;body.appendChild(AllComments)<br /> &nbsp;&nbsp; &nbsp;}<br /> &nbsp;&nbsp; &nbsp;endtextblock<br /> fend</p> <p>&nbsp;</p> <hr /> <p class="uk-text-center">regModule.uws</p> <hr /> <p>module&nbsp;&nbsp; &nbsp;reg<br /> &nbsp;&nbsp; &nbsp;dim&nbsp;&nbsp; &nbsp;obj<br /> &nbsp;&nbsp; &nbsp;dim&nbsp;&nbsp; &nbsp;cols<br /> &nbsp;&nbsp; &nbsp;procedure&nbsp;&nbsp; &nbsp;reg<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;obj&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;=CreateOleObj( &quot;VBScript.RegExp&quot; )<br /> &nbsp;&nbsp; &nbsp;fend<br /> &nbsp;&nbsp; &nbsp;procedure&nbsp;&nbsp; &nbsp;setType( type )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if pos( &quot;i&quot;, type )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;obj.IgnoreCase&nbsp;&nbsp; &nbsp;=true<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;else<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;obj.IgnoreCase&nbsp;&nbsp; &nbsp;=false<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;endif<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if pos( &quot;g&quot;, type )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;obj.Global&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;=true<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;else<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;obj.Global&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;=false<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;endif<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if pos( &quot;m&quot;, type )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;obj.Multiline&nbsp;&nbsp; &nbsp;=true<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;else<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;obj..Multiline&nbsp;&nbsp; &nbsp;=false<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;endif<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;type&nbsp;&nbsp; &nbsp;=global.replace( type, &quot;i&quot;, &quot;&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;type&nbsp;&nbsp; &nbsp;=global.replace( type, &quot;g&quot;, &quot;&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;type&nbsp;&nbsp; &nbsp;=global.replace( type, &quot;m&quot;, &quot;&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if length( type )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;msgbox( &quot;正規表現タイプ指定に誤りがあります&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;exitexit<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;endif<br /> &nbsp;&nbsp; &nbsp;fend<br /> &nbsp;&nbsp; &nbsp;function&nbsp;&nbsp; &nbsp;match( str, pat, type=&quot;&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;setType( type )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;obj.Pattern&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;=pat<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;cols&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;=obj.Execute( str )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if cols.Count<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result&nbsp;&nbsp; &nbsp;=cols.Item( 0 ).Value<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;else<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result&nbsp;&nbsp; &nbsp;=&quot;&quot;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;endif<br /> &nbsp;&nbsp; &nbsp;fend<br /> &nbsp;&nbsp; &nbsp;<br /> &nbsp;&nbsp; &nbsp;function&nbsp;&nbsp; &nbsp;isMatch( str, pat, type=&quot;&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;match( str, pat, type )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result&nbsp;&nbsp; &nbsp;=( cols.Count &gt; 0 )<br /> &nbsp;&nbsp; &nbsp;fend</p> <p>&nbsp;&nbsp; &nbsp;function&nbsp;&nbsp; &nbsp;isMatched( str, pat, type=&quot;&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;match( str, pat, type )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result&nbsp;&nbsp; &nbsp;=( cols.Count &gt; 0 )<br /> &nbsp;&nbsp; &nbsp;fend</p> <p>&nbsp;&nbsp; &nbsp;function&nbsp;&nbsp; &nbsp;matches( str, pat, type=&quot;&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;match( str, pat, type + &quot;g&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result&nbsp;&nbsp; &nbsp;=safearray( 0, -1)<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for i = 0 to cols.Count - 1<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result[ resize( result, length( result ) ) ]&nbsp;&nbsp; &nbsp;=cols.Item( i ).Value<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;next<br /> &nbsp;&nbsp; &nbsp;fend<br /> &nbsp;&nbsp; &nbsp;<br /> &nbsp;&nbsp; &nbsp;function&nbsp;&nbsp; &nbsp;left( str, pat, type=&quot;&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if isMatched( str, pat, type )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result&nbsp;&nbsp; &nbsp;=copy( str, 1, cols.Item( 0 ).FirstIndex )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;else<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result&nbsp;&nbsp; &nbsp;=&quot;&quot;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;endif<br /> &nbsp;&nbsp; &nbsp;fend</p> <p>&nbsp;&nbsp; &nbsp;function&nbsp;&nbsp; &nbsp;right( str, pat, type=&quot;&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if isMatched( str, pat, type )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result&nbsp;&nbsp; &nbsp;=copy( str, cols.Item( 0 ).FirstIndex + length( cols.Item( 0 ).Value ) + 1 )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;else<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result&nbsp;&nbsp; &nbsp;=&quot;&quot;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;endif<br /> &nbsp;&nbsp; &nbsp;fend<br /> &nbsp;&nbsp; &nbsp;<br /> &nbsp;&nbsp; &nbsp;function&nbsp;&nbsp; &nbsp;replace( str, pat, chg, type=&quot;&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;setType( type )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;obj.Pattern&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;=pat<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result&nbsp;&nbsp; &nbsp;=obj.Replace( str, chg )<br /> &nbsp;&nbsp; &nbsp;fend</p> <p>&nbsp;&nbsp; &nbsp;function&nbsp;&nbsp; &nbsp;subMatches( str, pat, type=&quot;&quot; )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result&nbsp;&nbsp; &nbsp;=safearray( 0, -1)<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;match( str, pat, type )<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if cols.Count<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for sub in cols.Item( 0 ).SubMatches<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;result[ resize( result, length( result ) ) ]&nbsp;&nbsp; &nbsp;=sub<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;next<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;endif<br /> &nbsp;&nbsp; &nbsp;fend<br /> endmodule</p> <p>&nbsp;</p>

ショートカットキー一覧

文字装飾

アクションショートカットキー使用例
太字にする Ctrl+B 太文字
斜体にする Ctrl+I 斜体
下線を引く Ctrl+U 下線

リンク

アクションショートカットキー使用例
リンクの挿入・編集 Ctrl+L リンク

リスト

アクションショートカットキー使用例
インデント追加 Tab
  • リスト
    • インデント
インデント解除 Shift+Tab リスト
  • インデント

編集補助

アクションショートカットキー
行ったアクションを取り消す Ctrl+Z
取り消したアクションをやり直す Ctrl+Y, Shift+Ctrl+Z
改行を追加する Shift+Enter
クリップボードに切り取る Ctrl+X
クリップボードにコピーする Ctrl+C
クリップボードから貼り付ける Ctrl+V
すべて選択する Ctrl+A

移動

アクションショートカットキー
行の先頭に移動する Home
文章の先頭に移動する Ctrl+Home
行の末尾に移動する End
文章の末尾に移動する Ctrl+End
ページを上にスクロールする PageUp
ページを下にスクロールする PageDown
任意のキーワードを検索する Ctrl+F