🙆‍♀️

2022/08/13 LPIC

2022/08/13に公開
  • diary.txtファイルに所有グループの書き込み権を追加chmod g+w diary.txt
  • dataディレクトリから所有者以外の実行権を削除chmod go-x data
  • スティッキービット(t)を使うと誰でもファイルを作成でき、所有者、rootユーザー以外削除できないファイルを作れる。

テキストファイルの編集

viエディタの基本

  • viエディタ(Visual Editor)はLinuxの代表的なテキストエディタ
  • viエディタにはコマンドモードと挿入モードがある
  • Linux, UNIXでは、vi, Emacsは2大エディタ
  • viの上位互換エディタVim(vi improved)は、Linuxに搭載されている。

viエディタの起動と終了

  • viエディタを起動vi [ファイル名]
  • testfile.txtファイルを対象としてviエディタを起動vi testfile.txt
  • viエディタの起動vi
  • 行頭が~(チルダ)は空行
  • viエディタの終了:qEnterキー

コマンドモードと挿入モード

コマンドモード

  • 起動直後は、コマンドモード

viエディタの主なカーソル移動コマンド

キー操作 説明
h(または←) 1文字左移動
j(または↓) 1文字下移動
k(または↑) 1文字上移動
l(または→) 1文字右移動
o 行頭移動
$ 行末移動
gg ファイル先頭移動
G ファイル末尾移動

挿入モード

viエディタの主な挿入モード切り替えコマンド

キー操作 説明
i カーソル位置から入力開始
I カーソルを行頭に移動し、入力開始
o 現在カーソルがある行の下に空白行を挿入し、入力開始
O 現在カーソルがある行の上に空白行を挿入し、入力開始
a カーソルの右側の位置から入力を開始
A カーソルを行末に移動し、右側の位置から入力開始
  • resolv.confファイルをコピーして編集する
  • cp /book/resolv.conf ~/sample.txt
  • vi ~/sample.txt
  • sample.txtファイルの内容例
  • # Generated by NetworkManager nameserver 192.168.1.1
  • sample.txtを編集中
  • Hello, Vim.
  • # Generated by NetworkManager nameserver 192.168.1.1

ファイルの保存と終了

  • ファイルを保存するには、:wを実行する
  • ファイルを保存して終了するには:wqもしくはZZを実行
  • ファイルを保存しないで終了するには、:q!

基本的な編集操作

  • ddカット、yyコピー、pペースト
  • 数字と組み合わせてコマンドを繰り返す。
  • .で直前の操作を繰り返す。
  • u直前の操作を取り消し。

切り取り、コピー、貼り付け

viエディタの主な編集コマンド

キー操作 説明
dd 現在カーソルがある行をカット
yy 現在カーソルがある行をコピー
p カーソル行の次行にバッファの内容をペースト
x(またはDeleteキー) カーソル位置の1文字をカット
X(またはBackspaceキー) カーソル位置の左1文字をカット
  • sample_new.txtファイルの編集
  • Hello, Vim. ←カーソル位置
  • # Generated by NetworkManager nameserver 192.168.1.1
  • 切り取り操作後のsample_new.txtファイル
  • #Generated by NetworkManager nameserver 192.168.1.1
  • 貼り付け操作後のsample_new.txtファイル
  • # Generated by NetworkManager nameserver 192.168.1.1
  • Hello, Vim.←行が貼り付けられた
  • 貼り付け操作を繰り返す
  • # Generated by NetworkManager nameserver 192.168.1.1
  • Hello, Vim.
  • Hello, Vim.
  • Hello, Vim.
  • 1行目をコピーし、5行目を挿入した例
  • # Generated by NetworkManager namesarver 192.168.1.1
  • Hello, Vim.
  • Hello, Vim.
  • # Generated by NetworkManager←コピーした行が貼り付けられた
  • Hello Vim.

コマンドの繰り返し取り消し

  • 2行を切り取った後の状態
  • # Generated by NetworkManager nameserver 192.168.1.1
  • # Generated by NetworkManager
  • Hello, Vim.

viエディタの便利な機能

  • 文字列を検索するには/に続けてキーワードを入力
  • setコマンドを使って様々な設定を変更

文字列の検索

  • 文字列の検索
  • /
  • 文字列の検索を実行
  • # Generated by NetworkManager
  • nameserver 192.168.1.1
  • # Generated by NetworkManager
  • Hello, Vim.←カーソルがVの位置に移動
  • /etc/servicesファイルを開く
  • vi /etc/services
  • setコマンドの実行
  • :set number
  • 168~

Discussion