タグ

vimに関するhfmgardenのブックマーク (41)

  • Vim初心者に贈る、Vimの各種モードを完全に理解するとっておきの方法 - Quipper Product Team Blog

    つい先日, 2018-11-24 (土) に開催された VimConf 2018にて、弊Quipper社の ujihisa さんが登壇しVim技術発表を行いました。記事ではその発表の解説と、その裏話をめいっぱい記します。 発表タイトルは "Modes" という一単語のみで、公式サイトに載っているtalk abstractによると以下のようなものです。 Abstract Discover what is happening internally when you switch modes, such as insert mode, normal mode, and operator-pending mode. This talk first revisits how modes are when you use Vim, then I'll let you dive into the V

    Vim初心者に贈る、Vimの各種モードを完全に理解するとっておきの方法 - Quipper Product Team Blog
  • 2017年版nginx.vim(大した話ではありません)

    2年半ほど前にnginx vim syntaxを導入したのだが、nginxも日々進化しており、syntax highlightの効かない項目が増えてきた。使える機能に色がつかないと地味に気を取られるし、いつの間にか生産性を下げていたのかもしれない(そういう意味では、syntax highlightを使わない選択は合理的なのかも。) いつものようにnginx-develメーリスを眺めていたら、Vim用のパッチが送られており、Vimの設定ファイルがメンテされていることに気づいた1 2。そしてその設定ファイルこそが、元々使っていたevanmiller/nginx-vim-syntaxの移管先だった。nginx-vim-syntaxのREADMEをよく見ると、2013年12月に移管した旨が書かれている…ずっと気づいてなかった。公式が最強だった。 早速nginx-vim-syntaxを捨てて、以下の

    hfmgarden
    hfmgarden 2017/02/23
    2017年にvimの話を書きました
  • vimgrepとQuickfix知らないVimmerはちょっとこっち来い - Qiita

    vim入門」系記事で解説されないためか、意外と使い方が知られていないvimgrep。 ファイルを開いては検索、開いては検索ってしてる? grepするためにvimから出てる? grep結果を見て改めてvimで開き直してる? それ、vimgrep使えば256倍早くなる(かも)よ。 簡単なまとめ vimgrepは… ファイルをまたいで検索できる grepやgit-grepよりは遅いので巨大プロジェクトでは検索対象を絞ったほうがいい ワイルドカード使うと簡単に絞り込める 繰り返し同じ対象から検索する場合はargument listを使うと捗る gitリポジトリではgit-ls-filesと組み合わせる 該当箇所に素早く移動&編集できる quickfix-windowと組み合わせると更に捗る この記事読むと分かること :vimgrepコマンドの使い方 :cwindowコマンドの使い方 :argsコ

    vimgrepとQuickfix知らないVimmerはちょっとこっち来い - Qiita
  • 『実践Vim』を読んで学んだ、おすすめVimデフォルト機能36個 - MyEnigma

    実践Vim 思考のスピードで編集しよう! (アスキー書籍)posted with カエレバDrew Neil,新丈 径 角川アスキー総合研究所 2014-01-28 Amazonで探す楽天市場で探すYahooショッピングで探す 目次 目次 はじめに 実践Vimを読んだ 『実践Vim』を読んで学んだ、おすすめVimデフォルト機能 1. Vimの書籍でよく見るコマンド表記について 2. コードのインデントを深くしたり、浅くしたりする 3. カーソルの行の前と後ろの行に新規入力する (<shift- o> or o) 4. 数値をある一定数増やす (5<C-a>) 5. カーソルがある行を中央にして画面を描画 (zz) 6. 計算結果を入力する (挿入モードで、<C-r>=60*28) 7. Vimで進数変換をする (bcコマンドを使う) 8. visualモードの範囲指定をやり直す (visu

    『実践Vim』を読んで学んだ、おすすめVimデフォルト機能36個 - MyEnigma
  • A Good Vimrc

    Posted January 21th, 2014 How To Vimrc There is just one rule you must follow when crafting your own .vimrc. Don't put any lines in your vimrc that you don't understand. There are tons of tutorials such as this one on the internet that contain all kinds of awesome hacks to make your Vim better, but the absolute worst way to make your environment better is to just copy it wholesale from others. Spe

    hfmgarden
    hfmgarden 2015/10/11
    “Don't put any lines in your vimrc that you don't understand.”
  • サポートページ:Software Design 2015年10月号

    ダウンロード 特別付録 VimEmacsチートシート 創刊300号を記念した特別付録のPDFデータがダウンロードできます。なお、データの商用利用は認めません。 個人利用の範囲内での使用をお願いいたします。 © 2015 mattn and rubikitch all rights reserved. ダウンロード Vimチートシート Emacsチートシート お詫びと訂正(正誤表) 誌の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

    サポートページ:Software Design 2015年10月号
  • Visual モード時の CTRL-A/CTRL-X について

    Vim をお使いの方であれば、数字の上で CTRL-A や CTRL-X を押すとインクリメント/デクリメントされる事はご存じだと思います。 Patch 7.4.754 により Visual モードで選択している数字を一括でインクリメント/デクリメント出来る様になりました。 もちろん 20<CTRL-A> で一気に20インクリメントする事も出来ます。 単純に <CTRL-A>, <CTRL-X> をタイプした場合、アクション後にビジュアル選択が解けてしまうので、続けて操作したいという場合は

    Visual モード時の CTRL-A/CTRL-X について
    hfmgarden
    hfmgarden 2015/09/18
    これ欲しかったやつや
  • Vim で使える Ctrl を使うキーバインドまとめ - 反省はしても後悔はしない

    キーマップに Ctrl キーを使うものを割り当てたいんですが、既存の機能と衝突するのが怖いので調べてみました。 keybind normal visual insert <C-a> 数字を加算 なし さっき挿入した文字を挿入 <C-b> 1ページ上にスクロール 1ページ上にスクロール なし*1 <C-c> (検索)コマンドの中止 visual モードの終了 insert モードの終了 <C-d> 半ページ下にスクロール 半ページ下にスクロール 字下げの削除 <C-e> 1行下にスクロール 1行下にスクロール カーソルの下の行の同じ位置の文字を挿入 <C-f> 1ページ下にスクロール 1ページ下にスクロール インデントの再調整 <C-g> カーソル位置とファイルの状態表示 セレクトモードへ移行 1行下の、挿入開始位置と同じ列へ移動 <C-h> カーソルを左に移動 カーソルを左に移動 カーソル

    Vim で使える Ctrl を使うキーバインドまとめ - 反省はしても後悔はしない
  • CtrlP + ag で vim の検索を高速化 - Carpe Diem

    メリット 検索が早くなる キャッシュを保持しないのでgitのブランチを切り替えても新しい結果が表示される 環境 Ubuntu 14.04 vim 7.3 NeoBundle 2.1 ag 0.19.2 agのインストール $ sudo apt-get install silversearcher-ag プラグインのインストール 以下を .vimrc の NeoBundle の設定に追加します。 NeoBundle "ctrlpvim/ctrlp.vim" NeoBundle 'rking/ag.vim' vimのコマンドモードでインストールすれば完了です。 :NeoBundleInstall 設定 以下を .vimrc に追加します。 if executable('ag') let g:ctrlp_use_caching=0 let g:ctrlp_user_command='ag %s

    CtrlP + ag で vim の検索を高速化 - Carpe Diem
    hfmgarden
    hfmgarden 2015/05/03
    思ってた以上に高速化して満足度高い
  • anyenvの設定を正しい位置に書いたらVimの起動が爆速になった

    riywo/anyenvを導入した直後から、Vimの起動が急激に重くなって困っていた。 関連性が全く分からず、なんだこれ…と思って調べたところ、以下のような記事を見つけた。 Vim を高速にしたたったひとつの作業 - pekeblog! なんじゃこれ・・・?とおもいつつも、デバッグコードをいれたところ、zshenv が異様に遅いことが判明。 遅いのは rbenv 関連というのは明らかだったので、とりあえずそこら辺をコメント化。 anyenvの設定を~/.zshenvにだけ書いていたのがダメだったようだ。 zshenvが思った以上にVimの中で呼ばれまくるらしく、eval "$(anyenv init - zsh)"が遅延の根原因だった。 というわけで、evalしてるコードはzshrcに分けて書くようにしたところ、今までが信じられないくらいVimが高速化した。 vim --startupt

    hfmgarden
    hfmgarden 2015/04/19
    情弱なだけですが、すっごい速くなりました
  • vim-go-extra を公開致します。

    golang オフィシャル配布物として提供されてきた misc/vim という vim プラグインが、開発対象から外すという理由により先日リポジトリから削除されました。 その変更を受けて vim-jp ではそのコピーを go-vim というリポジトリ名で公開しておりました。日それを vim-go-extra という名称に変更致しました。 以下これまでの流れ。 golang オフィシャルリポジトリから misc/vim が削除される vim-jp が go-vim として misc/vim のコピーを配布 Googlevim-ft-go というリポジトリで misc/vim の一部を公開する vim 体リポジトリに vim-ft-go がマージされる vim-ft-go には misc/vim の一部のみが含まれています。misc/vim からは以下のコマンドが削除されました。 :

    vim-go-extra を公開致します。
  • fugitive.vimの使い方を良く忘れる | iii ThreeTreesLight

    fugitive.vimの使い方を良く忘れる fugitive.vimを積極的に使ってこなかったため、使い方を忘れる始末。 というわけで、備忘録代わりにでも書きたいと思います。 過去ソースを参照しつつ修正するとき方法1::Gdiff左ウィンドウがインデックス。右ウィンドウがワークでdp。 方法2::Gblame左ウィンドウがコミットログ。右ウィンドウがソース ~ : 見たいコミットログを選択して、~でHAED~相当の当該ログのソース P : 見たいコミットログを選択して、~でHAED~相当の当該ログのソース enter : 当該ログのコミットログ そんなこんなでコピペして直したり。 方法3: :Gstatus対象ファイルにカーソルを合わせDでVimDiff表示 git addからcommit、そしてgit pushgit add ( 編集中ファイルのみ ):Gwrite もしくは :Gst

  • NeoBundleのプラグイン管理をTOMLに任せてvimrcをスッキリさせる

    NeoBundleがTOML1 parserを導入して、TOMLファイルにプラグイン管理を任せられるようになった。 Add TOML parser · Shougo/neobundle.vim@75e836f 設定ファイルのサンプル vimrcの設定は、ドキュメントとShougo氏のvimrc2を参考にすると、neobundle#begin〜neobundle#endの間を以下のように書けば良さそうだ。 call neobundle#begin(expand('~/.vim/bundle/')) if neobundle#has_cache() " キャッシュから高速に起動 NeoBundleLoadCache else NeoBundleFetch 'Shougo/neobundle.vim' " TOMLファイルを指定 call neobundle#load_toml('~/.vim/

    hfmgarden
    hfmgarden 2015/03/29
    一部古かったみたいなのでアップデートしました
  • watchdogs.vim に Rubocop の設定を追加した - C++でゲームプログラミング

    関連 : Rubocopをsyntasticを使ってVimから自動実行する - Qiita って事で、watchdogs.vim にも Rubocop でシンタックスチェックを行う設定を追加しました。 使用するためには Rubocop のインストールと g:quickrun_config へ設定を追加する必要があります。 [Rubocop のインストール] bbatsov/rubocop - github $ gem install rubocop [設定] " Rubyrubocop を使用するように設定 let g:quickrun_config = { \ "ruby/watchdogs_checker" : { \ "type" : "watchdogs_checker/rubocop" \ } \} Rubocop が使用できる場合はそちらをデフォルトの設定にしておいてもい

    watchdogs.vim に Rubocop の設定を追加した - C++でゲームプログラミング
    hfmgarden
    hfmgarden 2015/03/28
    早速設定した
  • vim-watchdogsで快適なシンタックスチェック - Blank File

    訳あってVimでのシンタックスチェックをSyntastic + pyflakes-vimからosyo-manga/vim-watchdogsに置き換えたらかなり快適になったので紹介したいと思います。 これまで Vimでのシンタックスチェックは主に Syntastic を使い、Pythonを書く時は pyflakes-vimをフォークして少し修正したもの を使っていました。 Syntasticは対応しているファイルタイプは多いのですが、保存しないとチェックできなかったり少し動作が重かったりする(特にWindows環境)ところが不満でした。 なので、書くことの多いPythonではSyntasticを使わず、ほぼリアルタイムでチェックできるpyflakes-vimを使っていました。 特にFlaskなどでサーバーをデバッグモード *1 で走らせていると、シンタックスエラーのあるファイルをうっかり保

    vim-watchdogsで快適なシンタックスチェック - Blank File
  • watchdogs.vim つくりました - C++でゲームプログラミング

    前々から言っていた watchdogs.vim ですが、そろそろ煮詰まってきたのでまとめ記事にしようかと。 ちなみにこれとは関係ありません。 [追記] watchdogs.vim で quickfix ウィンドウが開かない場合の対処方法 watchdogs.vim でハイライト(hier.vim)が更新されない不具合を修正 watchdogs.vimerrorformat が反映されなかった不具合を改善 quickrun.vim で無名バッファでも quickfix に出力されるようにしてみた [概要] Vim でシンタックスチェックを行うためのプラグインです。 類似プラグインでいえば、syntastic があります。 syntastic - github syntastic との最大の違いはバックエンドに quickrun.vim を使用する事で、 quickrun-module

    watchdogs.vim つくりました - C++でゲームプログラミング
    hfmgarden
    hfmgarden 2015/03/27
    Syntastic重くて辛かったので乗り換えた
  • Surround.vimからvim-operator-surroundに移行した - TODESKING

    プリセットされた設定を使うぶんには問題なかったんだけど、textobj-userで定義したテキストオブジェクトを surroundでも使おうとしたら不可能なことが発覚(削除処理決め打ちでカスタマイズの余地がない)。 どうしたものかと思って調査してたらvim-operator-surroundが良さそうだったので乗り換えた。 基設定 " surround.vimはアンインストールしておきましょう NeoBundle 'kana/vim-operator-user' NeoBundle 'rhysd/vim-operator-surround' " 公式サンプルだとsa/sd/srだがsurround.vimに合わせた nmap ys <Plug>(operator-surround-append) nmap ds <Plug>(operator-surround-delete) nmap

  • メモの日々(2014-10-15)

    ■ [vim] Unite bufferでignorecaseを有効にする (2) Unite.vimをアップデートしたら以前にメモした設定が [unite.vim] You cannot set "ignorecase". Please set "context.ignorecase" by unite#custom#profile() instead. というエラーになるようになってしまった。 ignorecaseの所をcontext.ignorecaseに変えればいいのかと思ったが、それではigonrecaseが機能しなかった。マニュアルを読んだ結果、次のように設定すればよさそう。 call unite#custom#profile('default', 'context', { \ 'ignorecase' : 1, \ 'smartcase' : 1, \ }) ignoreca

    メモの日々(2014-10-15)
    hfmgarden
    hfmgarden 2015/03/22
    Unite bufferでignorecaseを有効にする
  • Big Sky :: IDE としての Vim

    この文章は、http://yannesposito.com/Scratch/en/blog/Vim-as-IDE/ で掲載されている「Vim as IDE」の翻訳文です。 文内の全てはの筆者による物であり、訳文の内容については私による物となります。意訳が若干入っています。間違い等あればご連絡下さい。 Vim as IDE tl;dr: 如何に Vim を効率の良い IDE として使いこなすか Learn Vim Progressively (訳者注: 日語訳)では Vim が如何にテキスト編集に優れ、かつファイルを操縦できる偉大なテキストエディタであるかについて示した。この短い記事では、私が如何にして Vim を IDE として使っているかについて見る事が出来るだろう。そう、主に幾つかの素晴らしいプラグインを使う事により。 1. Vim Plugin Manager Vim のプラグイン

    Big Sky :: IDE としての Vim
  • Itamaeが超高速で書けるitamae-snippetsを作った

    Itamae書いてますか!※ Itamaeが超高速で書けるようにsnippetsを作成しました。ItamaeのResources等を覚えられないVimmerな皆さん、是非お使いください! hfm/itamae-snippets 使用感はglidenote/serverspec-snippetsとほぼ同じ(はず)です。 インストール方法は https://github.com/hfm/itamae-snippets#install を御覧ください。 サーバ構築したいけど、PuppetやChefだと規模でかいなー出来ればRubyっぽく書きたいなーという需要に応えてくれるItamae最高です。 終わりに ※@glidenote先生にあやかってブログ記事も真似てみました。お、怒られるかも… Serverspecが超高速で書けるserverspec-snippetsを作った - Glide Note

    hfmgarden
    hfmgarden 2015/01/22
    itamae便利だぞ!