タグ

ブックマーク / tyru.hatenablog.com (17)

  • Ctrl-[ が Esc になる理由 - Humanity

    理由 SHIFT キーはキーコードを -0x20、CTRL キーはキーコードを -0x40 する機能 全文 vim-jp.slack.com の #random から。 heavenshell [10:08 AM] TouchBar MBP にしたら強制的に C-[ になるので、オススメです!ようやく矯正できた。 mattn [10:09 AM] 人間の方が最適化されている yoshitia [10:12 AM] Escが物理的にない状況用にデフォルトでCtrl-[ 用意してるのすごい mattn [10:14 AM] いや、用意した訳ではないです。 SHIFT キーはキーコードを -0x20、CTRL キーはキーコードを -0x40 する機能なのです。 なので `[` つまり 0x5b は 0x1b になる。 0x1b = ESC 同様に CTRL-H は H が 0x48 なので 0x

    Ctrl-[ が Esc になる理由 - Humanity
    aereal
    aereal 2018/10/04
    !!!知らなかった
  • 「実践Vim 思考のスピードで編集しよう!」レビュー (1日目) - Humanity

    この記事はVim Advent Calendar 2012の276日目の記事です。 また「実践Vim」のレビュー記事の1日目でもあります。 全て読み切ってからレビュー書こうと思いましたが、 KoRoNさんにTwitterで 2回に分けても良いのよ? VACにしても良いのよ? MURAOKA Taro on Twitter: "@tyru 2回に分けても良いのよ? VACにしても良いのよ?" と仰せつかったので何回かに分けちゃいます。 (ちょうどVACも書く人がいなかったみたいで、ちょうどよかった) また書はKoRoNさんにプレゼントしてもらいました。重ね重ねありがとうございます。 「実践Vim」レビュワー選考結果発表 — KaoriYa 書 効率良い編集方法を模索しながらVimをある程度長く使っていれば、 大体Vimの効率の良い使い方が理解できてくると思いますが、 helpを読んだり、

    「実践Vim 思考のスピードで編集しよう!」レビュー (1日目) - Humanity
    aereal
    aereal 2013/09/03
  • Vimらしい操作性について - Humanity

    12時を11分30秒ほど過ぎました所でこんばんは。 この記事はVim Advent Calendar 2012の5日目の記事です。 なおこの記事はAnthyとiPod touchとeskk.vimによって書きました。 今回色々書きたいネタはあったのですが、とりあえず迫りくる締切から逃れるために一番書きやすそうなネタを選びました。(余裕できたら2周目に書くんだ...) という訳で今年は「Vimらしい操作性」について書いてみようと思います。 また、Vimの操作性については前も書いてるので、そちらもよければ参照してください。 表題のことを考えたきっかけは、Sublime Textのmultiple cursorsという機能について、Twitter上でのある人(晒しっぽくなってしまうのが嫌なので仮にAさんとしておきます)とKoRoNさんの会話でした。 え、vim使い的にはmultiカーソルって一括

    Vimらしい操作性について - Humanity
  • Re: Firefoxアドオンの開発を通じて考えるようになったインタラクションデザイン - Humanity

    Latest topics > Firefoxアドオンの開発を通じて考えるようになったインタラクションデザイン - outsider reflex Piroさんの記事に書いてあることほとんどに賛成。 それを見ながら「VimmerがなぜVimにこだわるのか、何を見て/考えているのか」をぽつぽつ書き始めたらこんな分量になってしまった。 どれも最近のunite.vimとかと絡めた話にしか思えなかったからです(っていう割にはunite.vimのことは書いてない。書こうとすれば書けるけど、力尽きたし他の人が書くかなと思って)。っていうかVimに言及してるし。 ここに書いてあることは「だからVimmerは変態なんだよね」と自分自身常々思ってることで、 言われてることで、多分Piroさんがこれ見たらただの与太話にしか見えないはず。というかそう思ってくれて構わない。 Piroさんの記事をセンテンスごとに自

    Re: Firefoxアドオンの開発を通じて考えるようになったインタラクションデザイン - Humanity
    aereal
    aereal 2011/07/02
  • git用に素のvimを設定する - Humanity

    gitでいちいちエディタを立ち上げるのが遅いので 素のvimを使う設定をしようと思ってたのでやった。 ~/.gitconfigでcore.editorを設定する形にした。 コマンドラインから設定するならこんな感じ。 $ git config --global core.editor "vim -u NONE -i NONE -N -c 'syntax on'" -u NONEでプラグインと.vimrcの読み込みを阻止。 -i NONEで.viminfoへ書き込まないようにする。 コミットメッセージ用のファイルいじった記録とか記録してもしょうがないので。 -Nでset nocompatibleしてvi互換でなく、vim互換な動作にする。 -c 'syntax on'でシンタックスハイライトを有効にする。コミットログ書くだけとはいえ、git commit -vとかでdiffを表示させてたりする

    git用に素のvimを設定する - Humanity
    aereal
    aereal 2011/01/07
  • tyruの読み方 - Humanity

    twitterのエゴサーチにこんなポストを見つけた。 Most men try to be 100% SILENT while receiving Oral Sex. But a true woman knows how to change that. Follow Freaky Fact on Twitter: "Most men try to be 100% SILENT while receiving Oral Sex. But a true woman knows how to change that." @FreakyFact haha tyru that tonya on Twitter: "@FreakyFact haha tyru that" 「true*1」か。なるほど。 あれ?読み方これでいいんじゃね?と思ったのでまぁなんかそういうことになりました。 tyruの読み方は

    tyruの読み方 - Humanity
    aereal
    aereal 2011/01/01
    『ドッピオ』じゃないんだ……
  • operator-html-escape.vimというHTML要素をエスケープするプラグインを作った - Humanity

    tyru/operator-html-escape.vim · GitHub operator-html-escape - operator-html-escape provides operator to escape HTML entities. : vim online これはけっこう便利だと思います。 指定された範囲のHTML要素をエスケープするプラグインです。 範囲はtext-objectで指定可能なので、textobj-userなどを使えば自分で範囲を拡張することもできます。 詳しくは:help text-objectを見てください。 また先人達があらゆるtext-objectを作ってくれています。 textobj-function textobj-entire これらとoperator-html-escapeを使用するとこのようなことができます。 ((operator-htm

    operator-html-escape.vimというHTML要素をエスケープするプラグインを作った - Humanity
    aereal
    aereal 2010/11/09
  • twitterのアカウント消えた - Humanity

    最近twitterで愚痴ばっか言ってる気がする、リセットして生まれ変わった自分()になりたい protectにして全員removeしよう*1 スクリプト書くかー めんどいなー あ、一旦退会してもう一回登録しちゃえばfollower 0になるじゃん なんか注意文みたいなの書かれてるけどまぁいいや退会しちゃえ 登録しなおそうとする あれ、できない 注意文良く読む 「This action is permanent: account restoration is currently disabled」 \(^o^)/ というわけでtwitterもうやる気なくなってしまって結果的に生まれ変わりました。 まぁこれでよかったんじゃないかと思います。 よかったですね。 *1:おまえはなにをいってるんだ

    twitterのアカウント消えた - Humanity
    aereal
    aereal 2010/10/23
    同じようなことしました(botだけ残したけど)
  • Dottoっていうdotfilesを管理する便利ツール寄せ集めたもの作った - Humanity

    tyru/dotto · GitHub ちょっと前に作ってたもののブログに書くの忘れてた。 ホームディレクトリの設定ファイル(以下dotfiles)を 別ディレクトリで管理するのにいろいろ便利なツールを寄せ集めたものです。 それぞれ紹介していきます。 環境 Perlが入ってれば動きます。 依存モジュールはdottoのリポジトリで $ cpanm .すれば入ります。 以前はシェルスクリプトのものなんかもあったりしましたが 最近自分がWindowsでnyacusを使って開発してることもあって全部Perlで書き直しました。(movein.shはまだでした) OSはUbuntu、Windowsで確認しています。 設定ファイル 設定ファイルはYAMLで書きます。 パスは 1. -cオプションで指定 2. 環境変数DOTTORCによって指定 ができ、1のほうが優先されます。 設定ファイルによっては、O

    Dottoっていうdotfilesを管理する便利ツール寄せ集めたもの作った - Humanity
    aereal
    aereal 2010/10/17
  • gnome-screenshotをgyazo用にいじったメモ - Humanity

    タイトルの通りgnome-screenshotをちょっといじった。 gnome-screenshotは簡単に言うとGNOMEでスクリーンショットを撮る(Alt + Print Screen) ときに起動するアレです。 どんな風にいじったかというとオプション引数で保存するファイル名を指定できるようにしました。 このオプションが渡されていなければダイアログを出して保存するパスを聞いてきます。 タイトルの「gyazo用に」というのはgyazo for linuxRubyスクリプトなんですが、 それの中でスクリーンショットを撮るプログラムとしてImageMagickのimportコマンドを使っていて、 これだと透過ウィンドウが透過していなかったり なぜかfirefoxのウインドウがまったく無視されてしまったり(なにか特別なことでもしてるんでしょうか...) とさんざんなので、gnome-scre

    gnome-screenshotをgyazo用にいじったメモ - Humanity
    aereal
    aereal 2010/09/24
  • iTunesの曲を全部Ubuntuの方に移動した - Humanity

    iTunesの音楽ファイルさえどうにかUbuntuに移行できたら バックアップが必要なファイルは全てUbuntuに持ってけるのでいろいろ試行錯誤してた。 まず選択肢としてiTunesサーバというものも検討した。 おおまかな手順 OS X ハッキング! (101) iTunesの共有機能、再び | マイナビニュース iTunes 10でmt-daapdを使うにはパッチを当てる必要がある http://d.hatena.ne.jp/tom_n0107/20100917/1284682277 パッチを当てる手順 How to Fix iTunes 10 Break Firefly / mt-daapd 追記: 記事が追記されてました。引用します。 10月03日追記 この問題は、『iTunes 10.0.1』にて改善しています。 表示されない場合は、使用中のiTunesのバージョンを確認してくださ

    iTunesの曲を全部Ubuntuの方に移動した - Humanity
  • @anekosさんから教えてもらったscreenでキーボードの掃除をする方法 - Humanity

    実際にこれが役立ってしまった。 キーボードの掃除用だ! RT @tyru: screenで<C-a>-するとうつれるタブが謎だ。なんだこれ。 2010-07-28 17:01:43 via Tween というわけでscreenで ^A - してもらうとわかるんですけど ホットキー以外何も入力を受け付けないようになるので、 ホットキーはメタキーは伴うのでキーボードの掃除とかしてもそうそう押す心配はないということです。 すばらしいライフハックですね。

    aereal
    aereal 2010/09/14
    PrintScreenとかNumLockは拾うみたい。
  • Vimを様々なもののシンクライアントとして使う話 - Humanity

    vimshell.vim使ってシェルも近々Vimでやってしまいたいと思ってるんだけど、やっぱりVimが重くなりそうで怖い。 なので結局zshに戻ってしまってる。 今ふと重くなるのが嫌だったらVimをあらゆるもののシンクライアントとして使えたら便利なんじゃないかと思った。 うん、これ方向性としては素晴らしいような気がする。 っていうのも俺がVimでなんでもやりたいのって、シェルに切り替えるのがめんどくさいのももちろんあるけど、それよりもVimのインターフェース(操作性)がzshなどよりもカスタマイズ性が断然高いから。 やっぱりカスタマイズ性なんですよね。altercmd.vimと同じことをzshのaliasやabbrevではできない。 あとこれって一応:help design-notにも反しないし。 別に反しててもいいんだけどさ。 そのためにはどうすればいいんだろう。 まず当然プロセス周りを

    Vimを様々なもののシンクライアントとして使う話 - Humanity
    aereal
    aereal 2010/06/16
  • Re: return と ensure 節 - Humanity

    return と ensure 節 - #!/usr/bin/env japanese - Teq.g Rubyではensure(finally的なもの?)でreturnできるらしい。 というか他の言語はfinallyでreturnできるのか気になったので調べてみた。 Vimスクリプト なんで最初がこの言語なんだよ。 function! s:foo() try return 1 finally return 0 endtry endfunction echo s:foo() 0と表示された。 やっぱりRubyと同じくfinallyのreturnが返るらしい。 Java Vimスクリプトの次にC++Perlを考えたけどそもそもfinallyがなかった。RAIIめんどいしfinallyでいいじゃん なのでJava。 よく知らないので何か間違ってるかも。 というか最初ファイル名とクラス名が違う

    Re: return と ensure 節 - Humanity
    aereal
    aereal 2010/06/15
  • 作りたいあるいは欲しいプログラミング言語 - Humanity

    思いついた順に書いてく あと途中cf.とかついてるのはなんとなく思い出したものとか あとhowmのメモからコピペしただけなのでレイアウト崩れてるかもしれないけど気にしない それと話があんまり具体的じゃないっていうかまぁなんか垂れ流してるだけです テンションが完全に深夜なので読み流してください あとこの記事は随時追加予定です 関数はfirst class objectであること クロージャ GC ライブラリとして 正規表現 並列処理(Thread, Fiber, Actor等) ソケット 複素数、虚数などの数値計算 cf. C# - decimal その他いろいろ 関数は入れ子にできる。 {}でくくるとスコープを作りだせる。 Schemeのマクロ マクロとして定義することでメソッドの実行時のオーバーヘッドを失くせたりその他いろいろ便利だったりする? cf. C++ - inline 実行形式

    作りたいあるいは欲しいプログラミング言語 - Humanity
  • Vimperatorのプラグインをアップデートするいくつかの方法 - Humanity

    git/svnでCodeReposのリポジトリを持ってきて、必要なものだけシンボリックリンクを貼る VimperatorのプラグインをCodereposからアップデートするPerlスクリプト - Humanityのブコメでid:sendさんに教えてもらった。 自分はgithubで管理してるので、シンボリックリンクとして記録されたくない。 その場合はコピーする時にシンボリックリンクを解決するか シンボリックリンクをやめてハードリンクにする。 git/svnでCodeReposのリポジトリを持ってきて、pluginLoader.jsを使う シンボリックリンクが使えない環境とか使いたくない場合では便利そう。 自分はLinuxWindows(cygwin)を両方使うのでこれを使うかもしれない。 git/svnでCodeReposのリポジトリを持ってきて、runtimepathに加える 詳しくは:

    Vimperatorのプラグインをアップデートするいくつかの方法 - Humanity
  • Vimスクリプトはやっぱ言語としての完成度は低い - Humanity

    と思った。 :echo strlen("foo\0bar") " => 3 うへぇ。PHPですか。 っていうかstrlen()がそれじゃダメじゃん・・・ PHPのereg_*()関数*1の場合は代替案があるけどVimスクリプトにはstrlen()の役割をする関数は他にはないし・・・ 結局Vimスクリプトにヌルバイトを含む入力があった場合は「正しく扱えない」ということになる。strlen()じゃなくて比較だけど、例えばこんな風に。*2 :echo "foo\0bar" == "foo\0abababa" " => 1 でもまぁWebアプリとか書く訳じゃないからいい・・・のかなぁ・・・? 日語版と英語版両方のヘルプ見ても バイト数を返す 合成文字は扱えない としか書いてなくてヌルバイト文字の影響を受けるとは書いてない。 あとgetchar()は基的に文字の数値を返すけど、特殊文字が押された

    Vimスクリプトはやっぱ言語としての完成度は低い - Humanity
  • 1