Monday, December 12, 2016

MacOSX, iTerm 上の Vim で、「日本語入力固定モード」が使えるようになった!

MacOSX, iTerm 上の Vim で、「日本語入力固定モード」が使えるようになった!

以下のページを参考にした。

iTerm2 + Vim (MacVim-Kaoriya) + im_control で日本語入力固定モード

fuenor/im_control.vim 

 

満足です! 

ただし、今まで使っていた MacVim よりも、動作がもっさりしているような気がする。

 

Wednesday, July 13, 2016

find, ディレクトリの数を数える

find,  ディレクトリの数を数える

find . -type d -maxdepth 1 | wc -l

Sunday, July 3, 2016

AquaSKK, 単語登録, 記号の全角で入力

AquaSKK, 単語登録, 記号の全角で入力。

 

前の記事で以下のように書いた。

でも、まだまだ、よく分からないことが多いです。例えば、

  1. 「!」を全角で入力する場合
  2. 単語登録の仕方

 

でも、 少し分かったような気がする。


(1) 「!」を全角で入力する

全角英数モードに移ってから入力する。

あるいは、「/!」(スラッシュ)を一旦、入力し、確定する前に「スペースキー」を押して、半角から全角に変える。

 

(2) 単語登録の仕方

ひらがなから漢字に変換しようとして、変換されなかったら、自動的に「単語登録モード」が始まるので、そこで、「求める表記の漢字」を何とか入力し、あるいは、前もってクリップボードにコピーしておいた「求める表記の漢字」をペーストし(ctrl + y)、確定させる。

これで、単語登録が完成する。

 

Saturday, July 2, 2016

AquaSKKの利点、使い方、便利なキーバインド、便利な設定

AquaSKKの使い方を調べました。当分の間、使ってみようと思います。

 

でも、まだまだ、よく分からないことが多いです。例えば、

  1. 「!」を全角で入力する場合
  2. 単語登録の仕方

 

(1) AquaSKKの利点

 AquaSKKの利点が、以下のようにまとめてありました。

  1. 文章を頭から流れるように書くことができる
  2. エンターキーを押す回数が減る
  3. 変換はユーザーが全て決める = 誤変換が減る
  4. そこそこ高速
  5. 非常に素敵なキーバインド
  6. フリーである

 

(2) AquaSKKの使い方

AquaSKK プロジェクト::迷っている人へ

変態日本語入力プログラム「AquaSKK」でわずらわしい変換とはおさらばだ!!

 

(3) AquaSKKの便利なキーバインド

まずはモードのトグルを覚える

モードのトグルに使うキー
利用キー機能概要
q 「かな」と「カナ」モード間をトグル
l 「かな」または「カナ」から「アスキー」モードへ
L 「かな」または「カナ」から「全英」モードへ
C-j 「アスキー」または「全英」から「かな」モード

 

 

AquaSKK プロジェクト::キー割り当て

機能キー備考
入力の確定 Ctrl-J 各モードから、ひらかなモードへの遷移にも使用
キャンセル Ctrl-G または ESC  
後退して一文字削除 BackSpace または Ctrl-H  
カーソル位置で一文字削除 Delete または Ctrl-D  
見出し語の補完 Tab または Ctrl-I  
見出し語を補完して変換 Alt-Space または Shift-Space  
ペースト Ctrl-Y 単語登録時のみ
トグルカナ変換 Q  
トグル半角カナ変換 Ctrl-Q  
ASCII モード遷移 L  
全角英数モード遷移 Shift-L  
Abbrev モード遷移 /  
見出し語入力遷移 Shift-Q  
次の補完 . ピリオド
前の補完 , カンマ
次の変換候補 Space または Ctrl-N  
前の変換候補 X または Ctrl-P  
単語削除 Shift-X トグル変換の学習結果削除にも使用
カーソル左移動 ← または Ctrl-B  
カーソル右移動 → または Ctrl-F  
カーソル上移動 ↑ または Ctrl-A  
カーソル下移動 ↓ または Ctrl-E  
入力モードアイコン再表示 Ctrl-L  
アンドゥ Ctrl-/

 

 AquaSKK プロジェクト::こんな機能もあります::使える『z』、便利な『z』

 

キー入力結果
z-
z.
z/
z[
z]
z,
zh
zj
zk
zl
zSPACE 全角スペース

 

 (4) AquaSKKの便利な設定

親指 Shift 環境を作る

KeyRemap4MacBook でスペースshiftを割りあてます。

高機能で安定性も極めて高いOS X用のキーボードカスタマイズツール …

使用している Mac に対応したものを DL してインストールします。(Mac の再起動が必要です)

インストールするとシステム環境設定にKeyRemap4MacBookがあるはずなので、設定します。

Skk1

Change Space Keyの中のSpace to Shift_L (+ When you type Space only, Send Space)にチェックを入れます。これはスペース左 Shiftとして置き換えスペース単体で押した時はスペースとして動作させる設定です。

補足

なぜこの設定が必要なのか

それは通常shiftはキーボードの端に位置し、小指で操作します。この位置では頻繁に押すには押しにくく、さらに文字のタイピングにも小指を使用します。この二つの欠点を解消するのがこの設定です。スペースshiftを割り当てれば、親指で操作することが可能になるので、押しやすく、文字タイピングと干渉することもなくなります。

 

AquaSKKに再挑戦

AquaSKKに再挑戦。

 

MacOSX, El Capitain での日本語入力。AquaSKK, ライブ変換

という記事を書いたら、

 

AquaSKKはこれからもGithubでのサポートや新規機能追加を含む更新は続けられますよ。
実際に使ってますが、快適です‼︎
https://github.com/codefirst/aquaskk/releases

というコメントを残してくださった。

 

ダウンロードしなおして、もう一度インストールしたら、正常に動き始めた。ありがとうございました〜!

Thursday, June 30, 2016

MacOSX, El Capitan での日本語入力,「ライブ変換」(その3)。ATOK 風キーバインドに変更。しかし遅すぎて、やっぱり使うのをやめた

MacOSX, El Capitan での日本語入力,「ライブ変換」(その3)。ATOK 風キーバインドに変更。しかし遅すぎて、やっぱり使うのをやめました。

 

以下のページの通りにやってみました。そうしたら、コンピュータが固まったのかと思うぐらい遅すぎて何もできなくなった。だから、やっぱり「ライブ変換」を使うのをやめました。

El Capitan (OSX 10.11)日本語入力プログラムをATOK風キーバインドに

(セキュリティを一時的に解除し,システムフォルダを変更します。自己責任でお願いします)

1;「システム環境設定」→「キーボード」→「入力ソース」を開いて、「Windows風のキー操作」のチェックを外す。
2:システムを終了し,起動時に「コマンドキー+R」を同時に押して「リカバリーモード」で立ち上げる。
3:メニューバー「ユーティリティ」の一番下,ターミナルを選択
4:ターミナルにて,英数小文字で csrutil disable と打ち込んで,リターンキー。これでSIPセキュリティが解除されます。
5:メニューバー「林檎マーク(アップルメニュー)」から「再起動」
6:通常起動したら,Finderにてファイルメニュー「移動」から「フォルダに移動」を選択。
/System/Library/Input Methods/JapaneseIM.app/Contents/Resources
と入れる。
7:開いたフォルダで,「KeySetting_Windows.plist」を見つける。そしてファイルの名前を変更しておく。「KeySetting_Windows_original.plist」など。(管理者パスワード必要)
8:ここからダウンロードした「KeySetting_Windows_atoklike.plist」をこのフォルダに入れる。(管理者パスワード必要) そしてファイル名を「KeySetting_Windows.plist」に変更。
9:システムを終了,起動時に「コマンドキー+R」を同時に押してもう一度「リカバリーモード」で立ち上げる。
10:メニューバー右「window」の横にある「ユーティリティ」の一番下,ターミナルを選択
11:ターミナルにて,英数小文字で csrutil enable と打ち込んで,リターン。これでSIPセキュリティが戻ります。(当初記事ではcsrutil eableとなっていました。コメント欄からの指摘を受け,訂正いたしました。ありがとうございました。)
12:メニューバー「林檎マーク(アップルメニュー)」から「再起動」
13;通常起動後,「システム環境設定」→「キーボード」→「入力ソース」を開いて、「Windows風のキー操作」にチェック。

 

MacOSX, El Capitan での日本語入力,「ライブ変換」(その2)。launchd で自動的に「アクティヴィティモニタ」を再起動

MacOSX, El Capitan での日本語入力,「ライブ変換」(その2)

でも、やっぱり気になるので再挑戦。

 

(1)El Capitan の「ライブ変換」は遅い。「アクティヴィティモニタ」の再起動

対策としては、「アクティヴィティモニタ」を再起動すれば良いらしい。しかし、そんなこと面倒くさすぎていちいちやってられない。

OS X El Capitanの日本語IMが重たくなったら

 

(2)「アクティヴィティモニタ」再起動の自動化。launchd.plist

以下のページを参考にした。

【OSX】日本語変換が遅くなったときにショートカット一発で解消する方法【El Capitan】

Mac(OS X)ではcronじゃなくてlaunchdでやる

Mac OS Xでlaunchdでcronのように定期実行するメモ - launchd.plistの作成とか

 

(3) 自作した「killall_JapaneseIM.sh」「killall_JapaneseIM.plist」を貼っておく。本当にちゃんと動いてくれるのかな?

killall_JapaneseIM.sh

killall JapaneseIM

 

killall_JapaneseIM.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
       <string>killall_JapaneseIM</string>
       <key>ProgramArguments</key>
       <array>
              <string>~/Google\ Drive/Dropbox/tools/killall_JapaneseIM.sh</string>
       </array>
       <key>StartCalendarInterval</key>
       <dict>
              <key>Hour</key>
              <integer>1</integer>
              <key>Minute</key>
              <integer>0</integer>
       </dict>
       <key>StandardOutPath</key>
       <string>/Users/kybrdst/Google\ Drive/Dropbox/log</string>
</dict>
</plist>

Wednesday, June 29, 2016

MacOSX, El Capitain での日本語入力。AquaSKK, ライブ変換

MacOSX, El Capitan での日本語入力について、偶然、目に入ってきた情報。

「AquaSKK」と「ライブ変換」。

 

(1)「AquaSKK」

AquaSKK布教動画を作ってみました

この動画を見て「素晴らしい!」と思い、使ってみたくなった。

そこで、実際に、自分の iMac にインストールしてみた。が、動かない・・・。

AquaSKK に切り替えると、すぐに、不正に終了してしまう。なぜか?

 

 AquaSKK 4.2 リリースのお知らせと今後について

また、これからメンテナンスされる予定がなくなるとのこと。 

 

(2)「ライブ変換」

まったく、気にしてなかったので、今日、初めて、知りました。すばらしい!

El Capitanの日本語入力が素晴らしく進化している件について

 

でも、実際に試してみたら、挙動が「遅い!」「遅すぎる!」 だから、使うのをやめました。

El Capitan日本語入力やめました

 

(3)かわせみ

ということで、「かわせみ」に戻りました。

かわせみ2

Tuesday, June 28, 2016

英語配列キーボード

英語配列キーボードを使っています。これからもそれは変えないでしょう。

 

理由の一つは、「韓国語入力もするから」ということ。

最近、増えた理由としては、「CLIでコンピュータを使うとき、やはり、英語配列キーボードの方が使いやすいように思う」ということ。

 

でも、そうすると、いろいろと工夫する必要が出てくるのです。

  1. 英語入力と日本語入力の切り替え
  2. Alfred など、アプリケーションの起動

などなど。それは、また別の機会に。

Saturday, June 25, 2016

fasd, .bashrc に alias を設定

fasd, .bashrc に alias を設定。

################################################
# fasd
################################################

eval "$(fasd --init auto)"

alias fa='fasd -a' # any
alias fs='fasd -si' # show / search / select
alias fd='fasd -d' # directory
alias ff='fasd -f' # file
alias fsd='fasd -sid' # interactive directory selection
alias fsf='fasd -sif' # interactive file selection

# cd, same functionality as j in autojump
alias fcd='fasd_cd -d'
#alias fcd_no_cl='fasd_cd -d'
#alias fcd="fcd_no_cl;clear;pwd;ls -lGh"

# cd with interactive selection
#alias scd="'fasd_cd -d -i;clear';pwd;ls -lGh" # cd with interactive selection
alias scd_no_cl='fasd_cd -d -i' # cd with interactive selection
alias scd="scd_no_cl;clear;pwd;ls -lGh"

# open with interactive selection
function fscd_open() {
    open "$(fasd -sif)"
}
alias sop='fscd_open'


alias fvi='ff -e /opt/local/bin/vim' # quick opening files with vim
alias fmp='ff -e mplayer' # quick opening files with mplayer
#alias o='a -e xdg-open' # quick opening files with xdg-open

 

そうすると、scd という自分の設定したコマンドを叩くと、「過去、自分が入ったディレクトリの一覧」から、「今、自分の行きたいディレクトリ」を対話的に選んだうえで、そこに直接、行くことができる。また、コマンド終了後、clear;pwd;ls -Gh が終わっている。


確かに、便利だ。

ただし、気になる。fasd に慣れすぎると、各ファイルやディレクトリの位置を自分があまり意識しないようになるのかな? しかし、それは怖いような気もするが・・・。

 

<参考にしたページ>
fasdチュートリアル(メモ)

peco と fasd で快適なターミナル生活(Mac へのインストール) 

clvv/fasd 

Fasd - Quickly Jump to Recent Files and Folders - Linux CLI 

peco, .bashrc に alias 他を設定

peco, .bashrc に alias 他を設定。

function find_cd() {
   cd "$(find . * -maxdepth 1 | peco)"
}
alias pcd="find_cd;clear;pwd;ls -lGh"

function find_open() {
   open "$(find . * -maxdepth 1 | peco)"
}
alias pop="find_open;clear;pwd;ls -lGh"

function find_less() {
   less "$(find . * -maxdepth 1 | peco)"
}
alias pl="find_less;clear;pwd;ls -Gh"

function find_ls() {
    ls "$(find . * -maxdepth 1 | peco)"
}
alias pls="find_ls"

 


(1)ディレクトリに入る  pcd

pcd という自分の設定したコマンドを叩き、カレント・ディレクトリから、自分が入りたいディレクトリを選ぶ。コマンド終了後には、その指定したディレクトリに、すでに入っており、clear; pwd;ls もしてある。

 

(2)ファイルを開く  pop

pop という自分の設定したコマンドを叩き、カレント・ディレクトリから、自分が入りたいファイルを選ぶ。コマンド終了後には、その指定したファイルが開かれてある。

 

(3)テキストファイルを見る  pl

 

(4)指定したディレクトリの中身をリスト表示する  pls

 

<参考にしたページ>
え、まだpecoを使ってないの??? 

Friday, June 24, 2016

peco が面白そうだ

peco が面白そうだ。
(ただし、fasd はよく分からない。インストールはできたようだが、思ったように動かない・・・) 

pecoの基礎の基礎
pecoの基礎の応用



Tuesday, June 21, 2016

MacOSX, .bashrc を読み込む。.bash_profile の設定

MacOSX, .bashrc を読み込むために、.bash_profile を以下のようにしておく。
そして、.bashrc にがしがしと「自分の設定」を書き込んでいく。
#.bashrcがあれば読み込む
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
 

<参考にしたページ>
[bash] ターミナルを起動しても.bashrcが読み込まれていない時に確認すること

Friday, June 17, 2016

Google Chrome 間での同期、Vimium は便利

Google Chrome 間での同期は便利だと思う。
iPad と iMac の間で、bookmark, history が同期されているのは、とても便利だ。

そして、Google Chrome は、もう Vimiim 無しでは使えない。

Wednesday, June 15, 2016

CSS 編集。Marked のスタイルシート(Markdown)

CSS を編集しました。

MacOS X には、Markdown をプレビュー表示する、Marked というアプリがある。そのスタイルシートを、つまり、CSS の編集したということです。

CSS自体が、まだ、よく理解できていないので、作りかけですが、まあ、なんとか、紙に印刷するには使えるかな?

※ h5 の表示だけがうまくできない。なぜかな?

<参考にしたページ>
http://yamaqblog.tokyo/?p=15732

/*
   This document has been created with Marked.app <http://markedapp.com>, Copyright 2011 Brett Terpstra
   Please leave this notice in place, along with any additional credits below.
   ---------------------------------------------------------------
   Title: Theme title
   Author: Your name and optional url
   Description: Basic description of the theme.
*/

body
{
    -webkit-font-smoothing:antialiased;
    font:normal .8764em/1.5em Arial,Verdana,sans-serif;
    margin:0
}

html>body
{
    font-size:13px
}

li
{
    font-size:110%
}

li li
{
    font-size:100%
}

li p
{
    font-size:100%;
    /*margin:.5em 0;*/
    margin:.5em 0;
    /*margin:0 0 0 1em;*/
    /*margin-left:1.2em;*/
}

h1
{
    color:#000;
    font-size:1.7em;
    line-height:.6563em;
    /*margin:.6em 0;*/
    margin:1em 0 0.5em 0;
}

h2
{
    color:#111;
    font-size:1.5em;
    line-height:.875em;
    /*margin:.875em 0;*/
    margin:0 0 0.5em 0.8em;
}

h3
{
    color:#111;
    font-size:1.3em;
    line-height:1em;
    /*margin:1em 0;*/
    margin:0 0 0.5em 1.6em;
}

h4
{
    color:#111;
    font-size:1.2em;
    line-height:1.1667em;
    /*margin:1.1667em 0;*/
    margin:0 0 0.5em 2.8em;
}

/*h5
{
    color:#111;
    font-size:1.1em;
    line-height:1.1em;
    /*margin:1.3em 0;*/
    margin:0 0 0.5em 3em;
/*}*/

h5
{
    font-size:1.1em;
    line-height:1.2em;
    margin:0 0 0.3em 3em;
}

h6
{
    font-size:1.1em;
    line-height:1.5em;
    /*margin:1.5em 0;*/
    margin:0 0 0.3em 4em;
}

body,p,td,div
{
    color:#111;
    font-family:"Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;
    word-wrap:break-word
}

h1,h2,h3,h4,h5,h6
{
    /*line-height:1.5em;*/
    line-height:1.2em;
}

a
{
    -webkit-transition:color .2s ease-in-out;
    color:#0d6ea1;
    text-decoration:none
}

a:hover
{
    color:#3593d9
}

/*h2 em
{
    color:#111;
    padding-left:10px;
    text-shadow:0 1px 0 #FFF
}*/

blockquote p
{
  font-size:110%;
  font-style:italic;
  line-height:1.6em;
}

.footnote
{
    color:#0d6ea1;
    font-size:.8em;
    vertical-align:super
}

#wrapper img
{
    max-width:100%;
    height:auto
}

dd
{
    margin-bottom:1em
}

li > p:first-child
{
    margin:0;
    /*margin-left:1.2em;*/
}

ul ul,ul ol
{
    margin-bottom:.4em;
    /*margin-left:1.2em;*/
}

caption,col,colgroup,table,tbody,td,tfoot,th,thead,tr
{
    border-spacing:0
}

table
{
    border:1px solid rgba(0,0,0,0.25);
    border-collapse:collapse;
    display:table;
    empty-cells:hide;
    margin:-1px 0 23px;
    padding:0;
    table-layout:fixed
}

caption
{
    display:table-caption;
    font-weight:700
}

col
{
    display:table-column
}

colgroup
{
    display:table-column-group
}

tbody
{
    display:table-row-group
}

tfoot
{
    display:table-footer-group
}

thead
{
    display:table-header-group
}

td,th
{
    display:table-cell
}

tr
{
    display:table-row
}

table th,table td
{
    font-size:1.1em;
    line-height:23px;
    padding:0 1em
}

table thead
{
    background:rgba(0,0,0,0.15);
    border:1px solid rgba(0,0,0,0.15);
    border-bottom:1px solid rgba(0,0,0,0.2)
}

table tbody
{
    background:rgba(0,0,0,0.05)
}

table tfoot
{
    background:rgba(0,0,0,0.15);
    border:1px solid rgba(0,0,0,0.15);
    border-top:1px solid rgba(0,0,0,0.2)
}

figure
{
    display:inline-block;
    margin-bottom:1.2em;
    position:relative;
    margin:1em 0
}

figcaption
{
    font-style:italic;  
    text-align:center;
    background:rgba(0,0,0,.9);
    color:rgba(255,255,255,1);
    position:absolute;
    left:0;
    bottom:-24px;
    width:98%;
    padding:1%;
    -webkit-transition:all .2s ease-in-out;
}

figure:hover>figcaption
{
    /* background:rgba(0,0,0,1) */
}

/* Styles used when "Tab-indented text is poetry" is set */
.poetry pre
{
    display:block;
    font-family:Georgia, Garamond, serif!important;
    font-size:110%!important;
    font-style:italic;
    line-height:1.6em;
    margin-left:1em
}

.poetry pre code
{
    font-family:Georgia, Garamond, serif!important
}

/* important rules for keeping line-height from being affected by sub */
sup,sub,a.footnote
{
    font-size:1.4ex;
    height:0;
    line-height:1;
    position:relative;
}

sup {
    vertical-align:super;
}

sub {
    vertical-align: sub;
    top: -1px;
}

p,h5
{
    font-size:1.1429em;
    line-height:1.3125em;
    margin:1.3125em 0
}

dt,th
{
    font-weight:700
}

table tr:nth-child(odd),table th:nth-child(odd),table td:nth-child(odd)
{
    background:rgba(255,255,255,0.06)
}

table tr:nth-child(even),table td:nth-child(even)
{
    background:rgba(0,0,0,0.06)
}

@media print {
    /* print only styles. Keep it clean */
    body
    {
        overflow:auto
    }
    img, pre, blockquote, table, figure, p {
        page-break-inside: avoid
    }
    .footnotes { page-break-before: always }

    #wrapper
    {
        background:#fff;
        color:#303030;
        font-size:85%;
        padding:10px;
        position:relative;
        text-indent:0
    }
}

@media screen {
    /* Screen-only styles, including inverted styles */
    .inverted #wrapper,.inverted {
        background:rgba(37, 42, 42, 1)
    }
    .inverted hr {
        border-color: rgba(51, 63, 64, 1) !important;
    }
    .inverted p,.inverted td,.inverted li,.inverted h1,.inverted h2,.inverted h3,.inverted h4,.inverted h5,.inverted h6,.inverted pre,.inverted code,.inverted th,.inverted .math,.inverted caption,.inverted dd,.inverted dt
    {
        color:#eee!important
    }
    .inverted table tr:nth-child(odd), .inverted table th:nth-child(odd), .inverted table td:nth-child(odd) {
      background: none;
    }
    .inverted a
    {
        color:rgba(172, 209, 213, 1);
    }

    #wrapper
    {
        padding:20px
    }

    /* styles for more colorful selection highlights */
    ::selection { background:rgba(157, 193, 200,.5)}
    h1::selection { background-color:rgba(45, 156, 208, .3)}
    h2::selection { background-color:rgba(90, 182, 224, .3)}
    h3::selection,
    h4::selection,
    h5::selection,
    h6::selection,li::selection,ol::selection { background-color:rgba(133, 201, 232, .3)}
    code::selection { background-color:rgba(0,0,0,.7);color:#eee}
    code span::selection {background-color:rgba(0,0,0,.7) !important;color:#eee !important}
    a::selection { background-color:rgba(255, 230, 102,.2)}
    .inverted a::selection { background-color:rgba(255, 230, 102,.6)}
td::selection,th::selection,caption::selection { background-color: rgba(180, 237, 95, .5);}
}

Sunday, June 12, 2016

Vim, マクロ。聖書本文の書式を揃える

Vim, マクロを使って、聖書本文の書式を揃える。

0f:lDJgjdd0

を、たとえば、qb,q とかで登録しておき、7@b と、打つと、

 

1:創世記/ 03章 01節
主なる神が造られた野の生き物のうちで、最も賢いのは蛇であった。蛇は女に言った。「園のどの木からも食べてはいけない、などと神は言われたのか。」
口語訳
2:創世記/ 03章 02節
女は蛇に答えた。「わたしたちは園の木の果実を食べてもよいのです。
口語訳
3:創世記/ 03章 03節
でも、園の中央に生えている木の果実だけは、食べてはいけない、触れてもいけない、死んではいけないから、と神様はおっしゃいました。」
口語訳
4:創世記/ 03章 04節
蛇は女に言った。「決して死ぬことはない。
口語訳
5:創世記/ 03章 05節
それを食べると、目が開け、神のように善悪を知るものとなることを神はご存じなのだ。」
口語訳
6:創世記/ 03章 06節
女が見ると、その木はいかにもおいしそうで、目を引き付け、賢くなるように唆していた。女は実を取って食べ、一緒にいた男にも渡したので、彼も食べた。
口語訳
7:創世記/ 03章 07節
二人の目は開け、自分たちが裸であることを知り、二人はいちじくの葉をつづり合わせ、腰を覆うものとした。

というものが、

 

1:主なる神が造られた野の生き物のうちで、最も賢いのは蛇であった。蛇は女に言った。「園のどの木からも食べてはいけない、などと神は言われたのか。」
2:女は蛇に答えた。「わたしたちは園の木の果実を食べてもよいのです。
3:でも、園の中央に生えている木の果実だけは、食べてはいけない、触れてもいけない、死んではいけないから、と神様はおっしゃいました。」
4:蛇は女に言った。「決して死ぬことはない。
5:それを食べると、目が開け、神のように善悪を知るものとなることを神はご存じなのだ。」
6:女が見ると、その木はいかにもおいしそうで、目を引き付け、賢くなるように唆していた。女は実を取って食べ、一緒にいた男にも渡したので、彼も食べた。
7:二人の目は開け、自分たちが裸であることを知り、二人はいちじくの葉をつづり合わせ、腰を覆うものとした。

となる。

Saturday, June 11, 2016

Dropbox-Uploader

Dropbox-Uploader 素晴らしい!

Chromebook, Ubuntu, Vim, 「a の横の検索キー」を ctrl キーに設定

Chromebook, Ubuntu, Vim, 「a の横の検索キー」を ctrl キーに設定したいと思い、

Ubuntu 側で、~./Xmodmap, ~./xinitrc などの設定の仕方を調べてやってみたが、

できず、できず、できず、


結局、Chromebook の設定画面から、検索キーを ctrl キーに変えて終わり(解決かな?)。


要は、Chromebook の検索キーを潰したということ。

Friday, June 10, 2016

Chromebook, Ubuntu, Vim, 日本語入力固定モードのキーボードショートカット

Chromebook, Ubuntu, Vim, 日本語入力固定モードのキーボードショートカットは、以下のように設定した。

let IM_CtrlMode = 1
inoremap <silent> <C-u> <C-r>=IMState('FixMode')<CR>

要は、Ctrl + u に設定したということ。

ただ、不思議なことに、インサートモードからノーマルモードに抜けるとき、
  • Ctrl + [ ならOK。
  • Ctrl + c はダメ。
  • もちろん、<Escape> はOK。


何が違うのかわからないけど、挙動が変わる。不思議だ。


Chromebook, Ubuntu, Vim, 日本語入力固定モードがやっとできた

Chromebook, Ubuntu, Vim, 日本語入力固定モードがやっとできました。

基本的には、以下のページの通りにやるだけ。
https://sites.google.com/site/fudist/Home/vim-nihongo-ban/vim-japanese/ime-control/ibus#TOC-IBus-Python-1.5
コマンドで切替可能な事が確認出来た場合は、以下の設定を.vimrcに追加することでim_control.vimを使用することができます。
エンジン名は使用環境に合わせて変更してください。
" 「日本語入力固定モード」の動作モード
let IM_CtrlMode = 1
" 「日本語入力固定モード」切替キー
inoremap <silent> <C-j> <C-r>=IMState('FixMode')<CR>

" IBus 1.5以降
function! IMCtrl(cmd)
  let cmd = a:cmd
  if cmd == 'On'
    let res = system('ibus engine "mozc-jp"')
  elseif cmd == 'Off'
    let res = system('ibus engine "xkb:jp::jpn"')
  endif
  return ''
endfunction

問題は、なぜ、今までできなかったのか? ということ。


それは、私は .vimrc を MacOSX のものをコピーして、Chromebook の Ubuntu で使いまわしているのだが、その中の MacVim 用の設定が干渉していた模様。
im_control
              let IM_CtrlMode = 4
              set cmdheight=2


また、思いがけず、もう一つ、この関連で困っていた問題が解決された。

これまで、Ubuntu の Vim での日本語表示がおかしかった。日本語フォントを設定しても、日本語フォントが小さいままで、大きさが変わらなかった。

しかし、それも解決!



電話の着信音量を下げる

電話の着信音量を下げておく。

これだけで、心が乱される度合いが大分、減る。

外からの電話。内線。玄関ベル。すべてがこの電話の子機に繋がっているので。

Thursday, June 9, 2016

MacOSX のアプリ。CLI と共用していくもの

MacOSX のアプリの中で CLI と共用していくものは何か? と、考えてみると、

 

(1)まずは、無条件に、この2つ + 1つ

  • MacVim
  • iTerm
  • Google Chrome

 

(2)そして、必須なアプリたち、7つ + 2つ

  • Karabiner
  • Alfred 2
  • Keyboard Maestro
  • Witch
  • Default Folder X
  • Divvy
  • Mouse Hider
  • Dropbox
  • Google Drive

このあたりはずっと使っていくと思う。

 

(3)地味だけど便利

  • BBT2
  • Due

 

(4)無くてもいいけど、あったら時々、便利かな?

  • Path Finder
  • MenuPop

 

(5)GUI アプリとして便利、使い慣れている。CLI でも代用できそうな気も・・・。

  • Mailplane 3
  • OmniOutliner
  • MarsEdit
  • Nisus Writer Express
  • Microsoft Excel

 

(6)そんなに使ってないけど、将来的に使うかな?

  • Reeder
  • Tweetbot

 

(7)番外。実は、影の下の力持ち? MacPorts を利用するために・・・

  • Xcode

Wednesday, June 8, 2016

grep, and 検索

grep, and 検索。二つ目の grep の時には、ファイル名を書かない、ということ。

grep  キーワード(1)  ファイル名  |  grep  キーワード(2)

Vim, 画面スクロールに、<Space>キーを設定

Vim の画面スクロールに、<Space>キーを設定しています。

これが、便利。

 

テキストファイルの文章を less で読むことが多いですが、less の操作性とほぼ同じになりました。

noremap <Space> <C-f> 

 

 プログラマの中には <Space>キーを、Vim の Leader にしている方もいらっしゃるようですが、 私はプログラマでもなく、Vim は主に日本語の読み書きに使うので、<Space>キーで画面スクロールという設定が便利です。

http://postd.cc/how-to-boost-your-vim-productivity/

 

 

find, xargs でヒットしたファイルをコピーする

find, xargs でヒットしたファイルをコピー したい。

find . -name “*検索語*" | xargs -J% cp -p % ~/目的先のディレクトリ

 

6日前にアップした記事を間違って削除していたようなので、再掲。

Tuesday, June 7, 2016

LaTeX, ソースコード

LaTeX, ソースコードを貼り付ける。

\documentclass[a4j,11pt]{jsarticle}

\makeatletter\def\@maketitle{% \begin{flushright}% {\large \@date}% 日付 \end{flushright}% \begin{center}% {\LARGE \@title \par}% タイトル \end{center}% \begin{flushright}% {\large \@author}% 著者 \end{flushright}% \par\vskip 1.5em
}\makeatother

\makeatletter\def\subsection{\leftskip=1em\@startsection {subsection}{1}{\z@}{-3.5ex plus -1ex minus-.2ex}{2.3ex plus .2ex}{\large \gt}}\def\subsubsection{\leftskip=2em\@startsection {subsubsection}{1}{\z@}{-3.5ex plus -1ex minus-.2ex}{2.3ex plus .2ex}{\normalsize \gt}}\makeatother


\usepackage[truedimen,margin=20truemm]{geometry}
\title{タイトル}
\author{\normalsize 名前(肩書き)}
\date{\normalsize 日付}

\renewcommand{\baselinestretch}{0.85}
\begin{document}\maketitle\noindent 日時: 2016年6月6日\\出席者: 名前(肩書き) 出席者: 名前(肩書き)出席者: 名前(肩書き) \\    出席者: 名前(肩書き)出席者: 名前(肩書き)出席者: 名前(肩書き)
\section{セクション名}
\subsection{サブセクション名}
\begin{itemize}\itemsep1pt\parskip0pt\parsep0pt
\item  アイテムの内容
\subsection{サブセクション名}
\begin{itemize}\itemsep1pt\parskip0pt\parsep0pt
\item  アイテムの内容

\end{enumerate}

LaTeX に挑戦!

LaTeX に挑戦!

 MacOSX で TeXShop を使いました。すべてをコマンドラインからで完結できるようにしたいのですが・・・

 

はじめてTeXを使う人が知っておくといいことまとめ
http://qiita.com/Tats_U_/items/01d48eb70a8b359b0d95

LaTeX の概要
http://www.wakayama-u.ac.jp/~tokoi/lecture/shori1/latex.html

何が行われているか?
http://www.clas.kitasato-u.ac.jp/~fujiwara/infoScienceB/TeX/whatisgoing/whatisgoing.html

LaTeX to PDF
http://www-rohan.sdsu.edu/~aty/bibliog/latex/LaTeXtoPDF.html

texで資料を作成しています。タイトルを1ページめの上に表示するのですが、形式が
右詰めで日付。中央に大きめの文字でタイトル。右詰めで作者。となるように設定したい
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1018085745 

文字サイズを変更する
http://www.latex-cmd.com/style/size.html 

LaTeX \section などで箇条書きのように字下げする方法
http://www.math.kobe-u.ac.jp/~kodama/tips-latex-indent-section.html 

LaTex で subsection をインデントする
http://ameblo.jp/ppsh41/entry-10873160319.html 

LATEX 文字操作コマンド
http://denko-laboratory.ddo.jp/pc/latex/latex_command_char.htm 

 箇条書き
http://akita-nct.jp/yamamoto/comp/latex/make_doc/item/item.php 

TeXでの行間の調整方法
http://qiita.com/ayakix/items/93f90482907d4585ce4c 

 

Sunday, June 5, 2016

VimFiler 内でソート

VimFiler 内でソートできる。

shift + s を押せばよいとのこと。

<参考にしたページ>

http://d.hatena.ne.jp/osyo-manga/20111115/1321341210

Vimium の設定

Vimium の設定。記録のために。

便利すぎて、Vimium エクステンションの無い Google Chrome はもう使えない。

 

Custom key mappings

# browse
unmap l
map l goForward
unmap h
map h goBack
map c enterInsertMode

# scrollmap , scroll left
map . scroll right
unmap b
map b scrollFullPageUp

# tabmap u restoreTab
unmap x
unmap d
map d removeTab

map gl nextTab
map gh previousTab
map gH firstTab
map gL lastTab

# bookmarksun
map m
map m Vomnibar.activateBookmarks
map M Vomnibar.activateBookmarksInNewTab
#map M openBookmarks
#map m openBookmarksInNewTab

# linkmap i LinkHints.activateModeToOpenInNewTab
#map I LinkHints.activateModeWithQueue

# paste
map p openCopiedUrlInCurrentTab
map P openCopiedUrlInNewTab

 

Custom search engines

w: http://www.wikipedia.org/w/index.php?title=Special:Search&search=%s Wikipedia

# More examples.

# (Vimium supports search completion Wikipedia, as

# above, and for these.)

g: http://www.google.com/search?q=%s Google

# l: http://www.google.com/search?q=%s&btnI I'm feeling lucky...

y: http://www.youtube.com/results?search_query=%s Youtube

gm: https://www.google.com/maps?q=%s Google maps

# b: https://www.bing.com/search?q=%s Bing

# d: https://duckduckgo.com/?q=%s DuckDuckGo

az: http://www.amazon.co.jp/s/?field-keywords=%s Amazon

 

# qw: https://www.qwant.com/?q=%s Qwant

 

Characters used for link hints

yuopihjklnm

 

Saturday, June 4, 2016

Unite.Vim, VimFiler, ブックマークの設定

VimFiler, Unite.Vim, ブックマークの設定をした。

  1. MacVim を立ち上げたら、自動的に VimFiler が開くようになった。.gvimrc に記述。
      autocmd VimEnter * VimFiler
  2.  Unite.Vim のブックマークにいくつかのフォルダを登録した。.vimrc にキーボード登録。
     "ブックマーク一覧
      nnoremap <silent> ,ui :<C-u>Unite bookmark<CR>
     "ブックマークに追加
      nnoremap <silent> ,uo :<C-u>UniteBookmarkAdd<CR>
  3.  Unite.Vim のブックマークから移動したいフォルダを選んだら、VimFiler が立ち上がるようにした。
     " UniteBookMarkAdd で追加したディレクトリを Unite bookmark で開くときのアクションのデフォルトを Vimfiler にする
      call unite#custom_default_action('source/bookmark/directory' , 'vimfiler') 

 

以上です。

lesskey で、less のキーバインドを変更(MacOSX)

lesskey で、less のキーバインドを以下のように変更しました(MacOSX)。
次のファイルに移る時  =>  n
前のファイルに移る時  =>  p

変えた内容は三つ。
  1. 「ファイル間の移動」キーバインドの変更
  2. 「検索」キーバインドの変更
  3. 「ファイルを閉じる」キーバインドの変更
 以下のように記述します。
n next-file
p prev-file

^n repeat-search^p reverse-search
;d remove-file
「n」は、もともとの検索キーバインドとぶつかるので、 検索する場合は、control キーを押すように変えたというわけです。ファイルを閉じる時のキーバインドも変えた。
以前から、複数のテキストファイルを less に開き、順に読んでいく時、ファイル間の移動時に使用するキーバインドが不満だった。
次のファイルに移る時  =>  : n
前のファイルに移る時  =>  : p
:  を入力するには、毎回、左手小指で Shift キーを押さなければならない。それが大変に不満だったのだ。

だから、今回、調べた。調べた。調べた・・・(  ーーー> 何とかできました)。

(1)まず、MacOSX に標準でインストールされいてる less では lesskey が使えないことが分かった。なぜだ? だから、インストール。
sudo  port  install  less
http://qiita.com/phenan/items/1c60a1123612a55e76d5
http://cortyuming.hateblo.jp/entry/20130119/p1

(2)less key コマンドで、キーバインドを設定。変更したいキービンドを書いた「入力ファイル」から、~/$HOME/.lesskey ファイルを生成。
https://linuxjm.osdn.jp/html/GNU_less/man1/lesskey.1.html
lesskey  -o  入力ファイル  ~/$HOME/.lesskey
 具体的には、「入力ファイル」に以下のように記述しました。
p prev-file
n next-file

(3).bash_profile に以下を記録。
export LESSKEY=$HOME/.lesskey

その結果、以下のようなキーバインドに変更されました。めでたし、めでたし。
次のファイルに移る時  =>  n
前のファイルに移る時  =>  p

grep, sort, awk, 「現住陪餐会員と現教職のみ」を検索して表示

grep,  sort, awk, 「現住陪餐会員と現教職のみ」を検索して表示したい。

grep -e "現住陪餐会員 \| 現教職" asty-ch_member.tab | LANG=ja_C sort -k4,4 -k5,5 | awk '{print NR": ",$1,$6,$7,$8,$4,$5}' | less

 

すると、

1:  姓名  男性  現住陪餐会員  1973/5/31  せい  めい

こんな感じで表示される。

Friday, June 3, 2016

birthday_search.sh の改良。年齢も表示される

birthday_search.sh を改良し、年齢も表示されるようにした。大分、苦労したけど、何とかできた。うれしいね。
http://fun-sootv.blogspot.jp/2016/06/blog-post.html

こんな感じ。
531    ○○歳    名前    現住陪餐会員    男性    郵便番号    住所    1973/5/31

早速、bdsearch, agcalc という名前で、bash_profile にエイリアスを設定しておいた。

#!/bin/bash
# 実行時に指定された引数の数、つまり変数 $# の値が 2 でなければエラー終了。
if [ $# -ne 2 ]; then
    echo "指定された引数は$#個です。" 1>&2
    echo "実行するには2個の引数が必要です。" 1>&2
    exit 1
fi

# シェル変数を二つ設定する。start_day=検索開始日。end_day=検索終了日。
# nkf で、改行コードを Unix 形式に変える。
# gsed で、1973.5.31 という日付表示を 1973/5/31 という表示形式に変える。
# この段階で一回、ファイルに書き出しておく。何か別の目的に使えるかもしれないので。<= やっぱり、やめた。
# 「0531」などと表現された誕生日のうち、awk で、検索開始日と検索終了日の範囲に該当する者を抜き出す。
# ただし、召天者ははじく。
# sort して、less で表示。
start_day="$1"
end_day="$2"

#now=`date "+%Y%m%d"`
now_Y=`date "+%Y"`
now_m=`date "+%-m"`
now_d=`date "+%-d"`

cat ~/ディレクトリ/asty-ch_member.tab | nkf -Luw | gsed -e 's|\([0-9]{4}\)\.\([0-9]\?\)\.\([0-9]\?\)|\1/\2/\3|g’ |  awk '$9 >= '${start_day}' && $9 <= '${end_day}' && $7 != "召天者" {split($8,my_birthday,"/"); if('${now_m}' < my_birthday[2]){print $9,my_age = ('${now_Y}' - my_birthday[1] - 1 )"歳",$1,$7,$6,$10,$11,$8}
else if('${now_m}' > my_birthday[2]){
   print $9,my_age = ('${now_Y}' - my_birthday[1])"歳",$1,$7,$6,$10,$11,$8}
else if('${now_m}' == my_birthday[2] && '${now_d}' < my_birthday[3]){
   print $9,my_age = ('${now_Y}' - my_birthday[1] - 1 )"歳",$1,$7,$6,$10,$11,$8}
else if('${now_m}' == my_birthday[2] && '${now_d}' >= my_birthday[3]){
   print $9,my_age = ('${now_Y}' - my_birthday[1])"歳",$1,$7,$6,$10,$11,$8}
}' | sort | less

うれしい! でも、疲れた〜

Vim 内で置換。\zs \ze

Vim 内で置換をしました。
覚えたての  \zs  \ze  を使って。

%s/[0-9]\{1,4}\zs\.\ze[0-9]\{1,2}/\//gc
こうすると
2016.6.3
というようなものが
2016/6/3
となります。

sed を使って一括で置換をしたくて、自分なりに何度もトライしてみたのですが、なぜか、置換されずに残るものが出てくるのです。
http://fun-sootv.blogspot.jp/2016/05/2016531.html

正規表現をきちんと書けていないだけなのかもしれないけど、でも、これ以上は自分では分からないなあ、と思いました。コンピュータは難しい・・・。

そこで、Vim 内で置換したというわけです。自分の目で確かめながら。

age_calc, 誕生日から年齢計算するシェルスクリプト

誕生日から年齢計算するシェルスクリプト。

age_calc と名付けました。

#!/bin/bash

# 実行時に指定された引数の数、つまり変数 $# の値が 1 でなければエラー終了。
if [ $# -ne 1 ]; then
    echo "指定された引数は$#個です。" 1>&2
   echo "実行するには2個の引数が必要です。" 1>&2
   exit 1
fi

# 引き数として与えられた「誕生日」が8桁の整数である場合にだけ、年齢計算を行う。
if [[ $1 =~ [0-9]{8} ]];
then
   now=`date +%Y%m%d`
   my_birthday=$1

   echo $(((now-my_birthday)/10000))    # 二重括弧で計算する場合は、変数に$をつけない。
   #echo `expr \( ${now} - ${my_birthday} \) / 10000`    # exprで計算する場合は、+,-などの演算記号の前後にスペースを入れる。
else
echo ‘誕生日は「19730531」という形式で入力してください。'
fi

 

ちなみに、

echo $(((now-my_birthday)/10000))

と、

echo `expr \( ${now} - ${my_birthday} \) / 10000`

は、同じ。

Thursday, June 2, 2016

birthday_search.sh, 誕生日検索。検索開始日と検索終了日の間の期間に該当する「誕生日の方」を抜き出し、表示する

検索開始日と検索終了日の間の期間に該当する「誕生日の方」を抜き出し、表示したい。

 

毎月、「教会カレンダー」を作成し、誕生日の方のお名前を記入している。

そして、「教会カレンダー」を見ながら、その月に誕生日を迎える方に、「誕生日  お祝い葉書」を書いて送るのだ。

 

今までは、FileMaker Pro を立ち上げて、その月の誕生日該当者を検索していた。

それを、シェル芸を使って行いたい。

 

===>    なんとか、できました!    うれしいね!!

 

#!/bin/bash

# 実行時に指定された引数の数、つまり変数 $# の値が 2 でなければエラー終了。
if [ $# -ne 2 ]; then
    echo "指定された引数は$#個です。" 1>&2
    echo "実行するには2個の引数が必要です。" 1>&2
    exit 1
fi

# シェル変数を二つ設定する。start_day=検索開始日。end_day=検索終了日。

# nkf で、改行コードを Unix 形式に変える。
# gsed で、1973.5.31 という日付表示を 1973/5/31 という表示形式に変える。
# この段階で一回、ファイルに書き出しておく。何か別の目的で使えるかもしれないので。

# 「0531」などと表現された誕生日のうち、awk で、検索開始日と検索終了日の範囲に該当する者を抜き出す。
# ただし、召天者ははじく。
# sort して、less で表示。

start_day="$1"
end_day="$2"

cat ~/ファイルのあるディレクトリ/asty-ch_member.tab | nkf -Luw | gsed -e 's|\(....\)\.\(.\?\)\.\(.\?\)|\1/\2/\3|g' > ~/ファイルのあるディレクトリ/asty-ch_bsearch.txt

cat ~/ファイルのあるディレクトリ/asty-ch_bsearch.txt | awk '{if($9 >= '${start_day}' && $9 <= '${end_day}' && $7 != "召天者")print $9,$1,$7,$6,$10,$11,$8}' | sort | less

 

我流だし、まだまだ工夫の余地はあるのだろうけれど、自分なりに書いた、記念すべき「初めてのシェルスクリプト」(もちろん、よく分かっていないところも多々あります・・・) 。

誕生日検索なので、birthday_search.sh と名付けました!

PDF ファイルを、テキストファイルに変換

ターミナルから、PDF ファイルを、テキストファイルに変換したい。

 

これでできるようになった。

pdftotext  "インプットファイル"  "アウトプットファイル"

 

そのためには、macports から poppler をインストールしなければならない。

Wednesday, June 1, 2016

find と xargs で重複している写真を削除

find と xargs で重複している写真を削除。

find . -name "*(1)*" -print0 | xargs -0 rm -rf

 一応、できたようだ。

find 検索。一番、ディスク容量を使っているフォルダを知りたい

Dropbox の残り容量が少なくなってきた。

そこで、一番、ディスク容量を使っているフォルダを知りたい。

find 検索を使ってみよう、と思った。

 

以下のようにコマンド入力してみた。

find . -type d -maxdepth 0 | du -h | sort -rn | less

 

一応、コマンドの結果がターミナルに表示されたけど、でも、なんだか求める結果にたどり着いていないような・・・

Tuesday, May 31, 2016

awk, 行を指定した上で、特定のフィールドの値を合計する

awk, 行を指定した上で、特定のフィールドの値を合計する。

 

たとえば、以下のようなファイルがあるとする。ファイル名は、仮に「kenkin.dat」

2016/5/29

献金の記録


5月8日 14000
5月8日 3000
5月15日 10600
5月22日 2000
5月29日 21106

合計

 

日付の入った行の2列目だけを合計したい。

awk '/5月/{sum+=$2; print sum}' kenkin.dat

とすれば、

14000
17000
27600
29600
50706

となる。つまり、最後の50,706円が求める値なのである。

 

 

awk, 挙動確認。split, print

awk の挙動確認です。

split 関数、そして、print。

 

$echo '2016-5-31' | awk 'split($0, a, "-"){print a[2]}'
5

 

$ echo '2016/5/31' | awk 'split($0, a, "/"){print a[2]}'
5

 

$ echo '2016/5/31' | awk 'split($0, a, "/"){print a[2]a[3]}'
531

 

 

 

 

sed, 日付の表示形式を変換。「2016.5.31」=>「2016/5/31」(いや、むしろ、「2016/5/31」=>「2016.5.31」)

(追記。2016年6月3日)

cat asty-ch_member.tab | gsed -e 's|\([0-9]{4}\)\.\([0-9]\?\)\.\([0-9]\?\)|\1/\2/\3|g' | less

 

いや、むしろ、「2016/5/31」=>「2016.5.31」、となってしまった。

まあ、それはそれで構いませんけどね。データの形式が、揃ってればいいんで。

========================================

日付の表示形式を変えたい。

一行の中に出てくる「2016.5.31」という日付表示を、「2016/5/31」に変えたい!

 

そこで、自分なりに頑張って、シェル芸に取り組んでみました。

 

要は、sed の使い方なんですけどね。

これでできました! バンザイ!

cat asty-ch_member.tab | gsed -e 's|\(....\)\.\(.\?\)\.\(.\?\)|\1/\2/\3|g' | less

 

手間取ったのは、sed での正規表現の書き方です。

shell でのワイルドカードの書き方と混同しておりました。

 (ただし、まだ、sed での改行がよく分からない・・・)

 

<参考にしたページ>

sed でのワイルドカードの書き方

http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231046/

正規表現意味
. 改行文字以外の任意の1文字
* 直前の1文字の0回以上の繰り返しに一致。直前の文字は正規表現でも構わない
^ 行の先頭
$ 行の末尾
[ ] かっこ内の任意の1文字に一致。ハイフン(-)で範囲指定もできる
[^ ] かっこ内の任意の1文字に不一致。ハイフン(-)で範囲指定もできる
\+ 直前の文字の1個以上の繰り返しに一致
\? 直前の文字の0または1文字に一致
\{n\} 直前の文字のn個の繰り返しに一致
\{n,\} 直前の文字のn個以上の繰り返しに一致
\{,m\} 直前の文字のm個以下の繰り返しに一致
\{n,m\} 直前の文字のn個以上,m個以下の繰り返しに一致
パターン1\|パターン2 パターン1またはパターン2のいずれかに一致
\(パターン\) パターンをグループ化する。マッチした内容は\1や\2として利用できる
\ 正規表現に使われる記号を普通の文字として扱う

date +%F ⇒ 2016-05-31

date +%F

は、2016-05-31 と表示されます。

 

そして、こうやっても

date “+%Y-%m-%d"

同じく、2016-05-31 と表示されます。

Saturday, May 21, 2016

ImageMagick, 画像の「明るさ」「彩度」「コントラスト」の調整

週報などに、写真を載せたいことがある。
どうせ、コピー用紙に白黒印刷をするだけなので、画像を細かく調整する必要はない。
しかし、これまでの経験から、iPad やデジカメで撮った写真を、そのままプリントアウトすると、コピー用紙に真っ黒に出てしまい、写真の内容が何が何だか分からなくなる。

だから、明るくした写真を、InDesign のファイルに貼り込みたいのです。

そんなとき、いちいち、Pixelmator を立ち上げたくない。コマンドラインからの操作で終わらせたい、と思った。

ありがとう、ImageMagick !
こんな感じでできました。
convert pentecostal_01.jpg -modulate 120,120 pentecostal_01_120.jpg
convert pentecostal_01_120.jpg -contrast pentecostal_01_120_contrast.jpg

<参考にしたページ>
http://imagemagick.rulez.jp/archives/375
 明るさの調整
convert <変換前の画像名> -modulate (value) <変換後の画像名>
例)convert before.jpg -modulate 120 after.jpg

彩度の調整
convert <変換前の画像名> -modulate 100 , (value) <変換後の画像名>
例)convert before.jpg -modulate 100,120 after.jpg

 コントラストの調整
convert <変換前の画像名> -contrast <変換後の画像名>
例)convert before.jpg -contrast after.jpg

Saturday, May 14, 2016

Vim が好きです

Vim が好きです。

触っていると、どきどきします。

VimFiler, Unite.vim も使えるようになりました。なんとか、Vimproc をインストールすることができたんです。

 

シェルスクリプト, Perl, HTML, CSS, 可能なら JavaScript と、進んでいきたい。

 

もう、寝よう・・・

grep, OR 検索

grep で、OR 検索をしたい。

 

わたしは、タスク管理に todo.txt も使っている。

※ 参考にしたページ
http://todotxt.com/
どのツールもしっくりこない人へ、『Todo.txt』によるタスクマネジメントのススメ

 

そして、todo.txt に関して、.bash_profile に以下のようにエイリアスを作っている。

alias t="todo.sh"
alias tl=“clear; t ls | sort -k 3,3 -k 2,2"
alias tls=“clear; t ls"
alias edt="vi /Users/myusername/Google\ Drive/Dropbox/command-MacOSX/todo-txt/todo.txt;tl"

 

たとえば、tl で確認した後、今日までの未消化タスクを、つまり、おとついから今日までの三日分のタスクを表示したかった。

そのとき、grep の OR 検索が必要となる。

tl | grep -e "5-12" -e "5-13" -e "5-14"

とするか、

tl | grep "5-12\|5-13\|5-14"

とすれば良い。でも、二番目の方が短くて良い。

 

(追記)

tl | grep "5-1[234]"

 でも同じ結果が得られる。短いからこっちの方がもっといいな。

 

実際にやってみると、

01 (A) 2016-05-12 Thu (幼) +hmwr @deskwork
02 (A) 2016-05-12 Thu (幼) +hmwr @deskwork
03 (B) 2016-05-13 Fri  +asty @think
04 (B) 2016-05-13 Fri  +北海教区 @deskwork
05 (B) 2016-05-13 Fri  +北海教区 @deskwork
06 (A) 2016-05-14 Sat  +asty @write
07 (B) 2016-05-14 Sat  +asty @deskwork

 

未消化タスクが7つ、表示された。
(細かいタスクはもっとあるけどね・・・) 

 

※ 参考にしたページ
grepを使った便利なコマンド一覧 

Wednesday, May 11, 2016

bash, 複数ファイルの拡張子を一括変換

bash, 複数ファイルの拡張子を一括変換

for f in *; do mv $f ${f%JPG}jpg; done

 

そうすると、

01_hiyoko.JPG  02_hiyoko.JPG  03_hiyoko.JPG
04_hiyoko.JPG  05_hiyoko.JPG  06_hiyoko.JPG
07_hiyoko.JPG  08_hiyoko.JPG  
09_hiyoko.JPG
10_hiyoko.JPG  11_hiyoko.JPG  12_hiyoko.JPG

が、

01_hiyoko.jpg  02_hiyoko.jpg  03_hiyoko.jpg  04_hiyoko.jpg
05_hiyoko.jpg  06_hiyoko.jpg  07_hiyoko.jpg  08_hiyoko.jpg
09_hiyoko.jpg  10_hiyoko.jpg  11_hiyoko.jpg  12_hiyoko.jpg

と、なりました。

 

ちなみに、bash でファイルを縦に並べて表示するコマンドは

ls -1

また、一つ学びました!

 

※ 参考にしたページ

http://www.d-wood.com/blog/2014/06/26_6412.html

Monday, April 25, 2016

Vim, 複数行の連結。日本語の文章で半角スペース無し。「J」と「gJ」

日本語の文章において、Vim で複数行を連結させる。

 

もともと、「gJ」とやれば、半角スペース無しで複数行が連結されるそうだ。

つまり、「J」は英語など、分かち書きをする言語向けの機能なのですね。

 

でも、日本語で文章を書くことの方が多い私としては、「J」と「gJ」の動きを反対にしたい。

 

そこで、.vimrc に以下のように書いた。

nnoremap J gJ
nnoremap gJ J

 

※ 参考にしたページ

http://easyramble.com/join-lines-with-vim.html

 

Vim, 挿入モードの中で計算

Vim,挿入モードの中で計算

挿入モードで、以下のキーボードを押す。
「Ctrl-r=」
その後、数式を入力し(たとえば・・・)
1+2+3
Enter!
6
と計算できる。

※ 参考にしたページ
http://qiita.com/noc06140728/items/429a7729ee7b42eef204

_gvimrc, Windows 10

Windows 10 用の「_gvimrc」を設定しました。

まだまだ改善したいところはありますが、とりあえず、なんとか使えそうなところまでもってきました。

でも、Windows で Vim を使うのは緊急用です。

 

とりあえず、現段階のものをアップしておきます。

"----------------------------------------------------------

" guifont

"----------------------------------------------------------

"set guifont=MS_Gothic:h16:b:cDEFAULT

"set guifont=MS_Gothic:h16:b:cSHIFTJIS

 

set guifont=Migu_1M:h16:cDEFAULT

"set guifontwide=Osaka-Mono:h16

 

 

"----------------------------------------------------------

" language menu

"----------------------------------------------------------

source $VIMRUNTIME/delmenu.vim

set langmenu=ja_jp.utf-8

source $VIMRUNTIME/menu.vim

 

 

"----------------------------------------------------------

" scratch file

"----------------------------------------------------------

new +setl\ buftype=nofile

 

 

"----------------------------------------------------------

" status line

"----------------------------------------------------------

set statusline=%F%m%r%h%w\%=[TYPE=%Y]\[FORMAT=%{&ff}]\[ENC=%{&fileencoding}]\

"set statusline=%F%m%r%h%w\set statusline+=%{IMStatus('[jp-ime-mode]')}\%=[TYPE=%Y]\[FORMAT=%{&ff}]\[ENC=%{&fileencoding}]\

 

"set statusline+=%{IMStatus('[jp-ime-mode]')}

 

 

"----------------------------------------------------------

" file encoding

"----------------------------------------------------------

set encoding=utf-8

set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8

set fileformats=unix,dos,mac

 

 

"----------------------------------------------------------

" English menu

"----------------------------------------------------------

"source $VIMRUNTIME/delmenu.vim 

"set langmenu=none 

"source $VIMRUNTIME/menu.vim

 

 

"----------------------------------------------------------

" English message

"----------------------------------------------------------

if has("multi_lang")

language C

endif

 

 

"----------------------------------------------------------

" backup

"----------------------------------------------------------

set nobackup

 

 

"----------------------------------------------------------

" ime setting

"----------------------------------------------------------

" don't retain IME mode

inoremap <silent> <ESC> <ESC>

inoremap <silent> <c-[> <ESC>

 

"" stay IME mode

"inoremap <silent> <c-j> <c-^>

 

 

"----------------------------------------------------------

" ime setting

"----------------------------------------------------------

"if has('multi_byte_ime') || has('xim') || has('gui_macvim')

"  " Insert mode: lmap off, IME ON

"  set iminsert=2

"  " Serch mode: lmap off, IME ON

"  set imsearch=2

"  " Normal mode: IME off

"  inoremap <silent> <ESC> <ESC>:set iminsert=0<CR>

"endif

 

 

""----------------------------------------------------------

"" im_ctrl.vim

""----------------------------------------------------------

""set runtimepath+=c:/Program\ Files\ (x86)/Vim/plugin/im_ctrl.vim-master

"set runtimepath+=c:/temp/im_ctrl.vim-master

"

"" 「日本語入力固定モード」の動作モード

"let IM_CtrlMode = 4

"" 「日本語入力固定モード」切替キー

""inoremap <silent> <C-j> <C-^><C-r>=IMState('FixMode')<CR>

 

 

"----------------------------------------------------------

" im imsert

"----------------------------------------------------------

"set iminsert=2

"set imsearch=-1

 

"au BufNewFile,BufRead *.txt set iminsert=2

 

 

"----------------------------------------------------------

" browsdir

"----------------------------------------------------------

"set browsedir=buffer

set browsedir=current

"set browsedir=c:\Users\U460-KH5DK\Desktop

 

 

"----------------------------------------------------------

" colorscheme

"----------------------------------------------------------

colorscheme solarized

 

 

"----------------------------------------------------------

" No file name for buffer

"----------------------------------------------------------

setlocal buftype=nofile

 

 

 

Windows 10 便利なショートカットキーの一覧

 

※ 参考にしたページ

http://nj-clucker.com/shotcut-keys-for-windows-10/

 

Windows 10 便利なショートカットキーの一覧

nj-clucker.com

Windows 10 になり一部のシステムメニュー構成、呼び出し方法にも変更がありました。それに伴い、ショートカットキーの割り当ても変更されています。今回は、Windowsキー「」との組み合わせで利用するショートカットキーを紹介します。

仮想デスクトップ等の新しい機能も加わり、それに伴いショートカットキーの割り当ても行われています。古いバージョンから Windows を利用し続けている方は、新たな発見があるかもしれません。より利便性が高くなった Windows 10 のショートカットキー、作業効率アップも見込めますので、Windows 初心者の方も熟練者も、これを機会に一度見直してみてはいかがでしょうか。

Windows 10 ショートカットキー一覧

ショートカット処理内容
1 ~ 0 タスクバーのアプリケーションを選択します。左から 1, 2, 3 ~ 0 とキーボードの並び順に応じて、アプリケーションを切替えられます。Shift キーと組み合わせると、新規インスタンスが起動します。(例えば Excel の場合、開いているファイルではなく、新規ブックが立ち上がります。) また、Alt キーと組み合わせると、右クリックしたときに表示されるジャンプリストが表示されます。
A アクションセンターを開きます。スマホの通知領域のようなイメージです。
B 画面右下のタスクトレイにフォーカスします。マウスが無くてもトレイ内のアイコンをキーボードで選択できるようになります。
C Cortana を起動します。Siri や Google Now と同様の Windows 版の音声入力によアシスタント機能です。2015.8.29 現在、日本語版は Windows Insider 向けの提供のみとなっているため、正式リリースされるまではこちらのショートカットは機能しません。
D 全てのウィンドウを最小化してデスクトップを表示します。もう一度キー押下すると、元の状態に戻ります。
E エクスプローラーを表示します。初期表示は「クイックアクセス」を開きます。初期表示画面が変更されたので、使い勝手は良くなっているように思います。
H 共有チャームを開きます。メールや Evernote 等に向けて、画面全体のスクリーンショットを共有することができます。
I 設定画面を開きます。アカウント設定や、Windows Update もこの設定画面からアクセスできます。地味に使用頻度が高い機能かもしれません。
K ワイヤレスディスプレイやオーディオデバイスへ接続するための、接続用の画面を表示します。
L パソコンをロックして、ロック画面を表示します。職場で一時的に席を離れる時に、よく利用されるコマンドです。
M 全てのウィンドウを最小化してデスクトップを表示します。もう一度キー押下しても、 + D の場合と異なり、元の状態には戻りません。
O デバイスの向きをロックします。タブレットやスマホで、モーションセンサーによる画面の自動回転をロックするための機能です。デスクトップ版では利用用途はありません。
P 外部ディスプレイの表示モードを切替えます。ノートパソコンでは、よくファンクションキーに与えられている機能です。
Q 「Web と Windows を検索」を表示します。画面左下にあるタスクバー上の検索ボックスを非表示にしても、このショートカットで呼び出すことができます。
R [ファイル名を指定して実行] のダイアログを開きます。ここで実行ファイル名を入力すれば、パスが通っている場合、直接起動することができます。
S 「Web と Windows を検索」を表示します。今のところ、 + Q と同じ動きをします。
T タスクバーのアプリケーションを巡回して、アイコンを選択します。Enter で選択したアプリやファイルが開かれます。
U コンピューターの簡単操作センターを開きます。拡大鏡や音声読上げのナレーター、スクリーンキーボードの表示、ハイコントラストの設定が行える画面です。
V 通知を順番に切替えます。Shift を加えると順番が逆になります。
X スタートメニュー「」を右クリックして表示されるメニューを表示します。
Z アプリ (ストアからインストールしたアプリ) を開いている時に、コマンドバーを表示します。コマンドバーを保持していないアプリは表示されません。
Enter ナレーション (音声読上げアプリ) を開始/終了します。
Space 入力方式を切替えます。 Microsoft IME から Google 日本語入力や ATOK へ切り替えられます。
Tab タスクビューを表示します。タスクバーに表示されている以下のアイコンをクリックした時の動作と同じです。 アプリの切替えはAlt + Tab の方が使い勝手が良いですが、仮想デスクトップの切替えを行う場合は、こちらのコマンドを利用します。
, 押している間だけ、一時的にデスクトップ画面を表示します。デスクトップ上のアプリやファイルを確認する際に利用します。
+ 拡大鏡アプリを利用し、画面を拡大します。
拡大鏡アプリを利用し、画面を縮小します。拡大鏡を利用していない場合は縮小しません。
Esc 拡大鏡アプリを終了します。通常、拡大鏡アプリを終了する時は、画面上に表示される虫眼鏡アイコンをクリックし、拡大鏡のウィンドウを開き、右上の「×」ボタンをクリックします。
アクティブウィンドウを画面左半分に表示します。連続して押下すると、右半分に表示、元の位置に表示と、順番に切り替わります。左半分に表示された場合、右半分に表示するアプリの選択ビュー画面が表示されます。2つのファイルを横に並べて作業をする時に、非常に便利なコマンドです。
アクティブウィンドウを画面右半分に表示します。 +  と逆方向の動きになります。
Shift マルチモニタ (モニタが複数台) の場合、アクティブウィンドウを左のモニタへ移動します。シングルモニタの場合は、何も起こりません。
Shift マルチモニタ (モニタが複数台) の場合、アクティブウィンドウを右のモニタへ移動します。シングルモニタの場合は、何も起こりません。
アクティブウィンドウを最大化します。Shift キーを組み合わせると、ウィンドウの横幅サイズはそのままで、縦のサイズだけを最大化します。
アクティブウィンドウを最小化します。最大化されている場合は、最小化する前に元のウィンドウサイズに戻します。
Home アクティブウィンドウ (現在表示しているウィンドウ) 以外の裏で開かれているウィンドウを全て最小化します。もう一度コマンドを入力すると、元の状態に戻ります。
PrtScn スクリーンショットを撮りファイルで保存します。保存先は「ピクチャ」内の「スクリーンショット」フォルダです。
CtrlD 仮想デスクトップを作成します。
CtrlF4 現在表示しているアクティブな仮想デスクトップを閉じます。
Ctrl 仮想デスクトップを切替えます。通常、 キーで移動し、 キーで戻るような動きとなります。仮想デスクトップを追加していない状態では、何も起こりません。
Ctrl 仮想デスクトップを切替えます。
Shift/ Windows フィードバックのアプリを起動します。

以上、Windows 10 の便利なショートカットキー一覧でした。