Vim Script でカンマ区切りの文字列を余計なスペースを除去しつつリストに変換する
例えば、 "hoge, fuga" という文字列を ["hoge", "fuga"] にする。:echo split(substitute("hoge, fuga", " ", "", "g"), ",")
View Articlewebapi.vim の、webapi#json#encode での真偽値の扱い
Vimscrpit にはBoolean型がないが、JSONではBooleanを扱えるのでその変換をどうするか。webapi#json#encode に渡す辞書に、webapi#json 内でnull, true, falseを扱うための関数の参照を突っ込んでおくと、適宜null, true, falseに置き換えられたJSON文字列を生成してくれる。 :let json =...
View Articleやべえ、root権限じゃないのにVimで保存したいファイルあるわ…
ってことありますよね?例えば/etc/hostsとかを編集しよーっていうことでVimを立ち上げて編集後に保存しようとしてVimに怒られた経験ありません?そんなときは、Vim Script:w!sudo tee % >/dev/null...
View Articlevimでuncrustifyをいい感じに適用する
C/C++やObjective-Cのコードをいい感じに整形してくれるUncrustify、最近気に入ってて使ってます。んでこれをvimで使おうと思って設定したんだけどなんかいい感じにならない。例えば外部コマンドを使ってフォーマットするformatprgを使ってVim Script:setformatprg=uncrustify\ -c\ ~/misc/uncrustify.cfg\ -l\ CPP\...
View Articlegvimのツールバーにdiff用ボタンを追加した
gvim +1 -d ファイルA ファイルBなんて感じにdiffモードで起動した時に、ボタンクリックで差分を前後に移動できるようにしてみた。マウスだけでボケーッと使える。_gvimrcif has("toolbar")" セパレータ an ToolBar.-MySeparatorNo01-<Nop>" ]cで前の差分に移動してzzでカーソル行を画面中央にするtmenu...
View Article忘れそうな命令をregに登録しておく
忘れそうな便利な命令を使いそうにないregに登録する。例えば、g/^\s*$/dをreg kに記録して、@kでマクロ実行するようにする。 適当な編集画面でg/^\s*$/dを入力、 入力した命令部分をビジュアルモードにて、範囲指定 "kyでreg kにコピーする。 これで、@kで実行できる。 使用は空行のある、ラインを範囲指定して、:@kを実行する。...
View ArticleXcodeでVimキーバインドで操作するXVimを導入する
terminalcd ~/dev/tmp git clone https://github.com/JugglerShu/XVim.git XVim.xcodeprojをXcodeで開いてビルド(Command + B)し、Xcodeを再起動する.
View Articlegitのdiffをvimで見る
aliasを設定すればよし。alias gitdiff='git difftool --tool=vimdiff --no-prompt'これでgitdiffとだけすると差分全部がでるし、gitdiff [commit]とすればにしていしたブランチやSHA-1との差分を出してくれる。ただしvimdiffはreadonlyで開かれるのでそのまま編集はできませんが
View Articlevim-quickrunのオレオレgtest設定
頑張ってc++11も!というのも込めてこんなのをgtest_setup.vimとして作成してます。このファイルを開いて :so %して、 ファイルタイプがcppなファイルで :Quickrunすれば、即gtestが走ります。let g:quickrun_config['cpp'] = { \'cmdopt': ' \ -std=gnu++11 \ -g \ -I...
View ArticleUnite.vimでSkypeチャットルームを開く
ショートカットの作りかた100個を超えても大丈夫!!Skypeチャットルームの多さにうんざりしている人のための「/get uri」入門 | 株式会社インフィニットループ技術ブログこの記事で紹介されている通り「/get...
View ArticleGoの開発環境(Vim + Vundle編)
Goの開発環境Vim版について、mattnさんの記事を見ながら作りました。私はVimの環境にVundleを使っており、その絡みでほんの少し手順に違いがあったので、メモとして残しておきます。ついでにLintも入れてみる次第です。大前提:PATHの設定Goの環境変数はGOROOT(Goのインストールフォルダ)とGOPATH(Goの外部ライブラリを保存するフォルダ)の2つがありますが、このうちGOPATH...
View ArticleVundleやNeoBundleでgtags.vimをインストール
Vundle なら以下の通りBundle 'vim-scripts/gtags.vim' NeoBundle なら以下の通りNeoBundle 'vim-scripts/gtags.vim' [2013-06-10 23:55]
View Articleunite-outline で"C is not supported."などという風に怒られる罠
ソースコードのアウトラインを表示してくれるUnite.vimのsourceであるunite-outlineですが、"C is not...
View Articlemodelineとmodelinesとグローバルなオプション
特定のファイルタイプでのみ、モードラインを無効にしようと思ってmodelines(モードラインとして調べる行数)を0行と3行などで切り替えていましたが、どうもうまく行きませんでした。VimL" 駄目な例setmodelines=3 autocmd FileType php...
View Articleタブ幅を瞬時に切り替える
普段タブ幅4のタブインデントなファイルをよく弄ります。僕としてはタブ幅は2もあれば十分で切り替えたいのですが、いかんせん行末のコメントなどでタブを使っている場合などに、見た目の整合性が取れなくなるため自重していました。ただ、逆に言えばコミット時などにサクっと切り替えさえ出来れば普段タブ幅2でも生きていけると思い、ざっくりと切り替える用のマッピングを用意しました。VimLfunction!s:togg...
View ArticleNERDTreeのツリー部分の横幅を設定
.vimrcに下記を記述。数字は好きな幅(文字数)を指定。VimLlet NERDTreeWinSize=26http://stackoverflow.com/questions/8557025/how-to-make-window-size-fixed
View ArticleVimでカーソルが指している単語をコマンドでAckする
1. ack.vimのインストールhttps://github.com/mileszs/ack.vimhttp://www.glidenote.com/archives/14372. vimrcに追加<leader>sにアサインする例vimrc" ack cnoremap %%% <C-R>=expand("<cword>")<cr> map...
View Articlevimのwindow切り替えをしまくる設定
vimrc" window manage nnoremap<c-j><c-w>jnnoremap<c-k><c-w>knnoremap<c-h><c-w>hnnoremap<c-l><c-w>lこれで、control + hjklでウィンドウ左上下右の移動ができる。
View Articlevimでカーソルを使う癖を矯正する!!
echoをマップして、動かないようにしてしまいます。vimrcnnoremap<Left> :echoe"Use h"<CR>nnoremap<Right> :echoe"Use l"<CR>nnoremap<Up> :echoe"Use k"<CR>nnoremap<Down> :echoe"Use...
View Articlesmartinput の や の汎用性を高める
この投稿は、変にややこしいやり方を使ってたこの投稿を改善したものです;-)smartinputは括弧のペアを入力してくれるプラグインとして知られてますが、ペアになった括弧をまとめて削除するような機能もあります。しかし、<BS>や<CR>に別のプラグインの機能をマッピングしていて忘れ去られていることが多いように思います。(※当社比)この問題に対処するためにsmartinputが...
View Article