vi/Vim について ~エディタ・ウォーズエピソード1~

Slides:



Advertisements
Similar presentations
Nano 北海道大学大学院 理学院 宇宙理学専攻 修士課程 1 年 堺 正太朗 nano. nano ?? Curses を用いたテキストエディタの一種 スクリーンエディタ CUI を用いて編集可能.
Advertisements

Debian の世界へようこそ! 北大 理学院 宇宙理学専攻 惑星宇宙グループ M1 三上 峻.  Debian GNU/Linux  Debian プロジェクト  GNU プロジェクト  Debian GNU/Linux とは  Debian インストール  パッケージ  Debian.
情報処理 A 第 5 回かな? ワードの使い方. 拡張子  ファイルの名前は, “ ファイル名. 拡張子 ” で付け る.  拡張子は,そのファイルを読み込むソフトに影 響される –txt テキストファイル –doc ワードのファイル –xls エクセルのファイル –pdf Acrobat Reader.
Faculty of Computer and Information Sciences, Hosei University Resource Administration Team CIS RAT 1 Linux リテラシ 2006 第 3 回 エディタ、シェル.
1 WORD の起動法と終了法 ● WORD の起動法 (1) デスクトップの Microsoft Word アイ コンをダブルクリックする。 * (2) 「スタート」 ― 「すべてのプログラ ム」 ― 「 Microsoft Word 」と選ぶ。 (3) Word で作成された文書があるとき は、そのアイコンをダブルクリック.
シェル シェルスクリプト 最低限 vi 山下 達也 (北大理・宇宙理学専攻) 20 10/05/07 ( 金 ) INEX 第4回 / 最低限 UNIX(Linux) その3.
シェル シェルスクリプト 最低限 vi 山下 達也 (北大理・宇宙理学専攻) 20 10/05/07 ( 金 ) INEX 第4回 / 最低限 UNIX(Linux) その3.
Viva !! vi 北海道大学大学院 理学院宇宙理学専攻 宇宙惑星グループ 修士 1 年 近藤 奨.
T2V 技術 Web 製作ラボ 3/ hayashiLabo 2. T2V 技術 PC 操作 念のため・・・
Copyright © the University of Tokyo 文字化けの背景を知る. Copyright © the University of Tokyo 課題の概要 日本語の文字コードについて理解を深める  MacOS( テキストエディット ) で利用可能なエ ンコーディング ( コード化方式.
Copyright © the University of Tokyo 文字化けの背景を知る. Copyright © the University of Tokyo 課題の概要 日本語の文字コードについて理解を深める  MacOS( テキストエディット ) で利用可能なエ ンコーディング ( コード化方式.
Vi/Vim につい て ~ エディタ・ウォーズエピソード 1~ 北海道大学院理学院 博士 1 年 荻原弘尭.
BBT大学 Ruby on Rails開発環境セットアップマニュアル
応用コース:ワープロを活用する WORD2000 1回目 基礎コースの復習(第1章と付録) 2回目 文字の入力(第2章と第4章)
実習1:コマンドシェルの使い方.
UNIX利用法.
UNIX利用法 情報ネットワーク特論資料.
ブラウザの基本操作 前のページに戻る ブラウザの左上にある 「戻る」ボタンで、自分がたどってきた一つ前のページに戻ることができます。
シェル シェルスクリプト 最低限vi 山下 達也 (北大理・宇宙理学専攻) INEX 第4回/最低限 UNIX(Linux) その3
Unix生活 Vol.1
シェル シェルスクリプト 最低限vi 山下 達也 (北大理・宇宙理学専攻) INEX 第4回/最低限 UNIX(Linux) その3
Java I 第2回 (4/18)
須賀 友也 神戸大学 理学研究科 地球惑星科学専攻 M1
RGWS Unix生活 テキストエディタと便利ツール
音声と図解 初めてのパソコン 2013年度公開講座 4月27日, 5月11日 跡見学園女子大学文学部准教授 福田 博同 初めてのパソコン
Win32APIとMFC H107102 古田雅基 H107048 佐藤一樹 H107126 山下洋平.
情報処理 第13回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当:塩田 ここはメモを書く欄。
情報処理 第11回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当:塩田 ここはメモを書く欄。
キーボードでの指の位置と入力範囲 ◎左手の指のホームポジション(入力しないときの位置): 小指-「A」 薬指-「S」 中指-「D」 人差し指-「F」(突起あり) ◎右手の指のホームポジション: 人差し指-「J」 (突起あり) 中指-「K」 薬指-「L」 小指-「;」 ◎親指は「スペース」キーの上に置く。
Microsoft PowerPointを使ってみよう
山田 由貴子 (北大理・地球惑星科学専攻) 2004年10月29日
基礎プログラミングおよび演習 第9回
エクセル(2)の目次 セル範囲の指定方法 データの消去法 アクティブセルの移動 セル内容の複写と移動 セル幅の変更方法
情報コミュニケーション入門 ワープロソフト入門(1) レイアウトと書式の設定
エクスプローラ ● エクスプローラ: ファイルやフォルダを階層構造で表示してあり、これらを操作するのに便利。
バージョン管理超入門 まだファイルコピーしてます?
第2章 ソフトウェアの基礎知識 電子制御設計製図Ⅰ    2010年5月11日 Ⅲ限目.
第2章 ソフトウェアの基礎知識.
文字化けの背景を知る.
文献管理ソフトRefWorksの利用.
キーボードでの指の位置と入力範囲 ◎左手の指のホームポジション(入力しないときの位置): 小指-「A」 薬指-「S」 中指-「D」 人差し指-「F」(突起あり) ◎右手の指のホームポジション: 人差し指-「J」 (突起あり) 中指-「K」 薬指-「L」 小指-「;」 ◎親指は「スペース」キーの上に置く。
情報コミュニケーション入門 2016年度版 情報コミュニケーション入門m 総合実習(1).
PowerPoint初級編 院内研究発表入門.
今回学ぶこと ちょっとした復習 基本的な編集機能 一歩進んだ編集機能 画面のロック ウィンドウを並べる フォントについて 文字列の切り貼り
実習1:コマンドシェルの使い方.
EBSCOhost 詳細検索 チュートリアル support.ebsco.com.
文字化けの背景を知る.
計算物理学基礎 第1回 UNIXの基礎 C言語の基本.
情報処理技法(リテラシ)I 第10回:Excel (1/2)
情報処理概論Ⅰ 2007 第4回 2018/11/30 情報処理概論Ⅰ 第4回.
Microsoft® Office Word 2007 トレーニング
3.1 PowerPoint の概要 PowerPointを使ってできること
コンピュータ プレゼンテーション.
スイッチを入れる前に… 講習を受けていない人は、まだスイッチを入れないこと。 まず講習を受けてセットアップを行ってください 注意.
第2章 ソフトウェアの基礎知識 電子制御設計製図Ⅰ    2010年5月19日 Ⅱ限目.
Nanoってなんなの 北大理学院 高橋康人.
ネットワークプログラミング 05A1302 円田 優輝.
コンピュータと情報 第4回 ワードの使い方.
エクセル(2)の目次 セル範囲の指定方法 データの消去法 アクティブセルの移動 セル内容の複写と移動 セル幅の変更方法
Linux の世界に 触れてみよう! 情報実験 第 3 回 (2005/10/21)
情報コミュニケーション入門e 第8回 ワープロソフト入門(1)
情報コミュニケーション入門e 第8回 ワープロソフト入門(1)
プログラミング入門 電卓を作ろう・パートI!!.
情報処理概論Ⅰ 2007 第6回 2019/5/16 情報処理概論Ⅰ 第6回.
Microsoft Excelとは 表の作成 →表の中で計算する グラフ作成 データベース機能 →並べ替え、検索 作業の自動化(マクロ機能)
エクスプローラ ● エクスプローラ: ファイルやフォルダを階層構造で表示してあり、これらを操作するのに便利。
情報処理 II 第11回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当:塩田
CADシステムとソフトウェア 電子制御設計製図Ⅰ    2009年4月28日 Ⅲ限目.
第0.5回: ~Unity Editorの操作方法~
Presentation transcript:

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

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

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

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

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

vi - viとは? - Visual editorが由来 Virus が由来 UNIX 系 OS で良く用いられている画期的なテキストエディタ Bill Joy によって開発された ラインエディタ ex をベースとしたスクリーンエディタ 現在では純な vi はほぼ使われていない Vim や nvi 等互換エディタが使われている Visual editorが由来 Bill joy: Cシェルや TCP/IP の実装, BSD を創設したすごい人 現在の Solarisである SunOS の開発の主要メンバー

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

vi - vi の利点 - 操作を覚えるまでが大変だが覚えたらとても編集が楽になる less や lv 等で同じ操作ができる UNIX 系なら大体入っている 動作が軽い

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

vi - vi 互換エディタ - 現在 vi はほぼ使われていない vi 互換エディタ vi 互換エディタが使われている vi のライセンスなどの問題で BSD や SunOS のみしか使えなかった vi 互換エディタ 基本的な操作は vi と同じエディタ 独自の拡張性を持つ elvis nvi Vim Elvis: Steve Kirkendallが開発した互換エディタ Nvi 4.4BSD に実装された互換エディタ, 高い互換性と拡張機能がある

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

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

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

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

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

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

Vim - 僕の考えた最強の Vim - ~私のおすすめ設定 最低限編~ 構文強調 syntax enable コマンドライン補完をする set wildmenu set wildchar=<tab> 改行コードの自動認識 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

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

Vim - 僕の考えた最強の Vim - ~私のおすすめ設定 更に便利編~ 常にステータスラインを表示 set laststatus=2 ステータスラインに設定をいろいろ表示 set statusline=%t%=\[TYPE=%Y]\[FORMAT=%{&ff}]\[ENC=%{(&fenc!=''?&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 highlight は文字の設定をするコマンドです, cterm とは cui 系のターミナルのことです

まとめ vi はラインエディタベースのスクリーンエディタ Vim は vi の上位互換エディタ 操作を覚えるまでは大変だが覚えると病みつき

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

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

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

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

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

参考文献 北浦訓行, 小島範幸, 大木敦雄, 2009,「はじめての vi & Vim」, 技術評論社 welcom home :vim http://www.vim.org/ vi – ウィキペディア http://ja.wikipedia.org/wiki/Vi vi – アンサイクロペディア http://ansaikuropedia.org/wiki/Vi Vim – ウィキペディア http://ja.wikipedia.org/wiki/Vim 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 Vim Replacement Icon http://wolfrosch.com/text/2012/04/25