調子に乗って vimrc を書くのに特化した内容のものを書いてみる。取り上げた内容は完全に独断と偏見です。 関連記事: Vimスクリプト基礎文法最速マスター - 永遠に未完成 この記事では vimrc を書くにあたって知っておくべき概念や機能を解説します。Vim 自体の操作方法に関しては触れません。 基礎 バッファ バッファは、ファイルを編集するための論理的な領域です。Vim で新しくファイルを開くと、新しいバッファが作成されてそこにファイルの内容が読み込まれます。 ウィンドウ ウィンドウはバッファを画面に表示するための物理的な領域です。分割することができ、1つの画面に複数のウィンドウを表示できます。 タブページ タブページを使うことでウィンドウの配置を保持したまま複数の画面を切り替えることができます。 タブ文字と区別するためか、タブページと呼ばれています。 モード Vim の中でも知って
Gentoo Linux(6年くらい)とFreeBSD(1年くらい)とOpenBSD(新参者)を使う日々。 RSS アーカイブ Posted on Fri May 23 12:52:31 +0900 2008 by nabeken Window Manager で複数ウインドウが扱い易くなったとしても、ヤンクした結果などを同一インスタンスで共有するためには、Vim そのもので複数ウインドウを持つ必要があります。 :help windows // 縦分割で読みたいなら :vertical help windows とすると、Vimのウインドウ操作に関するヘルプが読めます。このヘルプも (v)split によって、分割されたものです。(オンラインドキュメントは http://vimdoc.sourceforge.net/htmldoc/windows.html#windows にあります) す
Vimでどのキーに既にショートカットキーが割り当てられていて、どのキーが空いてるのか、をどうやって調べるんだろうと疑問に思ってた。 昨日の記事で、「Vimに割り当てられてるショートカットキーを調べる方法ってあるの?」と聞いてみたところ、unite.vimの設定を参考にさせてもらったdelphinus35さんに教えてもらえた。ので自分の備忘録と、同じ疑問を持ってる人がいるかも知れないのでエントリー化しておく。 デフォルトで割り当てられているショートカットキー Vimのデフォルトのショートカットキー割り当てを調べるには、以下のテキストをhelpコマンドで参照する。 :help index.txt Vimのヘルプを日本語化していれば、日本語で一覧が表示される。たとえば、ノーマルモードでのデフォルトの割り当ては以下のような感じ。 |タグ|文字|注|ノーマルモードでの動作| |-|-|:-:|-|
Rubyのコーディングに向いているIDEは何があるのだろうか。 JavaならばEclipseがデファクトスタンダードになっているし、言語によってはVisualStudioが向いているものもある。 RubyだとNetBeansかAptanaを勧められることが多かったのだが、使ってみると私にはどうもしっくり来なかった。 最終的にvimが一番良いという結論になり、最近は専らvimで書いている。 コーディングをするにあたり、まずは「補完機能」があり「リファレンスにすぐ飛べる」のであれば最低限の機能は満たしていると考える。 今回は、vimでそれを実現するプラグイン、neocomplcacheとvim-refの導入方法を書いていく。 なお、プラグイン自体はRubyに特化したものではなく、他の言語でも使うことができる。 本エントリは下記2エントリの続きになるので「その3」にあたる。 そろそろしっかりvi
ファイルタイプ別ではなくファイルごとにエディタの設定を変更したい場合、 ファイルにvimエディタ特有の記述をしておくことで、 そのファイルがvimエディタで開かれた時に特定の設定を有効にするモードラインという 機能が役に立ちます。 モードラインの書き方を覚えておくと、 他の方にファイルを読ませたい時、プロジェクト特有のルールがある時、 他の環境にファイルを移す時などに役に立ちます。 (Windows, Mac) 概要 ファイルタイプ別ではなくファイルごとにエディタの設定を変更したい場合、 ファイルにvimエディタ特有の記述をしておくことで、 そのファイルがvimエディタで開かれた時に特定の設定を有効にするモードラインという 機能が役に立ちます。 モードラインの書き方を覚えておくと、 他の方にファイルを読ませたい時、プロジェクト特有のルールがある時、 他の環境にファイルを移す時などに役に立ち
全国1億8千万人のzen-codingファンの皆様、如何お過ごしでしょうか。 先日の記事でzen-codingをpure vimscriptに移植した「zencoding.vim」をご紹介させて頂きました。 あの時は略語の展開(Expand Abbreviation)しか機能がなく物足りなかったかもしれません。まぁ殆どの移植品はExpand Abbreviationしか無いのですが。 zen-codingには他どんな機能があるかというと、実はまだ便利な機能があったりします。 オフィシャルのサイトによると Expand Abbreviation Wrap with Abbreviation Balance Tag Inward/Outward Go to Next/Previous Edit Point Update Image Size Merge Lines Remove Tag Spl
Vimをお使いの皆様の多くは、pathogenとgit-submoduleを駆使してプラグインを管理しているのではないかと思います。 pathogenとgit-submoduleの問題私もこの方法を使っていたのですが、git-submoduleをVimプラグインの管理に使うのはオーバースペックだと感じていました。 私はプラグイン開発者ではないので、プラグインのバージョンを固定したいという欲求があるわけでもないですし、できるだけ新しい物を使いたいわけです。 そうすると、たとえば毎朝「git submodule update」とかやっちゃうともう大変です。 毎日「plugin version bump」みたいなコミットをしなきゃいけないわけですよ。 私は常に最新のプラグインを使いたいだけなのに、コミットログがどんどん汚れていきます。 また、外の環境でプラグインを管理しなきゃいけないというのが、
こんにちは。小川です。 今日はvimのコマンドでも紹介しようかなと思います。 僕はテキストエディタは大体vimを使っています。 執筆をしたときもvimでやっていましたし、PHPもvimで書いています。 vimって色々コマンドがあって便利ですよね。友達とvimのコマンドを教えあったりして、度々「こんな便利なコマンドがあるのか!」と驚かされます。 今日はそんなvimのコマンドの中から普段使っていて便利だなーと思うものをいくつか紹介していきます。 ちなみにShiftを押しながらのコマンドは、アルファベットキーの場合は大文字で表記します。 エンターやエスケープを押下する必要がある場合はエンターやエスケープと記述します。「:」ではじまるコマンドモードはエンターを押さないと意味がないので、そこは省略します。 同時押しは+でつなげて表記し、基本的には1文字ずつ順番に押下します。 ■ページ移動 「ggで」
¥¥で変更があれば保存 <Leader>は他のキーとの組み合わせでよくキーマップに使われますが、私はこれを2連打したときファイルを保存するようにしています。(Kaoriya版Vimでは標準で<Leader>は¥キー。他の環境は未確認) 「:w」ではなく「:up」にしておけば、内容に変更があった場合のみファイルの更新日付が更新されます。 "<Leader><Leader>で変更があれば保存 noremap <Leader><Leader> :up<CR> スペースキーでカーソルを画面中心に保ってスクロール 主にファイルを閲覧する際、普通にスクロールしているとカーソル(と視点)が画面上下の端に寄ってしまい、前後を把握しながら読むことができません。 そこで、ブラウザと同じようにスペースキーを使ってスクロールできるようにしています。 貴重なスペースキーのマップをこれだけのために使ってしまうのはもっ
いろいろなキーワードの補完リストを自動的に表示してくれる neocomplcache というvimスクリプトを入れました。 autocomplpopみたいなスクリプトです。 主な機能 シンタックス補完 辞書ファイルの補完 タグファイルの補完 ファイル名の補完 オムニ補完 スニペット補完 これだけでも「おぉ!」と思いましたが、同じような機能補完はautocomplpopでもできるんですよね。 ただ、以下のような理由からneocomplcacheを選択しました。 カスタマイズ項目が豊富 プラグインで拡張が可能 SnipMateのトリガーを補完リストに表示できる autocomplpopでもSnipMateのトリガーを補完リストに表示できるが、パッチを当てる必要があったり、対象が大文字の場合のみだったりと使いにくい " neocomplcache let g:NeoComplCache_Enab
昨日見つけたコメントプラグインNERD Commenterですが、かなりの高機能っぷりに驚いてます。ヤバイ。 これだけは覚えておけ c コメントのトグル printf("Hello, NERD"); ここで、c /* printf("Hello, NERD"); */ もう一回c printf("Hello, NERD"); いえぃ! セクシーにコメントアウト cs /* * printf("Hello, NERD"); */ やっほぉい。 C言語系でしか使えませんが、ネストしててもコメントアウト出来ちゃう高機能っぷり。凄いっす。 末尾にコメント cA printf("Hello, NERD"); /* */ おぉぉぉぉ。Iもあります。 コメントの削除 cu 無いと困ります。驚いたことにセクシーも消えます。 他にも色々出来るみたい。 設定例 let NERDSpaceDelims = 1
2013-04-14 cis 2013-04-02 CandyCane|インストール方法 2013-02-17 プライバシーポリシー 2013-01-29 test 2013-01-20 Arduino 2013-01-18 KinoWiki:プラグイン/カタログ/outline 2012-12-08 AppleScript 2012-11-06 ペルソナ2罰 2012-09-04 LVM 2012-08-02 reveal-js Vim surround plugin Vim7用の、id:secondlifeオススメのプラグイン。これはたしかに便利。 ようは、テキストオブジェクトを操作できるプラグイン。 使い方 ds dsは、テキストオブジェクトの特定の文字列を削除する。例えば、以下の文章(*はカーソルの位置) "Hello *world!" で「ds"」と入力すると"が削除されて He
iTerm 2が素晴らしいということなのでiTermをぼちぼち使ってるんですけど、Vimを起動したときに矢印キーで移動できないことが分かった。「Vimで矢印キーでカーソル移動とか小学生かよ」みたいなご意見もあるでしょうけど、入力モードのときに移動したくなったら j, k, h, l じゃ移動できないでしょ? そこで矢印キーですよ。 iTermでVimを使っているときも矢印キーでカーソル移動できないものかと、軽くググってみたところ次のような記事に遭遇した。 MacBookのiTermでVimを使う時矢印キーで移動が出来ないときの解決方法 - Nobody is perfect. 解決。 export TERM=dtterm http://d.hatena.ne.jp/mitsygh/20070708/1183906416 スクリーンのときは [ $SHLVL -eq 1 ] && expor
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く