タグ

ブックマーク / www.timedia.co.jp (6)

  • 職場で学んだ快適なVim操作のためのtips | Webシステム開発/教育ソリューションのタイムインターメディア

    テキスト編集にVimを利用しているのですが、とても奥が深い道具なので一人で使う分には気づかない機能が沢山あります。 日頃職場の先輩方から教わりとても効率的に出来るようになったVimのtipsを、いくつかこの記事にまとめます。 知ってる人は既に使いこなしているものばかりだと思いますが、Vimのそんな便利だけど気付きにくい機能を共有できればと思います。 カーソルの位置を移動する直前に戻す うっかりggしてしまい作業場所を見失ってしまった、という時や検索などによってカーソル位置を変更した時に元の位置に戻りたい、ということはよくあります。 こういった移動履歴はジャンプリストと呼ばれる場所に記録されているので1手で戻る事ができます。 これはバッファ内だけでなく、ファイル間の移動を記録しているため、タグジャンプなどで別のファイルに移動した後も元いた場所に戻ることが出来ます。 参考help: :h CT

    職場で学んだ快適なVim操作のためのtips | Webシステム開発/教育ソリューションのタイムインターメディア
    HHR
    HHR 2014/09/05
  • OpenSSH のNetcat modeを使う | Webシステム開発/教育ソリューションのタイムインターメディア

    TIM Labsの言い出しっぺなのに、まるで記事を書いていなかったhimuka_kenです。 ネタはヘビーな話題から、夜のおかずまで…あるんですが、なかなか書く時間がありません。 (サボっていると言われたらその通りですが、何か?) さて、メモをしとかないと忘れてしまいそうなのと、割りと社内でも知られていない?ので 記事として残しておきます。 OpenSSH の manを、ある日しげしげと眺めていると、 -W host:port Requests that standard input and output on the client be for- warded to host on port over the secure channel. なんじゃこりゃ?と調べてみると、OpenSSH 5.4から実質netcat の機能を取り込んだ様です。 今までは、踏み台等の特定のホスト経由で多段で

    OpenSSH のNetcat modeを使う | Webシステム開発/教育ソリューションのタイムインターメディア
    HHR
    HHR 2014/02/09
    ssh,netcat,nc,ProxyCommand
  • gitで一度行った変更をなかったことにする方法4つ | Webシステム開発/教育ソリューションのタイムインターメディア

    gitでは様々な方法でコミットログを書き換えることができます。 その一例として一度行った変更をなかったことにする方法を4つ紹介します。 問題1: ライブラリの新機能を試すためにあれこれ適当なコードを書いてみた。でももう要らない。 $ $EDITOR $ git commit -am 'foo' $ $EDITOR $ git commit -am 'bar' $ $EDITOR $ git commit -am 'baz' のように適当な区切りでコミットして行ったものの、 結局全部要らないからなかったことにしたいということはままあります。 解答1: git reset –hard HEAD~{n} コミットしたもの全てを歴史から消し去りたい場合は git reset --hard を使います。 この例の場合は3回のコミットを全てなかったことにしたいので、 以下のコマンドで消し去ることができ

    gitで一度行った変更をなかったことにする方法4つ | Webシステム開発/教育ソリューションのタイムインターメディア
    HHR
    HHR 2013/02/26
    reset
  • Vim Version Manager で複数のバージョンの Vim を簡単に管理する | Webシステム開発/教育ソリューションのタイムインターメディア

    ### 問題 ある程度 Vim を常用していると、それなりの頻度で以下のような問題に遭遇します: * HEAD を追いかけていたら手ひどいミスに遭遇した。少し昔のパッチレベルにまで巻き戻したい。 * [最近のバージョンに更新したらプラグインの動作が変わった](https://github.com/kana/vim-textobj-user/pull/3)。どのパッチレベルで問題が起きたか調べたい。 * そもそも最近のバージョンに更新するのが何だか面倒。 * 複数のバージョンを並行して利用できるようにしたい。 しかしこのようなことを手動で管理するのは面倒です。 どうにかしてこのような作業を簡単に行えないものでしょうか。 ### 解決 [Vim Version Manager](https://github.com/kana/vim-version-manager) (以下 VVM)を使います

    Vim Version Manager で複数のバージョンの Vim を簡単に管理する | Webシステム開発/教育ソリューションのタイムインターメディア
    HHR
    HHR 2012/08/13
    vvm build ビルド
  • Vimで心地良い自動インデント設定を書くためのポイント9個 | Webシステム開発/教育ソリューションのタイムインターメディア

    問題 Vimではデフォルトで500種類以上の言語をシンタックスハイライトすることができます。 また、シンタックスハイライト以外の設定も充実しており、 デフォルトでは約100種類の言語で専用の自動インデントが行われるようになっています。 この約100種類は普段使用する範囲ならば何の問題もないのですが、 人口比率の少ない言語で何かを書こうとしたら デフォルトでは専用インデント設定がなかったというケースは案外あります。 文法がC系の言語であれば'smartindent'で誤魔化すことができるのですが、 人口比率が少ない言語は大抵の場合 'smartindent' が使えない言語です。 という訳で独自の自動インデントの設定を書く必要が出てきました。 しかしどう書けばよいのでしょうか。 解決方法 例として Haskell 用のインデント設定を書くことにしましょう。 Haskellはメジャーな言語では

    Vimで心地良い自動インデント設定を書くためのポイント9個 | Webシステム開発/教育ソリューションのタイムインターメディア
    HHR
    HHR 2012/06/27
    kano様
  • モナド: お前はもう知っている | Webシステム開発/教育ソリューションのタイムインターメディア

    はじめに 過去に私がHaskellを学び始めた時、 真っ先に疑問に思ったことはモナドの存在だった。 当時は全くと言っていいほど理解できなかったが、 最近Haskellを学び直して ようやく理解することができた(と思う)。 という訳で、現時点での私のモナドへの理解を示すためにこの記事を書く。 ここではモナドの質が何なのか概要を示す。 正確な説明は数多あるモナドについてのチュートリアルを参照されたい。 Hellow World問題: IO, Monad, fail 新しい言語を学ぶ時、まず間違いなくHello Worldを書くだろう。 HaskellでHello Worldを書くとこうなる: この1行だけを見ると普通の命令型言語と大して変わらないように思える。 ところでHaskellには強力な型推論がある。 そのため型宣言を省略しても処理系がよしなに解釈してくれる。 ただ普通はコードの意図す

    モナド: お前はもう知っている | Webシステム開発/教育ソリューションのタイムインターメディア
    HHR
    HHR 2012/05/22
    ブクマしてなかった
  • 1