6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VimAdvent Calendar 2017

Day 17

VsVimとPerforceのコマンド活用で快適なコーディング生活を送る

Posted at

最初に

記事中にある開発環境は以下のとおりです。

  • VsVimのバージョン:2.4.1.0
  • IDE:Visual Studio 2017
  • CLI:Windows PowerShell

また、本記事はVim Advent Calendar 2017の記事です。

結構ギリギリの投稿になってしまって申し訳ありません(´・ω・`)

目的

私が現在所属しているプロジェクトではUE4を用いたゲーム開発をしており、バージョン管理ツールにはPerforceを、IDEにはVisual Studio 2017を採用しています。最近がっつり開発していく中で、Windows PowerShellを使用し、Perforceのコマンドを打ち込んだり、開発コードをVSで書いたりが多くなってきています。

ただ私は、「やりたい事があって、そのコマンドが存在していることまではわかるんだけど、コマンド名自体が思い出せない。接頭辞さえ思い出せない。」という痴呆が多々あリます。そのため、ブラウザの新規タブを開き、コマンド探しの旅に出かける、という無駄な手順が発生しがちです…。

なので、少しでも開発の方に集中して時間を避ける様に、使用頻度が高いコマンド等を、この記事に集めておこうと思います。

あわよくば、誰か似た様な境遇の人の支えにも慣れたら幸いです。

VsVimとは

Visual Studio 2012以降で使用できるプラグインです。MSで開発されたものではなく、一開発者の方から生み出されました。Vimユーザーが快適にVSを操作できる様なキーバイディングを提供しています。

VsVim:https://marketplace.visualstudio.com/items?itemName=JaredParMSFT.VsVim

導入方法は以下の記事で詳しく説明されています。

参考:VsVimの宣伝!

Perforceとは

今回の記事では詳しい説明は省きますが、簡単に紹介をしておきます。

Perforce社から出ている有料の企業向けバージョン管理システムです。
Windows,Linux,MacOSでも動作するマルチプラットフォームで、ツール自体が軽快で高速に動作します。

GitやSubstanceとの比較も載せておきます。

image.png

ちなみに、もちろんPerforceにも様々なコマンドが存在しています。

コマンドリファレンス:http://www.toyo.co.jp/files/user/img/product/ss/help/perforce/r15.1/manuals/cmdref/index.html

コマンド一覧

⇧ Shift
^ Ctrl

共通操作(VS2017)

行の編集

キー 動作 備考
[^]+[X] 行の切り取り 未選択状態の行全体を切り取り
[^]+[C] 行のコピー 未選択状態の行全体をコピー
[^]+[⇧]+[L] カーソル行を削除 行全体を削除(複数行を選択中は全ての行)
[Tab] 行をインデント
[⇧]+[Tab] 行をアンインデント

コメントの編集

キー 動作 備考
[^]+[K],[^]+[C] 行コメント記号をトグル 複数行を選択中はその行数分
[^]+[K],[^]+[U] ブロックコメント記号をトグル 選択中は選択部分

ファイル/フォルダ自体の表示

キー 動作 備考
[^]+[Tab] 開いているエディターの切り替え表示 開いた後は^を押下したままTabで切り替えられる

検索/置換(シンボルに関しては後述)

キー 動作 備考
[^]+[⇧]+[F] 全ファイルにまたがってキーワード検索をするポップアップ表示
[^]+[⇧]+[H] 全ファイルにまたがって置換をするポップアップ表示
[F3] 次を検索 マッチワードがあればその単語で検索
[⇧]+[F3] 前を検索 同上

エディタ移動操作

キー 動作 備考
[^]+[-] 前に表示していた箇所に戻る
[^]+[⇧]+[-] 次の箇所に進む

コーディング時の操作

シンボル検索/表示

キー 動作 備考
[Alt]+[F12] シンボルの定義を表示 シンボルは変数名、メソッド名のこと
[F12] シンボルの定義を表示 基本はこっちの方が使い勝手が良い
[^]+[T] 全ファイルにまたがって参照検索しファイルを開く
[⇧]+[F12] シンボル参照箇所のインライン表示 [esc]で消せる

デバッグ操作

キー 動作 備考
[F9] ブレークポイントの切り替え
[F5] デバッグスタート又はコンティニュー
[⇧]+[F5] ストップ
[F6] ポーズ
[F10] ステップオーバー
[F11] ステップイン
[⇧]+[F11] ステップアウト

VsVimコマンド

モード切り替え

キー 動作 備考
[i] 挿入モード カーソルの前から
[a] 挿入モード カーソルの後から
[:] コマンドラインモード
[v] ビジュアルモード
[esc] ノーマルモード

ファイル操作

キー 動作 備考
[:]+[q] 開いているファイルを閉じる エディタウィンドウが複数なら右から順番に

エディタ操作(ノーマルモード)

キー 動作 備考
[dd] カーソルがある行を切り取り [dd]の前に数値を入れて切り取る行数の指定が可能
[yy] カーソルがある行のコピー [yy]の前に数値を入れてコピーする行数の指定が可能
[P] カーソルがある行にペースト
[p] カーソルの下の行にペースト
[u] Undo
[^]+[r] Redo
[U] 行に対して行った変更の全てを取り消す
[v] 選択開始
[V] 行選択
[Alt]+[⇧]+[矢印キー] 矩形選択
[gv] 直前の選択範囲を再選択

検索/置換(ノーマルモード)

キー 動作 備考
[/]+[文字列] 前方検索
[?]+[文字列] 後方検索
[#] カーソル位置の単語を前方検索
[*] カーソル位置の単語を後方検索
[n] 次の候補
[N] 前の候補
[gd] カーソル位置のローカル宣言を検索
[gD] カーソル位置のグローバル宣言を検索
[:]+[%s/from/to/g] ページ全体で置換 fromが検索語句,toが置換語句
[:]+[32,50s/from/to/g] 32〜50行目まで置換 gは繰り返し、cなら一回毎に確認

テキスト操作(ノーマルモード)

キー 動作 備考
[x] 1文字削除 Deleteキーと同じ
[X] 1文字削除 BSキーと同じ
[D] カーソル位置から行末まで削除
[s] 1文字削除して挿入モードへ切り替え
[S] 現在の行を削除して挿入モードへ切り替え
[r] カーソル位置の一文字だけ置換
[R] 置換モードに切り替え
[J] 現在の行と下の行をスペースありで連結
[gJ] 現在の行と下の行をスペースなしで連結

インデント操作(ノーマルモード)

キー 動作 備考
[⇧]+[>],[⇧]+[>] 現在の行をインデント
[⇧]+[<],[⇧]+[<] 現在の行を逆インデント

移動操作(ノーマルモード)

キー 動作 備考
[gg] 最初の行へ
[G] 最後の行へ
[数値]+[G] 指定した行へ
[0] 行の最初へ インデント無視
[^(Ctrlではない)] 現在の行の最初へ テキストの最初
[$] 行の末尾へ
[-] 前の行の最初へ
[+] 次の行の最初へ
[%] カーソル位置にある括弧に対応する括弧へ
[H] エディタの上端へ移動 Hの前に数値で上から数えた行へ
[M] エディタの中央行へ移動
[L] エディタの下端へ移動 Lの前に数値で上から数えた行へ
[^]+[o] 前回のジャンプ位置へ戻る
[^]+[i] 次回のジャンプ位置へ戻る
[z]+[↩︎] 現在の行の最初へ テキストの最初
[w] 次の単語に移動
[b] 前の単語に移動
[e] 単語の末尾に移動
[W] 次の単語に移動 記号は無視
[B] 前の単語に移動 記号は無視
[E] 単語の末尾に移動 記号は無視
[f]+[一文字] カーソルを指定した文字まで移動 3fiで3つ目のiまで移動
[t]+[一文字] カーソルを指定した文字の左端まで移動 3tiで3つ目のiの左側まで移動

スクロール操作(ノーマルモード)

キー 動作 備考
[^]+[b] 1画面上に移動
[^]+[u] 半画面上に移動
[^]+[y] 1行上に移動
[^]+[f] 1画面下に移動
[^]+[d] 半画面下に移動
[^]+[e] 1行下に移動

Perfoceコマンド

使用頻度が高い順に並べてみました。

コマンド 動作 備考
p4 add 指定した新規ファイルをチェンジリストに追加。 参照URL
p4 edit 指定したファイルを作業中にし、チェンジリストに追加。 参照URL
p4 delete 指定したファイルを削除としてチェンジリストに追加。 参照URL
p4 clean チェンジリスト内の全てのファイルを復元。 参照URL
p4 lock 作業中のファイルをロックしてサブミットされない様にする。 参考URL
p4 unlock ロックを解除する。 参考URL
p4 submit チェンジリストに含まれている作業中のファイル群をディポにコミットする。 参考URL
p4 sync ディポの内容をクライアント側に反映させる。 参考URL
p4 depot 新規ディポ作成。 参照URL
p4 diff ローカルファイルとディポファイルとで比較を行う。 参照URL
p4 grep パターンに一致する行を検索。 参照URL
p4 help Perforceのオンラインヘルプ情報表示。 参考URL
p4 info 現在のPerforceのバージョン情報などを表示します。 参考URL
p4 opened チェンジリスト内にある作業状態のファイルをリスト表示する。 参考URL
p4 rename 指定したファイルの名前変更。 参考URL
p4 revert 作業中のファイルに加えられた変更を全て破棄する。 参考URL
p4 switch 別のストリームに切り替える事ができる。 参考URL
6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?