Presentation is loading. Please wait.

Presentation is loading. Please wait.

Vi/Vim につい て ~ エディタ・ウォーズエピソード 1~ 北海道大学院理学院 博士 1 年 荻原弘尭.

Similar presentations


Presentation on theme: "Vi/Vim につい て ~ エディタ・ウォーズエピソード 1~ 北海道大学院理学院 博士 1 年 荻原弘尭."— Presentation transcript:

1 vi/Vim につい て ~ エディタ・ウォーズエピソード 1~ 北海道大学院理学院 博士 1 年 荻原弘尭

2 目次 はじめに テキストエディタ vi Vim まとめ 付録

3 はじめに - 注意書き - Web で調べたり軽く本を読んだ程度の知識な ので曖昧で適当な知識です 質問にはなるべく答えられるようにしますが 答えられない場合もあります 拙い説明も多々あります 今回の発表で誤った知識を持ったという場合や 何か問題が起こった場合でも私は責任を持ちま せん. つまり何が言いたいかというと 詳しく知りたいなら ggrks

4 はじめに - なぜ今回 vi/Vim を説明するか – エディタ戦争 – プログラミングを行う人々の中でどのテキストエディタが一番 良いかというテーマの論争 – 大きく分けて vi 派 (vimmer), Emacs 派 (Emacists), nano 派 ( どういう かわかりません ) がある vi/Vim は嫌われ者 – ( 初めてやる人にとって ) わかりにくい – あの人の画面黒いね なぜ私が vim を使っているか – 情報実験 INEX で使用するように言われたから – 操作が単純で打ちやすい – less や lv などのよく使う別のツールにも同じコマンド操作がで きるから エディタは自分が使いやすいものを好き勝手に使っていい. しかし, 自分が使いやすいエディタを選択するときにとっ つきにくいからと言って vim を選択肢から除外することは しないでほしい

5 テキストエディタ コンピュータでテキストファイルの作成・編 集・保存するソフトウェア 様々なテキストエディタ – メモ帳 – 秀丸 – nano – emacs – vi/Vim – etc

6 vi - vi とは ? - Virus が由来 UNIX 系 OS で良く用いられている画期的なテ キストエディタ Bill Joy によって開発された ラインエディタ ex をベースとしたスクリーン エディタ 現在では純な vi はほぼ使われていない – Vim や nvi 等互換エディタが使われている Visual editor が由来

7 vi - vi の特徴 - モードを持つ – Beep repeatedly ビービー鳴らす – Break everything: 何もかも台無しにする 動作が軽い 環境に依存しない – 大体のディストリビューションに互換のものが存在す る 単純なキー入力で操作できる – 修飾キーを使わなくても大体の操作はできる Normal Insert ファイル操作やカーソル操作をする基本のモード テキストの編集をするモード

8 vi - vi の利点 - 操作を覚えるまでが大変だが覚えたらとても 編集が楽になる – 慣れた vi 愛好家はどんなものにも vi の操作を求め る less や lv 等で同じ操作ができる UNIX 系なら大体入っている 動作が軽い

9 vi - vi の歴史 - UNIX 誕生した頃 (1970 年頃 ) はプリンタとタイ プライタ端末でエディットしていた – ラインエディタを用いていた. ラインエディタ – テキストエディタの一つ – 編集は行単位 – 編集時には編集行のみ表示されて, テキスト全体は見ることが できない ( 編集と表示でモードが分かれている ) ディスプレイなども普及し, 表示速度などが増 加 – Bill Joy が ラインエディタ ex を基にスクリーンエ ディタ vi を作成 – vi の特徴はほぼ ラインエディタを基にして作った ため

10 vi - vi 互換エディタ - 現在 vi はほぼ使われていない – vi 互換エディタが使われている – vi のライセンスなどの問題で BSD や SunOS のみし か使えなかった vi 互換エディタ – 基本的な操作は vi と同じエディタ – 独自の拡張性を持つ elvis nvi Vim

11 Vim - Vim とは - vi をベースとした高い拡張性を持つ vi 互換エ ディタ 1980 年頃に Bram Moolenaar によって Amiga 向けに開発された 当初は Vi IMitation 由来であり, 1992 年頃から は Vi IMproved 由来 – 読み方は ヴィムあるいは ヴィアイエム 現在では多くの Unix 系 OS で採用されている 標準エディタ 現在のバージョンは 7.4 – http://www.vim.org/

12 Vim - Vim の特徴 - 基本操作はほぼ vi と同じで vi と高い互換性を持 つ 大きく分けて 3 つのモードが存在する – nomarl : 基本のファイル操作やカーソル操作を行う – Insert : テキストの編集を行う – Visual : テキストの選択を行う 高い拡張性を持つ – どこでも同じ Vim とは限らない vi の軽快さはあまりない GUI 操作もできる – gvim あるいは vim -g

13 Vim - Vim の使い方超基礎編 1- Normal モードへの移動 – ESC( どのモードでも可 ), ctrl+c(Normal モード以外 ) Insert モードへの移動 – a, A, i, I, o, O Visual モードへの移動 – v, V, ctr+v ( それぞれ文字選択, 行選択, 矩形選択 ) ファイルの書き込み方 – :w (write の略 ) ファイルの閉じ方 – :q (quite の略 ) ※但し書きがなければすべて Normal モード時のこ と

14 Vim - Vim の使い方超基礎編 2- カーソル移動 (Normal モード, Visual モード ) – h : 左に移動 ( 覚え方 : Hidari) – j : 下に移動 ( 覚え方 : キーボードを見たら日本語で「ま」なので 「真下」 ) – k : 上に移動 ( 覚え方 : Kita) – L : 右に移動 ( 覚え方 : left じゃない方 ) – 覚え方はアンサイクロペディアの vi の項を引用 – アルファベットに意味はなくホームポジションで押しやすいよ うになっている アンドゥ ( やり直し ) – u リドゥ ( やり直しのやり直し ) – ctr + r

15 Vim - Vim の使い方超基礎編 2- ヤンク(コピー ) – y ペースト ( 貼り付け ) – p 文字削除 – x 削除 ( 切り取り ) – d ヤンクや削除の範囲選択はカーソルの移動コマンドや回数 ( 何文字 か ) などと組み合わせて選択できる マニュアルを見る – :help [] ([] はコマンド ) とりあえず vimtutor をやってみよう 更にわからないことはマニュアルを読 もう

16 Vim - 僕の考えた最強の Vim - Vim は拡張性を持つ – 独自のスクリプト言語を持つ – 自分でよく使う設定を初期設定にできる ( ただし推奨されないが元々の vi でもできた ) – 他の人が作った vim スクリプトなどのプラグイン をインストールできる 自分でよく使う設定を初期設定にする – $HOME/.vimrc という設定ファイルに書き込む – 書き方は基本的には vim のコマンドと同じ

17 Vim - 僕の考えた最強の Vim - ~ 私のおすすめ設定 最低限編 ~ 構文強調 – syntax enable コマンドライン補完をする – set wildmenu – set wildchar= 改行コードの自動認識 – set fileformats=unix, dos,mac ビープ音を鳴らさない – set vb t_vb= 文字コードの設定 ( デフォルトを utf-8 にする ) – set encoding=utf-8 – set fileencoding=utf-8 – set fileencodings=ucs-bom,iso-2022-jp,sjis,cp932,euc-jp – set fileencodings+=,ucs-21e,ucs-2,utf-8

18 Vim - 僕の考えた最強の Vim - ~ 私のおすすめ設定 便利編 ~ バックスペースキーで削除できるものを指定 – set backspace=indent,eol,start カーソルを行頭, 行末で止まらないようにする – set whichwrap=b,s,h,l,,[,] 入力中のコマンドを表示 – set showcmd ウィンドウの幅より長い行は折り返して表示 – set wrap

19 Vim - 僕の考えた最強の Vim - ~ 私のおすすめ設定 更に便利編 ~ 常にステータスラインを表示 – set laststatus=2 ステータスラインに設定をいろいろ表示 – set statusline=%t%=\[TYPE=%Y]\[FORMAT=%{&ff}]\[ENC=%{(&fe nc!=''?&fenc:&enc)}]\ \ %l/%L,%v\ \ %p% 全角スペースを表示 – augroup highlightZenkakuSpace – autocmd! – autocmd VimEnter,ColorScheme * highlight ZenkakuSpace term=underline ctermbg=white guibg=white – autocmd VimEnter,WinEnter * match ZenkakuSpace / /augroup END

20 まとめ vi はラインエディタベースのスクリーンエ ディタ – 操作を覚えるまでは大変だが覚えると病みつき Vim は vi の上位互換エディタ – vi のいいところはなくなった気がするがかなり便 利なったエディタ

21 付録 ( 便利な使い方 )1 カーソル移動 – gg 一番最初の行に行く – G 一番最後の行に行く – numgg 任意の行 (num は任意の行番号 ) に行く – w 単語単位で前方向に移動する – b 単語単位で後ろ方向に移動する – 0 行の最初へ移動 – $ 行の最後へ移動

22 付録 ( 便利な使い方 )2 現在のカーソルがある行を調べる – ctr + g 削除 – dw カーソルがある単語を削除 dnumw ( あるいは numdw) で num 個の単語を削除できる – dd 一行削除 numdd で num 行削除できる – D カーソルがある文字以降の一行を削除

23 付録 ( 便利な使い方 )3 検索 – /string string は検索する単語 – # カーソル位置の単語の検索 – n 前方向に検索された候補を変える – N 後ろの方向に検索された候補を変える 置換 – r 一文字置換 – R 文字の置き換えモードが始まる – C カーソルがある文字以降を切り取り Insert モードに移行する – :s/string1/string2 カーソルがある行の最初の string1 を string2 に置換する – :%s/string1/string2/gc テキスト全体の string1 を string2 に置換する

24 付録 ( 便利な使い方 )4 バッファ ( ウィンドウのこと ) を開く – :new file 上方向の新たなバッファに file を開く file を指定しないと無名の仮ファイルを展開する – :split file 上方向の新たなバッファに file を開く file を指定しないと今開いている file を展開する – :vsplit file 左方向の新たなバッファに file を開く file を指定しないと今開いている file を展開する

25 付録 ( 便利な使い方 )5 選択した行の初めに同じ文字を入れる – ctr + v → 入れたい行を選択 →I( 大文字アイ )→ 好きな言葉 →ESC – 行選択で $ を押して I を A にすると選択した行の最後に同じ文 字を入れられる ファイルの差分をマージする – vimdiff file1 file2 ( あるいは vim –d file1 file2) file1 と file2 で違う箇所を強調して表示する [c – 違いがある場所に前方向に移動する ]c – 違いがある場所に後ろ方向に移動する dp – 現在カーソルがあるバッファから差分をコピー do – 現在のカーソルがあるバッファへ差分をコピー ファイルエクスプローダーを使う – :Se

26 参考文献 北浦訓行, 小島範幸, 大木敦雄, 2009, 「はじめての vi & Vim 」, 技術評論社 welcom home :vim – http://www.vim.org/ vi – ウィキペディア– – http://ja.wikipedia.org/wiki/Vi http://ja.wikipedia.org/wiki/Vi vi – アンサイクロペディア – http://ansaikuropedia.org/wiki/Vi http://ansaikuropedia.org/wiki/Vi Vim – ウィキペディア – http://ja.wikipedia.org/wiki/Vim Emacs – アンサイクロペディア – http://ansaikuropedia.org/wiki/Emacs http://ansaikuropedia.org/wiki/Emacs エディタ戦争 – ウィキペディア – http://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E6 %88%A6%E4%BA%89 http://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF%E6 %88%A6%E4%BA%89 Vim Replacement Icon – http://wolfrosch.com/text/2012/04/25


Download ppt "Vi/Vim につい て ~ エディタ・ウォーズエピソード 1~ 北海道大学院理学院 博士 1 年 荻原弘尭."

Similar presentations


Ads by Google