読者です 読者をやめる 読者になる 読者になる

MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

仕事を1.5倍ぐらい早くするVimの初期設定

memo

Vimテクニックバイブル?作業効率をカイゼンする150の技

Vimテクニックバイブル?作業効率をカイゼンする150の技

はじめに


基本的に自分流のVimの初期設定メモですが、

もしかしたら他の人にも役に立つかもしれないので共有します。

インストール (Ubuntu)

下記のコマンドでインストールできます。

> sudo apt-get install vim

インストール (Mac)

最近のMacは初期状態で

Vimがインストールされていますが、

何故かクリップボードの共有が出来ない

ビルドバージョンなので、

下記の方法で再インストールしたほうがいいです。

MacのVimでHomebrewを使ってクリップボード連携を有効にする - Qiita

brew updateに失敗した時は、

homebrew - brew updateが失敗したとき - Qiita

環境設定 (Mac,Ubuntu)

githubから下記のvim用設定ファイルをcloneして設定

AtsushiSakai/myvim https://github.com/AtsushiSakai/myvim

コマンド

git clone https://github.com/AtsushiSakai/myvim.git


クリップボードとvimのヤンクを共有化 (Mac, Ubuntu)

vimとOSのクリップボードを共有しておくと、

ネットのコードをコピペできるので設定しておきましょう。

1. 現在のvimがクリップボード共有に対応しているかチェック

下記のコマンドを打って、

出力のclipboardの前に+(プラス)があればOK

もし-(マイナス)だったら下記の2をやる。

vim --version | grep clipboard


2-1. Ubuntuの場合

クリップボード共有に必要なツールをインストール

> sudo apt-get -y install vim-gtk vim-athena vim-gnome


2-2. Macの場合

上記のインストールの部分に書いてある通りの方法で、

vimを再インストールする。

vimの日本語入力を楽にする(Mac)

escを押した時にesc+英数となるようにすると、

モードを切り替えた時に、自動的に英数入力に戻るので便利

Vimで挿入モードから抜ける時に英数入力に切り替える - ✘╹◡╹✘

vimdiffの使い方

vimdiffは非常に便利です。


使い方

一つのファイルをvimで開いた状態で、diffを取りたい場合は、

:vertical diffsplit /filepath

とするとdiffの画面になり、

[c

で差分箇所に飛び、

今、カーソルがある場所の差分の情報を

もう片方に挿入したい場合は

dp

(diff putの略)

今、カーソルがある部分に

差分のデータを挿入する場合は

do

(diff obtainの略)

を入力すればOKです。

 

diffをみるならvimdiffがはっきり言って便利すぎる件 - yamazakiccs--のもっさもさ感がたまらないブログ

2つのテキストファイルの差分をマージする ― 名無しのvim使い

IDEのように関数ジャンプをVimでする方法(ctags)

IDEのように、Vimで関数の宣言場所にジャンプをしたい場合は、

ctagsというツールを使うと便利です。

使い方1:インストール

sudo apt-get install ctags

使い方2:タグの作成

ctagsは、関数の宣言にジャンプするために、

タグと呼ばれるデータファイルを作ります。

ソースコードのプロジェクトのトップディレクトリで

ctags -R

と入力すると、再帰的にその下のディレクトリの

ソースコードのタグ作成し、tagsというファイルができます。

(自分の場合ROSのワークスペースの直下でタグを作っています)


あとはtagsファイルと同じディレクトリで、

vimを起動すれば関数ジャンプができるようになりますが、

他のディレクトリでvimを起動しても読み込んでくれないので、

vimrcに下記の記述を追加します。

set tags=~/hogehoge/tags

使い方3: 関数ジャンプ

あとは普通にvimでソースファイルを開いて、

ジャンプしたい関数の上でctrl+]を押すと、

関数の宣言場所にジャンプします。

そして、ジャンプする前の場所に戻りたい時は

ctrl+tで元の場所に戻ります。


また関数宣言部分と関数利用部分の両方を同時に見たい場合は、

ctrl+w+]とすると、画面を分割して両方表示してくれます。

HTML編集関連

HTMLのソースコードをそのままHTMLで表示させるには、

f:id:meison_amsl:20150614103140p:plain

で<を置換する

便利なVimデフォルト機能

下記を参照下さい

myenigma.hatenablog.com

おすすめvimrc設定

おすすめvimrc設定 - MY ENIGMA

おすすめVimプラグイン

下記を参照下さい

おすすめVimプラグイン - MY ENIGMA

svn commit時に自動でdiffの結果を挿入する方法

下記を参照下さい

Vim scriptでSVN commit時にdiffの結果を追加する方法 - MY ENIGMA

ROS用Vim設定

下記を参照下さい

ROS用のVim設定 - MY ENIGMA

最後に

Vimって本当に便利ですね.