Skip to content

Instantly share code, notes, and snippets.

@itiut
Last active August 29, 2015 14:01
Show Gist options
  • Save itiut/a46a827491cd0ded0cdb to your computer and use it in GitHub Desktop.
Save itiut/a46a827491cd0ded0cdb to your computer and use it in GitHub Desktop.

Vim勉強会

  • 2014/05/30 (金)
  • @itiut

アジェンダ

  • vimtutorやりつつVimの操作方法に慣れる
  • .vimrcのおすすめ設定
  • ターミナルのtipsいくつか紹介

Vimのインストール

Ubuntu

$ sudo apt-get install vim

デフォルトのviの正体は/usr/bin/vim.tinyなので注意!

OS X

$ brew install vim --override-system-vi

vimtutor

  • Vimのチュートリアル
  • とりあえず:set number:set rulerしておくと現在地がわかりやすい
    • :set number 行数表示
    • :set ruler カーソル位置表示

Lesson 1

  • hjkl ←↓↑→
  • :q! <ENTER> 保存せず終了
  • x カーソルの文字を削除
  • i インサートモード
  • <ESC> ノーマルモードに戻る
  • A カーソルを行末に移動させ、インサートモード
  • :wq 保存して終了

Lesson 2

  • dw カーソルから次の単語の直前まで削除
  • d$ カーソルから行末まで削除
  • d{動き} カーソルから動いた位置まで削除
  • {数}{動き} {数}だけ動きを繰り返す
  • d{数}{動き} {数}だけカーソルから動いた位置まで削除を繰り返す
  • dd カーソル行削除
  • u undo
  • U カーソル行を全てundo
  • CTRL-r redo

Lesson 3

  • p カーソルの1行下にペースト
  • r カーソル位置の文字を書き換える
  • ce カーソルから現在の単語の末尾まで削除して、インサートモード
  • c{動き} d{動き}して、インサートモード
  • c{数}{動き} d{数}{動き}して、インサートモード

Lesson 4

  • CTRL-g 現在行を表示
  • gg 最初の行に移動
  • G 最後の行に移動
  • {数}G {数}行目に移動
  • / 正順に検索
  • ? 逆順に検索
  • n 次にマッチした位置に移動
  • N 前にマッチした位置に移動
  • % 対応する括弧に移動
  • :s/old/new/g カーソル行のoldnewに全て置換
  • :%s/old/new/g ファイル全体のoldnewに全て置換

Lesson 5

  • :!{コマンド} シェルで{コマンド}を実行
  • :w {ファイル名} {ファイル名}と名前を付けて保存
  • v ヴィジュアルモード (範囲選択)
  • ヴィジュアルモードで:w {ファイル名} 選択範囲を名前を付けて保存
  • :r {ファイル名} ファイルの内容をカーソル位置に挿入
  • :r !{コマンド} コマンドの結果をカーソル位置に挿入

Lesson 6

  • o カーソルの1行下を改行して、インサートモード
  • O カーソルの1行上を改行して、インサートモード
  • e 次の単語の末尾まで移動
  • a カーソルから1文字進んで、インサートモード
  • R 上書きモード
  • ヴィジュアルモードでy ヤンク (コピー)
  • :set {オプション} オプションの設定 (有効化)
  • :set no{オプション} オプションの無効化

Lesson 7

  • :help [コマンド] [コマンドの]ヘルプ
  • CTRL-w CTRL-w ウィンドウの移動
  • :e {ファイル名} ファイルを開く
  • :w [ファイル名] ファイルを保存
  • コマンドモードで<TAB> コマンド補完
  • コマンドモードでCTRL-d コマンド一覧表示

.vimrc

ターミナルのtipsいくつか

  • パッケージマネージャ
    • Homebrew, Linuxbrew
  • 便利ツール
    • ag
      • ファイル検索
    • hub
      • gitコマンドをGitHub用に拡張
    • tig
      • ターミナルで動くgitのGUI

Homebrew

OS Xのパッケージマネージャ

  • homebrew-cask
    • homebrewでGUIのソフトウェアをインストールできるやつ
  • Cakebrew
    • homebrewをGUIで操作するやつ

詳しくは知らないので詳細はググって

Linuxbrew

HomebrewをLinuxに移植したやつ

インストール

$ sudo apt-get install build-essential curl git libbz2-dev libcurl4-openssl-dev libexpat1-dev libncurses5-dev zlib1g-dev ruby autoconf rake
$ git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew

.bashrcに以下を追加

export PATH="$HOME/.linuxbrew/bin:$PATH"
export LD_LIBRARY_PATH="$HOME/.linuxbrew/lib:$LD_LIBRARY_PATH"

便利ツール

ag

$ sudo apt-get install silversearcher-ag    # ubuntu
$ brew install the_silver_searcher          # homebrew

hub

$ brew install hub          # homebrew, linuxbrew

tig

$ sudo apt-get install tig                  # ubuntu
$ brew install tig                          # homebrew
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment