Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

【第1回】きっとVimが好きになる!【Vim勉強会】

$
0
0

はじめに

金沢スマートフォンアプリプロジェクトの第1回Vim勉強会で使用した資料です。
授業ではterapadを使用していますが、その10倍...いや100倍(?)の操作性・拡張性をもつVimエディタの紹介をします。
さあ、快適なプログラミングライフに向けて、その環境を整えていきましょう^ω^!

想定する読者

terapadってなんか味気ない・面白くないと思っている人
Vimのインストールを終えた人

[まだの人]
Macはターミナル→vimと入力
Windowの方はこちらから

ゴール

Vimを好きになる
少しづつお互いのことを知って、距離を縮めていきましょう。
ベタですが、あらかじめディズニーランドに行く約束をしてあげると発展しやすいです。

第1回では、Vimの大まかな理解~カスタマイズ(小)をゴールとします。
できれば授業の課題や個人開発でも使用して、すこしづつ慣れて頂けたらなと思います。

Vimとは何か

主にUnix系OSに標準でインストールされているオープンソースのエディタ
キーボードのみで操作することを前提としています。
ちなみにVimは1987年生まれの28歳...むしろストライクゾーンだよね?

どういうところが好きなのか

・カスタマイズ性が高い。
CUIである。
→他のCUIとの親和性が高い (tmux, Ruby on Rails)
→起動が軽快(メモリ不足でXcodeが動かない...←よく分からない)

Vim操作に慣れよう

操作とか言ってはいけませんね。扱い方です。
授業の課題ファイルなどをVimで開いて、動作の確認してみましょう。

以下を参考にやっていきます。
Vimキーマップ

+で普段よく使うコマンドを紹介します。

コマンド内容
yy1行コピー
pペースト
u1つ前に戻る
ctr+ruの反対

Vimをカスタマイズしよう

現時点での私のVim...terapadがどうだとか言えませんね。
Vimの設定は~/.vimrcに記述していきます。
vim .vimrcで開き、何か書かれている場合はdを長押しして全部削除してしまいましょう。(0からカスタマイズ!)
無ければ各自、ファイルを作成してください。vim .vimrcでok!

コード内容
set number行番号表示
set expandtabTabキーを空白に変換
set laststatus=2常にステータスラインを表示

上記のコードを記述して保存して終了:wqします。
再度、vim .vimrcで開いてみると、Vimの左側に行番号が追加されていることが確認できます。

上記の他にも文字色を変えたり..のカスタマイズ方法は様々です。
各自Webで調べるなどして、自分色に手を加えてみてください。

なんかぐちゃぐちゃして分かんねえ!という方
Vimにはノーマルモードと挿入モードがあります。
通常、vimでファイルを開いた時はノーマルモードになっており、主にカーソル移動を主とします。
何か文字を入力したいとなれば、挿入モードに移ることで入力できます。

カーソル移動はノーマルモード入力は挿入モードと覚えておくと良いでしょう。

ノーマルモード→挿入モード挿入モード→ノーマルモード
i (insertの頭文字)ctr+[

capslockをctrに設定すると捗りますよ..ボソッ by vim
以上までが第1回Vim勉強会の内容になります。

+α(次回) プラグインを導入してみよう

NeoBundleを使用します。
NeoBunldeとは、vimプラグインのパッケージマネージャーです。

NeoBundleを利用してVimプラグインを一元管理する
Neobundleそのもののインストール等、詳しくは上記のリンクにまとめられているので、参考にしてください。
Neobundleを使用するためには~/.vimrcを開いて、以下のように記述します。
はじめは練習も兼ねて、neobundle自体をneobundleで管理します。

""---------------------------
" プラグイン管理 Neobundle
"---------------------------

" bundleで管理するディレクトリを指定
set runtimepath+=~/.vim/bundle/neobundle.vim/

" ここからNeobundleを書いていく場所だよ:
call neobundle#begin(expand('~/.vim/bundle/'))



" neobundle自体をneobundleで管理
NeoBundleFetch 'Shougo/neobundle.vim'



 " ここでNeobundleで管理するのは終わりね:  
call neobundle#end()                                                                                                                                                      

 filetype plugin indent on                                                                                                                                                 

NeoBundleCheck

Vimを保存して終了し、再度Vimを開こうとするとこのプラグインをインストールするか?とVimに尋ねられます。y(yes)を押して、インストールしましょう。

次いでeasymotionをインストールします。
call neobundle#begin(expand('~/.vim/bundle/'))からcall neobundle#end()の間に
以下を記述しましょう。

`NeoBundle 'Lokaltog/vim-easymotion'`

" ホームポジションに近いキーを使う
let g:EasyMotion_keys='hjklasdfgyuiopqwertnmzxcvbHJKLASDFGYUIOPQWERTNMZXCVB'
" 「'」 + 何かにマッピング
let g:EasyMotion_leader_key= "'"
" 1 ストローク選択を優先する
let g:EasyMotion_grouping=1

詳しい使い方はこちら↓
Vim-easymotionでカーソル移動を爆速にして生産性をもっと向上させる

easymotionは私がVimすごい!となった初めてのプラグイン...恋のキューピットです!
これでVimのもつ拡張性が伝わればなと思います!

おわりに

第2回をお楽しみに!


Viewing all articles
Browse latest Browse all 5608

Trending Articles