7.エディタ導入

2025/10/27
元記事-Almalinux再構築手順

エディタ導入の解説

エディタ選びは作業効率に直結する重要な選択ですが、最初はどれを使えばいいかわからないと思います。
3種類のエディタとその設定について解説します。

エディタの特徴比較
エディタ学習曲線操作性機能性適した用途
nano緩やか(初心者向け)Unix標準(Ctrl+X等)シンプル設定ファイル簡易編集
micro緩やか(初心者向け)Windows風(Ctrl+S等)中程度日常的な編集作業
vim急勾配(要習熟)独特(モード型)高機能大規模編集、プログラミング

nano と vim-enhanced の導入

sudo dnf install -y nano vim-enhanced
  • nanoの特徴:
    # 基本操作(画面下部に常時表示)
    nano /etc/hosts
    # Ctrl+X: 終了
    # Ctrl+O: 保存
    # Ctrl+W: 検索
    # Ctrl+K: 行カット
    # Ctrl+U: ペースト
    
    # 便利な起動オプション
    nano -l file.txt    # 行番号表示
    nano -B file.txt    # バックアップ作成
    nano -c file.txt    # カーソル位置表示
    
    # 設定ファイル
    ~/.nanorc           # ユーザー設定
    /etc/nanorc         # システム設定
    
  • vim-enhancedの特徴:
    # vimは3つのモードが基本
    # ノーマルモード(起動時): コマンド実行
    # 挿入モード(i,a,o等): テキスト入力
    # ビジュアルモード(v,V): 選択
    
    # 最小限の操作
    vim file.txt
    i                   # 挿入モード
    Esc                 # ノーマルモードへ
    :wq                 # 保存して終了
    :q!                 # 保存せず終了
    
    # vim-enhancedで追加される機能
    - シンタックスハイライト
    - 複数ファイル編集
    - プラグイン対応
    - マクロ記録
    

microエディタの導入

インストールスクリプトの解説
cd ~
curl https://getmic.ro | bash

# getmic.roスクリプトの動作
# 1. OSとアーキテクチャを自動判定
# 2. 最新版バイナリをダウンロード
# 3. 実行権限を付与
# 4. ~/micro として保存

# 手動でダウンロードする場合

VERSION=$(curl -s https://api.github.com/repos/zyedidia/micro/releases/latest | grep tag_name | cut -d'"' -f4)
curl -L "https://github.com/zyedidia/micro/releases/download/${VERSION}/micro-${VERSION}-linux64.tar.gz" | tar xz
sudo mv ~/micro /usr/local/bin/micro

# /usr/local/bin を選ぶ理由
/usr/bin/        # ディストリビューション管理(dnf/yum)
/usr/local/bin/  # ローカル管理(手動インストール)
~/bin/           # 個人用(他ユーザーは使えない)
# 確認

which micro
ls -l /usr/local/bin/micro
micro --version
sudo secure_path設定の詳細解説
問題の背景

# sudoはセキュリティのため、通常ユーザーよりも、PATHを制限しています。

通常ユーザーとして確保されているPATH
$ echo $PATH
/usr/local/bin:/usr/bin:/bin # 通常ユーザー

SUDOとしての確保されるPATH
$ sudo echo $PATH
/usr/bin:/bin # sudoではlocal/binが消える!

その結果、ユーザーとしては使えても、SUDOでエラーが出てしまう。
$ micro file.txt # OK
$ sudo micro /etc/hosts # command not found

解決策のコード解説
# grep -Rq "/usr/local/bin" /etc/sudoers /etc/sudoers.d 2>/dev/null

# -R: 再帰的検索
# -q: 静かなモード(出力なし)
# 2>/dev/null: エラー出力を破棄

# || { ... }
# 前のコマンドが失敗(見つからない)場合のみ実行

# secure_path設定の作成
echo 'Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin' | \
    sudo tee /etc/sudoers.d/10-secure-path >/dev/null

# ファイル名の意味
# 10-: 読み込み順序(数字が小さいほど先)
# secure-path: 設定内容を示す名前

# chmod 440: r--r----- (rootとwheelグループのみ読み取り可)
# visudo -cf: 構文チェック(-c:check, -f:file)

デフォルトエディタ設定の詳細

環境変数の設定
# EDITORとVISUALの違い
EDITOR # 行エディタ(歴史的、基本)
VISUAL # 画面エディタ(フルスクリーン)

# 多くのプログラムは VISUAL → EDITOR の順で参照
# 例:
crontab -e # $VISUAL or $EDITOR を使用
git commit # $EDITOR を使用
visudo # $VISUAL or $EDITOR を使用

# 冪等性を保つ書き方の解説
grep -q "EDITOR=micro" ~/.bashrc || echo 'export EDITOR=micro' >> ~/.bashrc

# grep -q: 見つかれば0、見つからなければ1を返す
# ||: 見つからない場合のみ追加(重複防止)
より高度な設定例
microの設定ファイル

~/.config/micro/settings.json
mkdir -p ~/.config/micro
cat > ~/.config/micro/settings.json << 'EOF'
{
    "autosu": true,
    "colorscheme": "monokai",
    "cursorline": true,
    "eofnewline": true,
    "keepautoindent": true,
    "mouse": true,
    "ruler": true,
    "savecursor": true,
    "saveundo": true,
    "scrollbar": true,
    "statusline": true,
    "syntax": true,
    "tabsize": 4,
    "tabstospaces": true
}
EOF

nanoの設定強化

~/.nanorc
cat > ~/.nanorc << 'EOF'
# 行番号を常に表示
set linenumbers

# 自動インデント
set autoindent

# タブをスペースに変換
set tabstospaces
set tabsize 4

# バックアップ作成
set backup
set backupdir "~/.nano-backups"

# マウス対応
set mouse

# シンタックスハイライト
include "/usr/share/nano/*.nanorc"
EOF

mkdir -p ~/.nano-backups

vimの基本設定


# ~/.vimrc
cat > ~/.vimrc << 'EOF'
" 基本設定
set number              " 行番号表示
set ruler               " カーソル位置表示
set showmatch          " 対応括弧ハイライト
set hlsearch           " 検索結果ハイライト
set ignorecase         " 検索で大文字小文字無視
set smartcase          " 大文字含む場合は区別
set expandtab          " タブをスペースに
set tabstop=4          " タブ幅
set shiftwidth=4       " インデント幅
set autoindent         " 自動インデント

" シンタックスハイライト
syntax on

" 文字コード
set encoding=utf-8
set fileencodings=utf-8,sjis,euc-jp

" バックアップ
set backup
set backupdir=~/.vim/backup
set directory=~/.vim/swap

" マウス有効化
set mouse=a
EOF

mkdir -p ~/.vim/{backup,swap}

トラブルシューティング

# 問題: microがsudoで使えない
# 確認
sudo which micro
# 解決
sudo visudo -f /etc/sudoers.d/10-secure-path

# 問題: デフォルトエディタが反映されない
# 確認
echo $EDITOR
echo $VISUAL
# 解決
source ~/.bashrc
# または新しいセッション開始

# 問題: microのダウンロードが失敗
# 手動インストール
wget https://github.com/zyedidia/micro/releases/latest/download/micro-linux64.tar.gz
tar xzf micro-linux64.tar.gz
sudo mv micro-*/micro /usr/local/bin/

# 動作確認スクリプト
for editor in nano micro vim; do
    if command -v $editor &>/dev/null; then
        echo "✓ $editor: $(command -v $editor)"
    else
        echo "✗ $editor: not found"
    fi
done

エディタ使い分けの実例

# 簡単な設定変更 → nano/micro
sudo nano /etc/hosts
sudo micro /etc/hosts

# プログラミング → vim
vim script.sh

# 大量の置換作業 → vim
vim file.txt
%s/old/new/g # 全置換
# 緊急時(vimが苦手でも) → nano
sudo nano /etc/fstab
段階的学習のすすめです。

最初: nano か micro でLinuxに慣れる
慣れたら: vim の基本操作を少しずつ学ぶ
最終的に: 用途によって使い分ける

エディタは道具です。「使いやすいものを使う」ということでいいと思います。