viで一括置換知る場合は以下の書式になります。
「:%s/置換対象の文字列/置換後の文字列/g」
例えば、「おむすび」を「おにぎり」に置換したい場合は「:s%/おにぎり/おむすび/g」となります。
viで一括置換知る場合は以下の書式になります。
「:%s/置換対象の文字列/置換後の文字列/g」
例えば、「おむすび」を「おにぎり」に置換したい場合は「:s%/おにぎり/おむすび/g」となります。
「viとは」でviがどんなものか少しつかめたと思います。
次はviでテキストファイルを編集する上で知っておくべき基本的な操作方法を説明します。
viには「コマンドモード」と「挿入モード」の二つのモードがあります。
コマンドモードでは、文字列検索、カーソルの移動、コピー&ペーストなどを行います。
一方挿入モードではファイルへの文字列挿入を行います。
この二つのモードの行き来は以下のようになります。
ちなみにviを起動したらコマンドモードから始まります。
iやaを押して挿入モードになったらそこからのキー入力はそのままテキストファイルに挿入されます。
たとえばコマンドモードの状態で「abc」と入力するとbcが挿入されます。
カーソルの移動が素早く柔軟に行えるのもviの大きな長所の一つです。
以下にカーソルの移動方法一覧を示します。
入力キー | 意味 |
---|---|
p |
一つ上の行に移動 pの前に数字を入れるとその数字の分だけ上の行に移動する |
j |
一つしたの行に移動 jの前に数字を入れるとその数字の分だけ上の行に移動する |
h |
一つ左の文字に移動 hの前に数字を入れるとその数字の分だけ上の行に移動する |
l |
一つ右の文字に移動 lの前に数字を入れるとその数字の分だけ上の行に移動する |
G | 最後の行に移動 |
数字G | 数字で指定した行に移動 |
0 | 行の先頭に移動 |
^ | 行の最初の文字に移動 |
$ | 行の最後に移動 |
w | 次のwordに移動する。 |
Ctrl-u | 半画面上に戻る |
Ctrl-d | 半画面下に進む |
コピーや切り取りもコマンドモードで行います。
入力キー | 意味 |
---|---|
x |
1文字切り取り(削除)。 xの前に数字を入れるとその数分の文字数が切り取られる。 |
dd |
1行丸ごと切り取り(削除)。 ddの前に数字を入れるとその数分の行が切り取られる。 |
yy |
1行丸ごとコピー。 yyの前に数字を入れるとその数分の行がコピーされます。 |
貼り付け方法は以下の二種類あります。
入力キー | 意味 |
---|---|
p | 文字の貼り付けならカーソルのある文字の右側に、行の貼り付けならカーソルのある行の次の行に貼り付けられます。 |
P | 文字の貼り付けならカーソルのえる文字の左側に、行の貼り付けならカーソルのある行の手前の行に貼り付けられます。 |
文字列検索も簡単です。
•/検索文字列
/(スラッシュ)の後に検索したい文字列を入れるだけで検索できます。
たとえば「/abc」と入れて、エンターキーを押せばabcという文字列がある場所まで移動します。
続けてエンターキーを押すと次のabcに移動します。
検索は今ある位置から下に進みますが、SHIFTを押しながらエンターキーを押すと上に向かって検索できます。
置換の方法はいくつかあります。
入力キー | 意味 |
---|---|
r |
カーソルがある文字を別の文字に変更できます。 たとえばmという文字にカーソルがある状態で「rj」とすれば、mがjに変わります。 |
cw |
一つの文字列を別の文字列に置き換えます。 例えば「abc efg hijk lll」という文章があった場合にeのところにカーソルがある状態で「cwjejeje」と入力し、最後にESCキーを押すと、efgという文字列がjejejeにかわります。 |
viはサーバー上のテキストファイルを直接編集する際に非常に便利なコマンドです。
sshが使えるサーバーを借りてる方は是非viで直接編集出来るようになって作業効率を上げてください。
1. viとは
UnixやLinuxで使用される最もよく使われるテキストエディタの一つ。
vi以外ではemacsがよく使われてます。
2. viの特徴
viは、マウスや方向キーを使わずに様々な編集をすることが可能です。
マウスや方向キーを使わないため、慣れると非常に高速にテキストファイルの編集が行えます。
一度viに慣れてしまうとvi五感エディタ以外使えない!という人も結構います。慣れればそれくらい使いやすいエディタなんです。
3. 実践
とりあえず実際に使ってみて何と無く感覚をつかんでみます。
$ vi hoge.txt
上記のように打ち込むと「hoge.txt」というファイルがviにより開きます。
新規ファイルの場合は何も内容がないはずです。
まずは、このファイルに「hello」という文字列を保存してみます。
viでファイルを開いたら次のように打ち込んで行ってください。
(カンマは単なる区切りなので入力は不要です)
「i, h, e, l, l, o, ESC, :, w, q, ENTER」
こうすると、「hello」という内容がhoge.txtに保存されます。
4. 実践の解説
これは何をしているかというとそれぞれ以下のようになります。
1. 「i」
挿入モードに移行します。
viでは挿入モードに移行して初めて入力したキーが文字列としてテキストファイルに挿入されます。
入力モードになる前の各キーボードのキーは文字の削除、コピー、貼り付け、カーソルの移動など様々な役割を担います。
その中で、この「i」は入力モードへの切り替えの役割を果たします。
2. 「hello」
直前に「i」があるので挿入モード中のキー入力になるため、全て文字列としてファイルに挿入されます。
3. 「ESC」
エスケープキーです。
キーボードの左上にあるやつです。
これを押すと挿入モードが解除されます。
4. 「:」
コロンです。
これを入力すると、画面の下部に入力カーソルが来て特殊コマンド入力モードになります。
このモードでは、ファイルの保存や、viの終了、文字列の一括変換、各種設定をすることができます。
5. 「wq」
直前に:(コロン)が入力されているので、特殊コマンドモード中の入力になります。
特殊コマンドモードでの「w」はファイルの保存を、「q」はviの終了を意味します。
ここでは、「wq」と連続で入力してますが、これでファイルを保存して終了という意味になります。
6. 「ENTER」
最後にエンターキーを押します。
これにより直前に入力していた特殊コマンドモードを実行します。
つまり、ファイルの保存とviの終了を実行します。
これで、hoge.txtというファイルがhelloという文字列を含んで作成されました。
このファイルを編集するときは、作成時と同じように以下を実行します。
$ vi hoge.txt
レンタルサーバーを借りてホームページを公開するとき、パソコン上でファイルを編集して、それをftpを使ってサーバー上にコピー(アップロード)する方法が一般的です。
しかし、sshが使用可能なレンタルサーバーであれば、サーバーに直接アクセスしてファイルを編集することが出来ます。
【流れ】
1. sshが使えるレンタルサーバーに申し込む。
2. サーバーのIPアドレス(またはURL)、ユーザーID、パスワードを入手する。
3. sshで接続するためのソフト「teraterm」をダウンロード&インストールする。
4. teratermを起動し、IPアドレスを入力してレンタルサーバーに接続する。
5. IDとパスワードを使ってサーバーにログインする。
6. ファイルを編集する。
「teraterm」の使い方については「」を参照してください。
ファイルの編集方については「」