Jupyterのキーボード・ショートカットの逆の逆引き辞典

Fキー: 検索と置換
Ctrl-Shift-Fキー: コマンドパレットを開く
Ctrl-Shift-Pキー: コマンドパレットを開く
Enterキー: 編集モードに入る
Pキー: コマンドパレットを開く
Shift-Enterキー: セルを評価して、下のセルを選択
Ctrl-Enterキー: 選択したセルを評価
Alt-Enterキー: セルを評価して、下に新規セル挿入
Yキー: コードモードに
Mキー: マークダウンモードに
Rキー: raw(テキスト)モードに
1キー: 「見出し1(大見出し)」で書き出す
2キー: 「見出し2(中見出し)」で書き出す
3キー: 「見出し3」で書き出す
4キー: 「見出し4」で書き出す
5キー: 「見出し5」で書き出す
6キー: 「見出し6」で書き出す
Kキー: 上のセルに移動
Upキー: 上のセルに移動
Downキー: 下のセルに移動
Jキー: 下のセルに移動
Shift-Kキー: 上のセルを複数選択
Shift-Upキー: 上のセルを複数選択
Shift-Downキー: 下のセルを複数選択
Shift-Jキー: 下のセルを複数選択
Aキー: セルを上に挿入
Bキー: セルを下に挿入
Xキー: セルを切り取り
Cキー: セルをコピー
Shift-Vキー: セルを上に挿入してペースト
Vキー: セルを下に挿入してペースト
Zキー: 削除したセルを戻す
DDキー: 選択したセルを削除
Shift-Mキー: セルを統合・結合
Ctrl-Sキー: 保存とチェックポイント
Sキー: 保存とチェックポイント
Lキー: セルの中の行番号を表示
Oキー: 選択セルの評価結果を表示
Shift-Oキー: 選択セルの評価結果をスクロール表示
Hキー: ショートカットキーを表示
IIキー: カーネルを中断
00キー: カーネルをリスタート
Shift-Lキー: 行番号を表示/非表示
Shift-Spaceキー: 上にスクロール
Spaceキー: 下にスクロール
Tabキー: コード自動補完、インデント
Shift-Tabキー: ツールチップ(tooltip)
Ctrl-]キー: インデント
Ctrl-[キー: インデント消す
Ctrl-Aキー: 全選択
Ctrl-Zキー: 元に戻す
Ctrl-/キー: コメント
Ctrl-Dキー: 行を削除
Ctrl-Uキー: 選択をやり直す
Insertキー: 挿入/上書きモード切り替え
Ctrl-Homeキー: 最初のセルに移動
Ctrl-Upキー: セルの最初に移動
Ctrl-Downキー: セルの最後に移動
Ctrl-Endキー: 最後のセルに移動
Ctrl-Leftキー: 1単語左に移動
Ctrl-Rightキー: 1単語右に移動
Ctrl-Backspade: 左の単語を消去
Ctrl-Delete: 右の単語を消去
Ctrl-Yキー: やり直す
Alt-Uキー: 選択をやり直す
Ctrl-Mキー: コマンドモード
Ctrl-Shift-Fキー: コマンドパレットを開く
Ctrl-Shift-Pキー: コマンドパレットを開く
Escキー: コマンドモード
Shift-Enterキー: セルを評価して、下のセルを選択
Ctrl-Enterキー: 選択したセルを評価
Alt-Enterキー: セルを評価して、下にセルを挿入
Ctrl-Shift--キー: セルを分割
Ctrl-Sキー: 保存とチェックポイント
Downキー: カーソルを下に移動
Upキー: カーソルを上に移動

Ubuntu入れたらやること

以下、20201119に書き換える。 ubuntu 20.10にしたところ。

google chromeをインストールする
電源 ブランクスクリーンをしないにする。自動サスペンドをオンにする。
gitをインストールして、自分の環境をgit cloneする
githubを公開鍵(ssh-keygen)にする
ユーザー名パスワード省略にする
bashrcを編集する
日本語かな漢字変換mozcでスペースを半角にする。
vscodeを使えるようにする
vscodeは設定でwordwrapをon、hotExitをoff、wrap tabsをon, snippetSuggestionsをtopにする。themeはHigh Contrast。
snippetをコピペする。


      • -

以下、20190305に書き換えました。ubuntu 18.10にて。

ソフトウェアの更新で、日本語環境にする(mozc)
google chromeをインストールする
電源 ブランクスクリーンをしないにする
vim-gtk3をインストールする(文字を大きくする。端末ベルをoffにする)
gitをインストールして、diaryをgit cloneする
githubを公開鍵(ssh-keygen)にする
ユーザー名パスワード省略にする(git remote set-url origin)
bashrcをコピーする
vimrcをシンボリックリンクにする
gnome-tweaksでCapsLockとEsc入れ替え。ShiftでCapsLockオフ => やらない。
日本語かな漢字変換mozcをEscで抜けられるようにする
anacondaをインストールしてpython3.7とjupyter notebookとvscodeを使えるようにする
vscodeは設定でwordwrapをon、hotExitをoff、snippetSuggestionsをtopにする。themeはHigh Contrast。
snippetをコピペする。


解説
ほかは使いながらインストールして行きます。
Google Chromeがあればほんとはほかは要らない、という身の回りの運用をしています。
あとはVimとGitとGitHubですね。git clone , git pullした環境に.vimrcなどを置いておいてシンボリックリンクを張ることによって、いつもの環境と同じになる。
最悪githubがなくなっても何台もある自分の環境にデータも含めて残っている、という仕組みです。
まあ普通だと思うけどあまり記事でみてないのでご参考まで。

以上

vimの設定ファイル

毎日時々刻々とVimの設定ファイル.vimrcが変化しています。が一旦落ち着いたみたいなので、一度晒しておきます。

"vimrcのコメントはクォーテーションマークです

"vimrc以前の環境整備
"1.~/.config/fcitx/configを編集して、Escで変換を抜ける
"2.gnome-tweak-toolでCapsLockとEscを取り替える

"matchit plugin % で対応する単語にジャンプ(Class/endなど)
packadd! matchit
"その他のplugin。ここに入れるだけ -> ~/.vim/pack/foo/start/
"jasentence.vim/plugin/jasentence.vim 日本語の句読点対応
"surround/plugin/surround.vim 囲みを便利にする

"矢印キーを無効化 -- 訓練のため
noremap <Up> <Nop>
noremap <Down> <Nop>
noremap <Left> <Nop>
noremap <Right> <Nop>
inoremap <Up> <Nop>
inoremap <Down> <Nop>
inoremap <Left> <Nop>
inoremap <Right> <Nop>

"ハイライト検索
set hlsearch
"検索単語のハイライトを消す
nnoremap <silent> <C-l> :<C-u>nohlsearch<CR><C-l>
"検索をインクリメンタルにする
set incsearch

"filetype用のpluginとindentを自動読み込み
filetype plugin indent on

"tabやeolを表示する
let mapleader=","
nmap <leader>l :set list!<CR>

"入力モード中に素早くjjjと入力した場合はEscとみなす
inoremap jjj <Esc>
inoremap kkk <Esc>
inoremap っっj <Esc>:call system('fcitx-remote -c')<CR>
inoremap っっk <Esc>:call system('fcitx-remote -c')<CR>

"ビジュアルモードでvを二回で単語末まで選択
vnoremap v el

"ノーマルモードでいとあでiとaで挿入モードにする
nnoremap い i
nnoremap あ a

"ノーマルモードで上下に改行を入れてノーマルモードに戻る
nnoremap O O<Esc>
nnoremap o o<Esc>

"挿入モードでもキーから手を離さずにカーソル移動。
inoremap <C-h> <Left>
inoremap <C-j> <Down>
inoremap <C-k> <Up>
inoremap <C-l> <Right>
inoremap <C-t> <Home>
inoremap <C-a> <End>
inoremap <C-p> <C-Home>
inoremap <C-g> <C-End>
inoremap <C-x> <Delete>

"日付と時刻の自動化
inoremap ,date <C-R>=strftime('*%Y/%m/%d %H:%M %A')<CR><CR><CR><CR><CR><CR>*<CR><Esc>ggj
inoremap ,datee <C-R>=strftime('%Y/%m/%d %H:%M %A')<CR>
inoremap ,time <C-R>=strftime('%H:%M')<CR>

":r!とかで使うshellコマンドで.bashrcを有効にする
set shellcmdflag=-ic

"コマンドモードでhistoryを遡る
cnoremap <C-k> <Up>
cnoremap <C-j> <Down>
set history=200
"vimのyank(コピー)をクリップボードのコピーと共通化
set clipboard=unnamedplus
"vim上でマウスが使えるようにする。
set mouse=a
set noswapfile
set nobackup
set nocompatible
set number
"ts, st, swを一致させる
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
"retab

"検索時に大文字小文字を気にしない
set ignorecase
set smartcase
"vimのウィンドウを行き来する際に変更チェックをかけない
set hidden
"vimのウィンドウの行き来
nnoremap <silent> [b :bprevious<CR>
nnoremap <silent> ]b :bnext<CR>
nnoremap <silent> [B :bfirst<CR>
nnoremap <silent> ]B :blast<CR>

colorscheme delek

filetype on
augroup filetypedetect
  au! BufRead,BufNewFile *.sage,*.spyx,*.pyx setfiletype python
augroup END

set cursorline
"挿入モードになったら色を変える
autocmd InsertEnter * highlight  CursorLine ctermbg=9 ctermfg=255

"ノーマルモードに戻ったら色を戻す
autocmd InsertLeave * highlight  CursorLine ctermbg=None ctermfg=None

"タイプミスを自動で修正
if filereadable(expand('~/autocorrect.dat'))
  source ~/autocorrect.dat
endif

継続は力

定年で始めたピアノがそろろろ10年になろうとしています。


毎週レッスンに通っている。というかレッスンに通うようになったのが10年前。
毎日一度はピアノまたはキーボードに触っている。


なんとなくボケ始めているけれど、上手になっているか下手になっているかはともかく、楽譜を見て音を出す、ということなら死ぬまでできそうな気がしてきた。楽しい。これが楽しくなくなることもあるのだろうか。

毎日やること

1. ハノンを弾きます。今日は31番まで
2. バッハをすこし(インベンション)
3. やさしい楽譜で遊び弾き


やさしい楽譜は

歌の玉手箱
もっとやさしいオトナピアノ
Super Easy Songbook

など。

いちおう両手で弾く。

UbuntuでC++

C++を勉強して見ようと思いたって、hello worldを書いてのっけからエラーで動かなかったので記録しておきます。環境はubuntu16.04です。

//hello.cpp
#include <iostream>
int main() {
    std::cout << "hello world\n \t初めてのC++" << std::endl;
}

これで動きました。コンパイラーはg++で5.4.0。gppというのもあるらしいが使っていません。はじめコピペでダメだったので打ち込みました。後ろの方のendlにもstd::をつけないと動かなかった。

 
error: ‘endl’ was not declared in this scope

 

比較的最近名前空間の仕組みが入れられたらしくて、ネットのサンプルの表記に揺れがあります。

//hello02.cpp
#include <iostream>
using namespace std;
int main() {
    cout << "hello world\n \t初めてのC++" << endl;
}

という書き方の方が主流になる気がする。

 

感想 #include ではないのですね。iostreamのあとに.hもつけない。hはヘッダーのことだっけ。printfではなくて、cout <<なのはオブジェクト指向の影響なのかしら。<<という演算子とかnamespaceの::という演算子とかが新鮮というかなにか名前がないと困る。endlってなに。

 

追記:

   error: stray ‘\342’ in program
   const char BEEP = ’\a’;
   ^

というようなエラーは空白文字とか、asciiでない引用符とかが使われていると出ます。
テキストからコピペするとこのエラーでコンパイルできないのと、目で見つけるのがこんなんなのと、エラーの示している文字とエラーの発生している場所が違うことからけっこう苦労すると思う。苦労した。
全角空白文字はフォントを変えているので見つけやすくなったけど、クオーテーションマークは見た目では違いがわからない。


あと、アンダーバーunderbarというのかな、変数につかうやつ。もコピペではうまくいかないことがある。うまくペーストされずに空白になっていたりします。

javaでrepl

javaの勉強を始めて、javaにはrepl(対話型評価環境)がないのかなぁ、不便だなぁと思って

 

java repl

 

で検索したら、java9から実装されるって書いてあって、jshellと呼ぶらしい。

試しにubuntuの端末で

 

jshell

 

と叩いたら、apt installできるよ、とubuntu 16.04が答えたので、インストールしてみました。

 

メチャくちゃ便利

 

追記

java -version

javac -version

としたところ、java 9-internalになってました。

 

 

濡れタオルで加湿

暖房をつけたまま寝ると、部屋が乾燥してのどがおかしくなります。インフルエンザや風邪のウィルスも湿度を上げると効果があるとのことで、濡れタオルを部屋の中に干して加湿することにしました。

 

コップや洗面器の水が減ることを見ても減った分その水分が部屋の空気の中に移ったわけなので部屋の中に水を置くことが効果があるのは確かなのですが、湿度計のメモリを大幅に動かすのはけっこうたいへんです。

 

濡れタオルも数本では20%台から50%台にはなかなか動いてくれない。いろいろ実験して、現在厚手のふつうのタオルを10本つるしたところで常時50%を超えるようになりました。暖房はエアコンで21度です。

 

水と空気との接点、表面積を増やすことがポイントなので濡れタオルの効果は絶大だと思います。欠点は一晩経つと半分くらいは乾いてしまうので順次濡らしてしぼる、という作業が発生してしまうことです。下部を水につけてつるすとか、工夫も可能ですが、いまのところ単純に濡らして干すを繰り返しています。

 

あと、たぶんよく洗って太陽干しした清潔なタオルでないと匂いが発生するかもしれません。まだそういうことはないけれど。

 

そそ、100円ショップで買ってきた洗濯物干しのハンガーを使っています。一つのフックでたくさん干せて便利。これが壁に5つぶら下がっていて、それぞれに2本ずつ干しています。

 

以上