vim

neovimでvimfilerならdefx

vim

neovimを使うようにしてからvimfilerが使えないことに気づいたので、他に使えるものがないか調べたところdefx.nvimがあったという話 neovimでvimfilerを開こうとするとエラーになる。なのでvimfilerのgithubを見てみるとこんなことが書いてあった。 GitHub -…

vim pluginを探すときに便利なとこ

vim

vim awesomeというpluginを集めたサイトを見つけた。現在15,000くらいのpluginを掲載しているようで、使っているユーザの多い順にランキングされている。 vimawesome.com 使っているユーザの判定はgithub上でdotfilesとして公開されている設定ファイルから、…

surround.vimにドットコマンドを効かせる

vim

surround.vimはカッコやクォートなどのペアを消したり置換したりできるコマンドを加えるplugin。ダブルクォートになっているものをシングルクォートにしたいことなどよくあるので便利。 複数箇所に同じ置換を行いたい場合、少数ならドットコマンドで繰り返し…

Neomake - 非同期実行のSyntastic

vim

syntasticを使っていると大きなファイルでsyntax checkなどするとしばらく応答が返らないことがよくある。neovimには非同期でjobを実行する機能があり、それを活かしたpluginとしてNeomakeというsyntasticと同様の機能をもつものがあることを知ったので使っ…

vimでコマンドの出力をキャプチャする

vim

特定のファイルにコマンドの出力を書き出したいときはこれ !をつけることで新規のファイルでも書き込める :redir! > file :echo 'aaa' :redir end これでaaaという文字列がfileに書かれる ちなみにredirはrediと省略して書ける また、rediはredirectの略 フ…

vimでnon-greedyなマッチ

vim

vimでnon-greedyなマッチを行うために正規表現を調べたのでメモ non-greedyなマッチを使いたい場合のusecase 以下の行でクォーテーション毎にそれぞれマッチしたい場合 'hoge', 'fuga' アスタリスクを使って書くと行頭から行末まで全体にマッチしてしまう # …

autoloadの関数が見つからない -- Unknown function: submode#enter_with

vim

vim-submodeを入れてみた際、以下のように.vimrcに設定したところエラーが出た。 NeoBundle 'kana/vim-submode' call submode#enter_with('winsize', 'n', '', '<C-w>>', '<C-w>>') call submode#map('winsize', 'n', '', '>', '<C-w>>');これでloadし直すと以下のようなエ</c-w></c-w></c-w>…

neobundleで遅延読み込み時に処理

vim

久しぶりにvimの設定を触ることにしたのでメモあるプラグインでしか必要のない設定はその読み込み時に処理したい。そのような場合例えば以下のように書ける。 NeoBundleLazy 'Shougo/unite.vim', { \ 'autoload': { 'commands': ['Unite'] } \} let s:bundle…

C-lで現在のカーソル位置を確認

vim

カーソル位置がわからなくなることがあったため C-lでカーソル位置確認できるように設定した ついでにvimscriptの勉強にもなったためメモしておく.vimrcに以下の設定を追加すれば実現できる function! HighlightCursor() set cursorline "カーソル位置の行を…

Error detected while processing function ghcmod#util#check_version

ghc-mod.vimでエラーが出た 具体的にはghc-modを5.2.1にupdateしたら.hsファイルを開いたときにエラーが出るようになった 文法エラーを表示する機能には影響していないようなのでほっておいてもいいが、起動時に毎回出るのは面倒なので調べてみた ちなみにgh…

vimとxargsで表示がおかしくなる

まとめてファイルを開く必要があるときに以下のようにやることがある $ find . -name '*.txt' | xargs vimだがこんなwarningが出た上、vimを終了した後にターミナルの表示がおかしくなる Vim: Warning: Input is not from a terminal # vim終了後 $ git stat…

書き込み権限のないユーザでファイルを編集してしまったとき Can't open file for writing

vim

vimでrootのもっているファイルをつい通常のユーザのままで開いて編集し、セーブするときになって気づくことがある。rootになって再度編集しなおしてもよいが、それが大変なときもある。 そんなときは以下のコマンドでOK(sudo可能なユーザであること前提) …

vimで行番号の色を変える

vim

Retinaディスプレイになって行番号の色が見づらくなったためそこだけ少し変えることにしたこちらのページを参考にした。まとまっていてとてもわかりやすい。 Vim のカラースキームが微妙に気に食わないときの対処法 - 反省はしても後悔はしないまずコマンド…

vimで最近地味に便利だなと思ったコマンド

vim

エディタはvimを使っているけどその中で最近地味に便利だなと思ったコマンドをメモ以下の3つがそれ <C-h> → <Backspace> <C-m> → <Enter> <C-i> → <Tab>とても地味だけど意外と便利。 特にBackspaceは結構離れた位置にあるのでC-hであれば手の位置をあまり動かさずに済んでよい。また、EnterやTab</tab></c-i></enter></c-m></backspace></c-h>…

neobundle管理しているpluginをfiletypeに応じて読む

vim

実践vimを久しぶりに読んで知ったftpluginについてメモ。vimにもともと備わっている機能で読むファイルの種類に応じて設定を行う。vimはファイルを開くとその拡張子や中身の記述などからファイルがどの種類かを検知する。 その検知したファイルの種類に応じ…

vimのインストール

vim7.4をインストールしたのでその手順をメモ 今回はMercurialを使ってみることにしたため、まずはそちらをインストールbrewを使う brew install python pip mercurialpipはpythonをインストールした段階で一緒に入るコマンドのよう ※現在はbrewから直接merc…