操作方法

進む →, <Space>, <Enter>, j, l
戻る ←, <BackSpace>, h, k
Zoom in/out <Ctrl> or <Command> +/-
次のセクションへ ]
前のセクションへ [
最初のページへ gg
最後のページへ G

Vimの基本、超入門

@sigwyg

§1

あいさつ

§1

あいさつ

こんにちわSig.です

Sugamo.cssとかやってます

春にはCSS Niteで話しました

§1

あいさつ

過去の栄光

§1

あいさつ

さてSugamo.vimです

  • 3回目
  • もともとVim好きでしたが
  • @hokaccha が勉強会したいってので始まりました
  • 僕は会場げっとするだけ

§1

あいさつ

@hokaccha++

§1

あいさつ

前置きはこれくらいにして

始めます

§2

Vimについて

§2

Vimについて

Vim = Vi IMproved

もともとUnix環境で人気のあったViを改善したもの
最初は IMitationだったらしい
Viそのものには大した機能はない。

強いて言うならーー

Vi自体はコンパクトなので、
通信の遅い環境でネットワーク越しに作業するとかに向いている ぶっ壊れたサーバでEmacsが動かなくてもViなら動くとか

まあこれくらいで良いですね

§2

Vimについて

Vimの特徴

CUIである
Unixでは重要
高速なテキスト編集が可能
プログラムコードや設定ファイルの編集に特化
ファイル編集のための各種機能、拡張機能が充実
多言語、多コーデックに対応
大抵の言語において初めからシンタックスカラーが存在する
但し日本語は弱め。Kaoriya使おうね

§2

Vimについて

悪いところ
慣れるのに時間が掛かる
良いところ
キーボード打つのが楽しい!
気がついたらiとかaとかC-[とか打ってる

§2

Vimについて

Emacsは「環境」である

何でもできる
ブラウザ、IRC/メールクライアント、テトリス
起動が遅い
キーボード・ショートカットが充実
覚えやすい
小指を酷使する

§2

Vimについて

Vimは「テキストエディタ」である

大抵のことはできるがEmacsほどではない
IRCクライアントくらいならできなくはないよ
起動が早い
最低限のメタキーとコマンドで操作
基本的な操作を覚えるのに時間が掛かる
応用の応用で飛躍的に作業効率が上がる

§2

Vimについて

Emacs VS Vim?

まあLispが書けるかどうか、に集約されている気がする

§3

導入編

§3

導入編

Win
Vim - KaoriYa.net (http://www.kaoriya.net/#VIM)
Mac
MacVim-KaoriYa - Google Code (http://code.google.com/p/macvim-kaoriya/)

※MacVim ≠ MacVim-KaoriYa

§3

導入編

設定ファイルを作る

Win
:w ./_vimrc
Mac
:w ~/.vimrc

§3

導入編

おまじない追加

set nocompatible
syntax on
set hlsearch
  1. Vimとしての拡張機能On
  2. シンタックスカラーを有効にする
  3. 検索時にマッチした語句をハイライト表示する

§3

導入編

Tips: .vimディレクトリに各種設定ファイル群が入る

~/.vimrc
~/.vim/
    after/
    autoload/
    compiler/
    colors/
    doc/
    plugin/
    ftdetect/
    ftplugin/
    syntax/
    indent/
    macros/

§4

基本操作編

§4

基本操作編

基本的な操作

Vimには複数のモードがある
  • ノーマルモード
  • ビジュアルモード(-- VISUAL --)
  • 挿入モード(-- INSERT --)
  • コマンドラインモード

ほんとはもっとあるけど、とりあえずはコレで良い

§4

基本操作編

各モードは独立したキーバインドを持っていて
モード切替でメニューやマウスを使わない操作を実現している

§4

基本操作編

  1. ノーマルモード
  2. i/a, o/O で挿入モード
    • テキスト編集ができる
    • i/aはカーソル位置の行から。o/Oは新しい行を作って編集
    • 大文字/小文字で微妙に違う挙動をする。試してみよう!
  3. <Esc>で戻る。
    • いろいろある<C-c>とか<C-[>とか
    • <C-o>だと一回だけ戻る。

§4

基本操作編

  1. ノーマルモードにて各種操作
    • yy (カーソル行をコピー)
    • dd (カーソル行を削除)
    • u (一回戻る)
    • <C-r> (一回進む)
  2. :を打つとコマンドモードへ。
    • この状態でメニューっぽい操作をする
    • :w / :q / :e / :ls
    • :set fenc=sjis / :set ft=html / :set ff=unix

§4

基本操作編

  1. vでビジュアルモード
    • V(Shift-V)で行選択。C-vで矩形選択。
    • 選択した状態でdすると削除。yでヤンク(コピー)
    • 選択状態は何か処理するか<Esc>等でノーマルモードに戻る

選択状態で「:」を押すと…

§4

基本操作編

Tips

  • 挿入モードで <C-y> / <C-e>
  • ノーマルモードで 「~」を押すと…
  • 各種インデント「>」「<」「=」
  • 挿入モードで <C-t> / <C-d>
  • Jで行連結。gJでスペース無し
  • テキストオブジェクト…

§5

移動方法など

§5

移動方法など

ノーマルモードでのカーソル移動

h, j, k, l  [左下上右]へ移動
gj 表示行単位で移動(↓)
gk 表示行単位で移動(↑)
^ 行頭へ移動
$ 行末へ移動
% 対応する括弧へ移動

§5

移動方法など

ノーマルモードでの画面移動

  • gg : ファイルの先頭へ
  • G : ファイルの末尾へ
  • <C-d> / <C-u>: 半画面↓/↑
  • <C-e> / <C-y>: 1行ずつ↓/↑

§5

移動方法など

検索移動

  • * : カーソル位置の単語を検索
  • / : 検索語句入力

§5

移動方法など

画面分割

  • :sp: 上下に分割
  • :vsp: 左右に分割
  • :only: 現在ウィンドウ以外を閉じる
  • <C-w>w: ウィンドウを順番に移動
  • <C-w>[hjkl]: ウィンドウを移動

§5

MA・TO・ME☆

§5

まとめ

More Step!

楽しんでってね!
楽しんでってね!