はてブを再開するがTwitterはあいかわらず見ない
Vim タブ派からウィンドウ派に移行する方法
はじめに
- ウィンドウ機能
- タブ機能
のどちらか、あるいは両方を使用する方法がある。 私は、もともとタブ機能派だったがウィンドウ機能派に宗旨替えをした。 その時に行った設定やプラグインについて備忘メモとして残す。
キーマッピング
before
nnoremap <C-h> gT : 前のタブへ
nnoremap <C-l> gt : 次のタブへ
after
nnoremap <C-h> <C-w>h : 左のウィンドウへ
nnoremap <C-j> <C-w>j : 下のウィンドウへ
nnoremap <C-k> <C-w>k : 上のウィンドウへ
nnoremap <C-l> <C-w>l : 右のウィンドウへ
所感
ウィンドウにすることで複数ファイルを比較しながら編集でき見通しが良くなる
プラグイン
マルチウィンドウを使うと編集中にウィンドウ最大化・復元を頻繁にしたくなることがある。 良いプラグインがないかいろいろあさった結果、↓が一番使い勝手が良かった。
NeoBundle 'szw/vim-maximizer' " windowの最大化・復元
以下の設定で、<C-t>で最大化・復元をトグルできる。
let g:maximizer_default_mapping_key = '<C-t>'
まとめ
とりあえずウィンドウ使いこなすと良い
英語学習メモ
齢28にしてゼロから英語を学習しようと思い立ったため、学習方針・目的を整理しておく。 至極飽きっぽい性格につき、戦略無く挑んだところで惨敗となるのは目に見えているため。
目的
まず目的。次の通りごく単純な動機による。
英語で書かれた技術情報にアクセスしたい
仕事がら(SE)、英語で書かれた技術情報を読むことが多い。英語での一次情報は、日本語化された情報に比べ、量・鮮度ともに圧倒的に優位性がある。 今は、翻訳サイトを頼りつつニュアンスで読んでるが、そもそも翻訳サイトでは限界があることと、時間的なコストも大きい。
ソフトウェア開発にてスムーズに英語を用いたい
コードコメント、コミットコメント、クラス名・メソッド名の名前付けなど、あらゆる場面で英語の知識が必要となる。
※以下は副次的な目的
TOEICでなんとなく泊を付けたい
現在の勤め先では、資格・TOEICについては、参考程度に評価される程度。また、転職市場でも大きな武器とはならないと思われる。(スコア900以上など飛び抜けていれば別だろうが) ただ、何が起こるかわからないポイズンな世の中、ある程度汎用的なスキルを保持しておきたい。TOEICはその指標としてまあ、妥当かなと。
日本語文章のスキルアップ
英語のライティングを学ぶと日本語での文章作成スキルにも良い影響を与えると聞く。文法をロジカルに意識する必要があるからかな。
前提
現時点の自分の英語スキルはゼロ。中学1年レベルの内容をなんとなく覚えてる程度。なんでこんなことになってしまったのかは置いといて、ここから現実的に上記目的を達するには何が必要か。
まず、一般的に英語の習得には3000時間程度必要と聞く(英語+学習時間とかでググるといくつも出てくる)。 現実的に一日に学習に使える時間は多くて1hくらい。(仕事へ影響が出なくその他の学習等も考えて)。 すると、一日1h計算で約8年かかる。。流石に気が遠くなるので、まず3000時間は度外視し、前述した目的に特化する。
学習についての学習
巷に溢れる英語学習についての書籍、サイトをまずパラパラっと読んで見る。 (自分はこれをやってる時が一番楽しい <- 結局ものにならない人の類型) Kindle多し。
- kindle
- 文法
- Amazon.co.jp: Mr. Evineの 中学英文法を修了するドリル Mr. Evine シリーズ 電子書籍: Evine: Kindleストア
- Amazon.co.jp: Mr. Evineの英文法ブリッジコース[中学修了→高校基礎] Mr. Evine シリーズ 電子書籍: Evine: Kindleストア
- Amazon.co.jp: 英文法のトリセツ じっくり基礎編 電子書籍: 阿川 イチロヲ: Kindleストア
- Amazon.co.jp: 英文法のトリセツ とことん攻略編 電子書籍: 阿川 イチロヲ: Kindleストア
- Amazon.co.jp: 英文法のトリセツ 中学レベル完結編 電子書籍: 阿川 イチロヲ: Kindleストア
- Amazon.co.jp: 中学・高校6年間の英語をこの1冊でざっと復習する (中経出版) 電子書籍: 稲田 一: Kindleストア
- Amazon.co.jp: 毎日の英文法 頭の中に「英語のパターン」をつくる eBook: ジェームス・M・バーダマン : Kindleストア
- その他
- 文法
- 紙
パラパラっとみたところ、「Mr. Evineの中学英文法を〜」が最も自分にあってそう。5文型から始まっているのが入りやすかった。
とりあえず
とりあえず「Mr.Evineの中学英文法を〜」が30日でできる触れ込みのため、予定通り終わらせる。 (当エントリーの初回ポストが2014/12/30)
VimとVrapperとVichromeでキーマッピングを揃えたい
VimとVrapperとVichromeという素晴らしいソフトがある。
今回、上記ソフト同士でなるべくキーマッピングを統一し、より快適に使えるようにしたい方法を検討する。
各ソフトの詳細な説明はしない。(よいページが既にたくさんある)
キーマッピングの方針
- なるべくvimのデフォルトから離れたくない
-> これが一番重要かも。(個人的な趣味) - <大文字キー>系,<C-?>系,<Space>hoge系である程度統一したい
-> 何をいってるかというと、(H,L,J,K)と(<C-h>,<C-l>,<C-j>,<C-k>)と(<Space>h,<Space>l,<Space>j,<Space>k>)などの単位で似たようなオペレーションとしたい。 - eclipseとchromeのタブ移動は頻繁かつ連続で実行するので
などの2ストロークはしたくない
(そうすると<C-hoge>とかくらいしか無さそう) - なるべくeclipse,chromeの有用なキーを潰したくない
- vimでは<C-h>,<C-l>,<C-j>,<C-k>を縦横スクロールに使いたい。
-> たぶんここが一番ネック。(vrapper,vichromeでは別のマッピングに使いたい。)
-> vrapper,vichromeでは横スクロールがほとんど必要ないが、vimでは結構頻繁にやるんだよなあ。。。(俺だけ?)
結局どれかとどれかはトレードオフなはずですべてを満足は不可能。
(どれとどれが競合するかが整理できてないので、時間掛かっているのかな。。。)
あと、vimのタブと、eclipse,chromeのタブは概念が若干違いそう。(実践Vimにあるとおり、vimのタブはワークスペースに近いので、vimのバッファ or ウィンドウと、eclipse,chromeのタブを同一のキーバインドで扱いたい)
決定事項
<C-o> -> 戻る, <C-i> -> 進む
-> これはvimで頻繁に使うので、eclipse,chromeでも同様のキーマッピングとするH -> 最上にカーソル移動, L -> 最下にカーソル移動
-> これ、正直vimでもあまり使わないけど、デフォルトから替えたくないので、このままとする。 chromeの場合だけ、とする。
最終的なまとめ
案1
コマンド -> (vim, vrapper, vichrome)
h -> 左タブ, 左タブ, 左タブ S-h -> 画面最上, 画面最上, NOP C-h -> 左スクロール, 左タブ, 左タブ C-o -> 戻る, 戻る まとめ
- <C-?>系が統一されない
案2 - vimでの<C-hoge>でのスクロールをあきらめた場合
たぶん一番シンプルに統一できる。
Vimでset numberしているとき:printコマンドの結果にも行番号が表示されてしまう件
問題
タイトルのとおり。 これググっても特に困ってる人が出てこないんだけど、自分は軽く困った(ている)のでメモしておく。
set nonumber :print -> 結果に行番号が表示されない
しかーし、
set number :print -> 結果に行番号も表示されてしまう!
これの何が困るのかというと:printコマンドの結果をレジスタに格納して使いたいことが(たまーに)あるのである。 そのときは、行番号は余計なので除きたい。 しかし、自分は普段は、行番号を表示させておきたいので、vimrcでset numberをしているのである。
結論
ダメでした。一時的にset nonumberするしかなさそう。(:printのときだけ直前で:set nonumberを自動でかますことはできそう?)
以下は作業記録。
調査
まずは:helpである。
:help :print
:[range]p[rint] [flags]
とでてきてflagsが怪しいので見てみると、#をつけると行番号が表示されるとある。
しかし、set numberのときは、このフラグに依らず、必ず行番号が出力されてしまうっぽい。(set nonumberのときは確かに上記フラグで切り替えられた。)
まとめ
そういうものなんでしょうね。