J-Linuxer

仕事や趣味で覚えた技術の覚書とエンジニアの心を叫びを不定期で更新します。 (最近・・・物忘れが酷くて・・・)

07« 2017 / 08 »09
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

category: スポンサー広告

--/--/-- --. --:-- [edit]   TB: -- | CM: --

go page top

vimdiffを利用するためのススメ 

ドモ ヾ('-'*) ド o('▽')o モ (*'-')ノ ドモ
茅原です。お疲れ様です。

さて、本日はvimdiffについて記載します。
私が開発する時はいつもテキストエディタのvimを使います。
eclipse等も使ってみたのですが、手に馴染むまでカスタマイズできなかったので
使うのやめてしまいました。。。
プロの職人たる者ツールにはこだわりたいところです♪ということで私はvimを選択しました。

さて皆さんは開発をするときにマージ作業を経験してことがあるかと思います。

マージとはソースコードに差分を入れ込む作業です。なぜこのような作業が発生するかというと、「お客様別にブランチが分けられている」「お試し機能をリリースして、本線に取り込みたい」、他にぱっとは思いつきませんが開発の状況によってマージが行われます。

WindowsではWinMargeやDF等のソフトがありますよね。あれらのソフトでもぜんぜん良いのですが
テキストの編集自身も自身がカスタマイズしたエディタを利用したいですし、何よりLinuxじゃ使えないので。
いまさらながらvimでのdiffの見方を記載します。

□起動方法
>vimdiff ファイル1 ファイル2 [ ファイル3 [ファイル4] ]

または
>vim -d ファイル1 ファイル2 [ ファイル3 [ファイル4] ]

□操作方法
 ・前の差分へ移動する
   [c
 ・次の差分へ移動する
   ]c
・選択されているバッファに他のバッファの差分を取り込む
   :[range] diffg[et] [bufspec]
   do … diffgと基本同じであるが、オプション指定ができない。

・他のバッファに選択されているバッファの差分を取り込む
   :[range] diffpu[t] [bufspec]
   dp … diffpuと基本同じであるが、オプション指定ができない。


□vim用のプラグイン
開発では構成管理ツール(CVS/Subversion/Git)を利用することが多いかと思います。
なので、構成管理ツールと連携できるvimのプラグインを導入しておくと非常に便利です。

 ●CVS用: cvsdiff.vim ( http://www.vim.org/scripts/script.php?script_id=1214 )

 ●Subversion用:vcscommand (http://www.vim.org/scripts/script.php?script_id=90)
  コマンド - :VCSDiff

 ●Git用:git-vim(https://github.com/motemen/git-vim)
  コマンド - :GitDiff

□プラグインを便利に♪
折角プラグインを導入しても、「コマンド覚えられなくて・・・」ということで結局便利なのに
使用しなくなってしまうこともありますよね。(私はあります)
そんなときは、vimにショートカットを作りましょうw

【編集ファイル】
 $HOME/.vimrc

nmap <F8> :Cvsdiff ←こんな感じです。

ノーマルモードF8を押すと:CvsDiffコマンドを実行します。最後のCRは改行コードでEnterを押したのと同じ効果です。

【追伸】
本来であればマージ作業が起きないような開発・リリース計画だったり構成管理の前提を作ったり、
仮にマージが発生しても「すべて機械マージ」でマージ自身が人の手が入ること自身が行わないほうが
良いですね。


では本日はここまでw
スポンサーサイト

category: vim

2011/08/28 Sun. 00:36 [edit]   TB: 0 | CM: 0

go page top

この記事に対するコメント

go page top

コメントの投稿

Secret

go page top

トラックバック

トラックバックURL
→http://htrmine.blog52.fc2.com/tb.php/39-b01d66ec
この記事にトラックバックする(FC2ブログユーザー)

go page top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。