サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
qiita.com/rbtnn
ここに書かれていることは私の「なぜ、IDEじゃなくてVimを使うか。」の理由なので、Vimmerな皆同じ理由とは限らないのでご注意を...。 また、だいぶ省略しているので、Vimを全くしらないひとには分からないところも多々あるかもしれません、ご了承を...。 Vim以外のテキストエディタ(Emacs、Sublime Text、Atomなど)では同じようなことが実現できるかもしれないので、必ずしもここであげたことが正しいわけではないですのでご勘弁を...。 1. Mac、Linux、Windowsのどれでも使える。 MacやLinuxでは大抵デフォルトでvimコマンドが入っています。 でもこれはCUI版VimなのでGUI版Vimを使いたい人は、 プログラム管理ツールとかでさっくとインストールできます(たぶん)。 Ubuntuだとsudo apt-get install vim-gnomeでイ
qiita.com
Vimでとても簡単かつ直感的にCSVを編集する方法は以下の通り。 1. 以下のVimプラグインをインストールする。 https://github.com/rbtnn/rabbit-ui.vim https://github.com/rbtnn/rabbit-ui-collection.vim 2. Vimから以下のコマンドで編集したいCSVファイルを選択する。 :RabbitUICollectionEditCSV ./a.csv 3. 使い方は以下の通りです。 jキー: カーソルを下に移動する kキー: カーソルを上に移動する hキー: カーソルを左に移動する lキー: カーソルを右に移動する eキー: セルの値を編集する Enterキー: 終了する(保存する) qキー: 終了する(保存しない) ※ 結構重くなるんで、実際運用するのには向いてませんよw。Vimでこういうこともできるんだ程度
短い日本語でタイトルをうまく表現できなかったのですが、以下の理由で、foldexprを評価するだけの関数(もしくはコマンド)を作り、手動でfoldexprを評価させたかったのです。 ずっとfoldmethodがexprのままだと、行数の多いファイルを編集時にものすごく重い! autocmdで動的にうまくfoldmethodを切り替えられたらよいのですが、ちょうど良い設定が実現できない。 :setlocal foldmethod=exprを一々タイプするのもめんどい。 で、以下が実現できるコードです。わかってしまえば簡単だったのですが、redrawを行うとfoldexprが評価され、redrawを行わないとfoldexprが評価されませんでした。 function! s:eval_foldexpr() let saved_foldmethod = &foldmethod let saved_
Lingrの「じょうほうかがく!」部屋で「3で割り切れる2進数を表す正規表現」が話題になって解いてみたので備忘録として記事にします。 ※ この部屋はパスワード必須なので知っている方しか入れません。 「3で割り切れる2進数を表す正規表現」の解は以下のようになりました。 ^(0*( | 1 (00|11)* 01 (00|11)* 01 | 1 (00|11)* 01 (00|11)* 10 (00|11)* 10 | 1 (00|11)* 01 (00|11)* 10 (00|11)* 01 (00|11)* 01 | 1 (00|11)* 10 |01 (00|11)* 01 (00|11)* 01 |01 (00|11)* 01 (00|11)* 10 (00|11)* 10 |01 (00|11)* 01 (00|11)* 10 (00|11)* 01 (00|11)* 01 |01
getElementsByClassName("...")はforEachメソッドを持っていないので,for文で回さないとダメなのかなーと思っていたのですが,[].forEach.call()かArray.prototype.forEach.call()で回せるんですね. <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> </head> <body> <script language="javascript"> window.onload = function(){ [].forEach.call(document.getElementsByClassName("btn"),function(x){ x.addEventListener('click',hi); }); } function hi(){ ale
2014/04/19 ここを読んでみて、この記事が誤解を与えそうだったので、文章を修正しました。 ASP.NETのJsonを返すサンプルをググっても、「ASP.NET MVC」だったりして「ASP.NET Web Form」のJsonを扱うサンプルを見つけることがなかなか難しかったりします。(見つかったとしても、ASP.NETの初心者には難しすぎたりと....) まぁ、というわけで「ASP.NET Web Form」のすごくシンプルなサンプルを以下に示しておきます。 TestJson.aspx Json形式のデータを取得するため、Json形式のデータをResponse.Output.Writeするためだけのページです。 基本的に他のページから参照されるだけで、このページが直接参照されることはないです。 TestJson.aspx.cs TestJson.aspxのコードですね。匿名型のオブ
この記事はPowerShell Advent Calendar 2013 : ATND 3日目の記事になります。 PowerShellをVimで書こうとする人はそういないと思いますが、 私のVimでPowerShellを書くために設定していることを紹介したいと思います。 VimでPowerShellの開発環境を整える。 https://github.com/PProvost/vim-ps1 このプラグインを導入すると、PowerShellのシンタックスやインデントなど設定をこれ1つでまとめてインストール出来ます。 PowerShellをQuickRunする。 追記(2014/02/06): QuickRunのデフォルト設定にPowerShellの設定が追加されたので、この設定は不要になりました。 Add PowerShell support · 376d392 · thinca/vim-q
この記事はVim Advent Calendar 2013 : ATND 3日目の記事になります。 Vim Advent Calendar 2013の(私の投稿の)1回目ということで、今回はvital.vimについて現時点での状況をまとめてみたいと思います。 vital.vimとは vital.vimは、Vimプラグインの作成する際に必要になるだろう関数をまとめたライブラリ群です。 もちろん、Vimプラグインの作成だけでなく、通常のVim scriptを書くときにも使うことが出来ます。 https://github.com/vim-jp/vital.vim vital.vimの構成 vital.vimには色んなモジュールがあります。vital.vimではライブラリのことをモジュールと呼びます。 2013年12月2日の時点で、vital.vimには全36個のモジュールが存在します。 Bitw
この記事はVim Advent Calendar 2012 : ATND 348日目の記事になります。 昨日は@manga_osyoさんのquickrun.vim でリアルタイムに出力を行う場合の注意でした。 今回は&errorformatについて説明したいと思います。 この記事では&errorformatをどういうふうに設定すればよいのかを説明するつもりです。 &errorformatがどんな時に使われるか全く検討のつかない方はQuickfixや:makeについて 調べてから読むことをおすすめします。 また、ここで説明することは:help error-file-formatにすべて載っています。 前準備 &errorformatをいろいろと試してみるにあたり、まずは&errorformatのテスト環境をまず作りましょう。 function! TestErrFmt(errfmt,lines
この記事はVim Advent Calendar 2012 : ATND 292日目の記事になります。 今回はoperatorプラグインのまとめ記事です。 以前に、@manga_osyoによるVim の textobj プラグインをまとめたもありました。 まぁなので、その相方をまとめてみようかと思います。 operatorプラグイン 以下、すべてmapとしてますが、実際にはnmapだったりvmapだったりします。 この辺はそのhelpなどを読んでうまく調整してください。mapをそのまま使用するのは危険です。 また、{lhs}は任意の文字列に書き換えて使ってください。 1. emonkak/vim-operator-comment これは選択したテキストオブジェクトをコメント/アンコメントするオペレーターです。 NeoBundle 'emonkak/vim-operator-comment'
この記事はVim Advent Calendar 2012 : ATND272日目の記事になります。 突然ですが、皆さんはVimのメニュー使っていますか? 私が思うにVimmerの方々でメニューを表示し使っている方はすごく少数派な気がします。 まぁたぶん、メニューを使わない理由は 「キーボードからマウスに手を動かすのがメンドイ」 からでしょう。 私もそんな理由でメニューを以下のような設定で非表示にしていたのですが...。(正確にはメニュー項目を1つも設定しないですが (== 非表示)。) set winaltkeys=yesとguioptions=mにしておかないとAlt+Spaceでシステムメニューが開けなくなっちゃうんですよねぇー。 でもここ最近、私は 「マウスからキーボードに手を動かすのがメンドイ」という理由 でVimのメニューを使ったりしています。 ということで今回は、Vimのメニ
この記事はVim Advent Calendar 2012 : ATND231日目の記事になります。 昨日の記事は@ujihisaさんのVim script初心者用入門記事でした。 なので、今回はVim scripterになると必ずお世話になるだろうvimproc.vim、 具体的にはvimproc#system({expr})の{expr}の展開のされ方について説明します。 この記事で語ることは、基本的にvimproc#system()でのみで確認しています。 vimproc#system_bg()などでも同じ展開のされ方になると思いますが(たぶん)、 未確認なのでご了承ください。 以下のVim環境で確認しています。 Windows7 Pro SP1 64bit VIM - Vi IMproved 7.3 MS-Windows 32-bit GUI version Included pa
この記事はVim Advent Calendar 2012 : ATND203日目の記事になります。 今回はGoogle Chrome Developer ConsoleのようなものVim scriptにも欲しいなっと思って、 Vim scriptでのイミディエイトウィンドウっぽいのを作ってみました。 https://github.com/rbtnn/vimconsole.vim インストール インストールはNeoBundleとかでさくっとインストールしてください。 依存しているプラグインは基本的にありません。 インストール後の設定は特に必要ないです。 あえて設定するとすればウィンドウの高さとキーマッピングぐらい。 追記(2013/06/26): 設定しなくても十分使えるようにデフォルト設定していますが、設定についての詳細はhelpを参照してください。(オプションについては仕様が変わる可能
Effective NeoBundle -- autoload関数を理解しNeoBundleを使いこなすための8の方法 --Vim この記事はVim Advent Calendar 2012 : ATND 160日目の記事になります。 159日目は@tyruのこれであなたも節約上手!キーボード上のキーを最大限活用できる人のN個の習慣とは?でした。 第44回 vimrc読書会で「neobundle#config() に関する記事を書くと有り難がられる。」 という話になったので、今回はNeoBundleのコアな設定(もしくは意外と知られていない設定) について紹介したいと思います。 neobundle#rc()は引数を省略できる。 この関数neobundle#rc([{base-path}])は引数である{base-path}を省略することができます。 省略するとどうなるかというと、下記のコー
CLSID {00020819-0000-0000-C000-000000000046} を含むコンポーネントのCOM クラス ファクトリを収得中に、次の エラーが発生しました:80040154 クラスが登録されていません (HRESULT からの例外:0x80040154 (REGDB_E_CLASSNOTREG)) Microsoft Visual Studio上でMicrosoft.Office.Interopを扱いたい場合には、 メニューの「プロジェクト > 参照の追加 > COM > Microsoft Excel 14.0 Object Library 」で加えられます。 Microsoft Visual Studioを使えば、アセンブリの参照の追加は簡単ですが、シェルからコマンドで追加する場合にMicrosoft.Office.Interop.Excel.dllが見つからない
下記の手順でビルドした実行ファイルをGithubにあげました。 もし、ビルドするのがめんどくさかったら使ってください。 ==== 必要なもの https://github.com/ggreer/the_silver_searcher pcre-x86-mingw4-8.21-src.tar.bz2 pcre-x86-mingw4-8.21-bin.tar.bz2 zlib-x86-mingw4-1.2.6-1-lib.tar.bz2 zlib-x86-mingw4-1.2.6-1-bin.tar.bz2 手順 ggreer/the_silver_searcherをクローンし、c9c2b5b をcheckoutする。(最近のコミットだとうまくいかないらしい。下のコメント欄参照) git clone git://github.com/ggreer/the_silver_searcher.git
$ vi /etc/udev/rules.d/11-media-by-label-auto-mount.rules KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end" # Import FS infos IMPORT{program}="/sbin/blkid -o udev -p %N" # Get a label if present, otherwise specify one ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}" ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k" # Global mount options ACTION=="add", ENV{mount_options}="relatime" #
VimFilerでディレクトリを移動する際に<Plug>(vimfiler_cd_input_directory)でディレクトリのパスを入力して移動できるのは知っていたのですが、Unite.vimでディレクトリを選択できないのかな?と思い、とりあえずUniteのアクションを書いてみました。 let s:vimfiler_cd = { 'is_selectable' : 1, } function! s:vimfiler_cd.func(candidates) for l:candidate in a:candidates call vimfiler#mappings#cd(l:candidate.action__path) endfor endfunction call unite#custom_action('directory', 'vimfiler_cd', s:vimfiler_c
この記事はVim Advent Calendar 2012 : ATND 114日目の記事になります。 setコマンドでエスケープすべき文字がどれなのかわからなかったので調べてみました。
この記事はVim Advent Calendar 2012 : ATND 79日目の記事になります。 78日目は@raa0121のLingrのBot「VimAdv」を作ったでした。 今回は、Vimの意外と知られていない正規表現\%を紹介したいと思います。 任意にマッチするアトム列 \%[] Vimの各コマンドは省略名をもっているので、これは必須の正規表現かなっと思います。 echo matchstr("fun", 'fu\%[nction]') " 'fun' " `\%[]`を使わないとこう書かなければいけない!! echo matchstr("fun", 'fu\(n\(c\(t\(i\(o\(n\?\)\?\)\?\)\?\)\?\)\?\)\?') " 'fun' 部分正規表現としてカウントされないグループ化 \%(\) これはmatchlist()には結構必須で、matchlis
gitでgit checkout <commit> -- <file>で任意のリビジョンに戻せることは知っていたのですが、「別名で保存したい時ってどうやってやるんだろう?」と前から思っていました。(ググっても欲する情報にヒットしない...) で、やっとわかったので折角なのでアウトプットしておきます。 git cat-file blob <commit>:<file> これで標準出力に出力されますので、ファイルにリダイレクトすればOK! 例 git cat-file blob git cat-file blob e4426a7:.vimrc > vimrc_e4426a7 まぁしかし、これ結構使いそうなのに入門書とかに載ってないよねぇー不思議。 大抵はgit diffを使うっていうのはあるけど... 追記 git show <commit>:<file> これでもできた。(thanks to
これまで以下の3つのプラグインは、NeoBundleLazyしてもNeoBundleSourceしないといけないので(面倒だし)、NeoBundleだとVimの起動が遅くなるから極力ロードしないようにしていたのだけど、hooks.on_source()が導入されたのでNeoBundleLazyを導入した。 NeoBundle 'Shougo/vimfiler' NeoBundle 'Shougo/vimshell' NeoBundle 'Shougo/unite.vim' NeoBundleLazy 'Shougo/vimfiler', { \ 'autoload' : { 'commands' : [ 'VimFilerBufferDir' ] }, \ 'depends': [ 'Shougo/unite.vim' ], \ } let s:bundle = neobundle#get
let s:V = vital#of('vital') let s:L = s:V.import('Text.Lexer') let patterns = [ \ ['WHITE_SPACES','\s\+'], \ ['WORD','[a-zA-Z]\+'], \ ] let tokens = s:L.lexer(patterns).exec('hoge foo') echo tokens " [ " {'label': 'WORD', 'col': 0, 'matched_text': 'hoge'}, " {'label': 'WHITE_SPACES', 'col': 4, 'matched_text': ' '}, " {'label': 'WORD', 'col': 5, 'matched_text': 'foo'} " ] コード見てもらえればText.Lexerの使い方はわ
このページを最初にブックマークしてみませんか?
『@rbtnnのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く