デフォルトの状態で使ってもいいのですが、~/.vimrcの設定で自分好みのエディタにすることができます。
環境
$ cat /etc/almalinux-release
AlmaLinux release 10.1 (Heliotrope Lion)
$ LANG=C vim --version | head -n 2
VIM - Vi IMproved 9.1 (2024 Jan 02, compiled Sep 10 2025 00:00:00)
Included patches: 1-83
設定例
$ cat ~/.vimrc
"==================================================
" vimrc(AlmaLinux / RHEL 向け)
"==================================================
"--------------------------------------------------
" 基本動作
"--------------------------------------------------
" vi互換モードを無効化する【推奨】
" vi / vim 起動時の挙動差をなくす
set nocompatible
" 保存時の文字コードをUTF-8にする【推奨】
set fileencoding=utf-8
" 外部で更新された場合に自動で再読み込みする【推奨】
set autoread
" 未保存でもバッファを切り替えられるようにする【推奨】
set hidden
" undo履歴をファイルに保存する(任意)
"set undofile
" undo履歴をホームディレクトリ配下に保存する(任意)
"set undodir=~/.vim/undo//
" バックアップファイルを作成しない(任意)
set nobackup
" スワップファイルを作成しない(任意)
set noswapfile
" modelineを無効化して設定注入を防止する(任意)
set nomodeline
"--------------------------------------------------
" ファイルタイプ別設定
"--------------------------------------------------
" ファイルタイプ別の設定とインデントを有効化する【推奨】
filetype plugin indent on
"--------------------------------------------------
" 検索系
"--------------------------------------------------
" 小文字のみの検索では大文字小文字を区別しない【推奨】
set ignorecase
" 大文字を含む検索では大文字小文字を区別する【推奨】
set smartcase
" 検索文字入力中から検索を開始する【推奨】
set incsearch
" ファイル末尾に達したら先頭から再検索する【推奨】
set wrapscan
" 検索結果をハイライト表示する【推奨】
set hlsearch
" Escキーを2回押すと検索ハイライトを解除する【推奨】
nmap <Esc><Esc> :nohlsearch<CR><Esc>
"--------------------------------------------------
" 表示・操作系
"--------------------------------------------------
" 相対行番号を表示する(任意)
"set relativenumber
" 現在行を強調表示する(任意)
"set cursorline
" 現在列を強調表示する(任意)
"set cursorcolumn
" 行末の1文字先までカーソル移動できるようにする【推奨】
set virtualedit=onemore
" ビープ音を鳴らさず画面表示で通知する【推奨】
set visualbell
" 括弧入力時に対応する括弧を表示する【推奨】
set showmatch
" コマンド補完を一覧表示と最長一致にする【推奨】
set wildmode=list:longest
" 折り返し表示行単位で下に移動する【推奨】
nnoremap j gj
" 折り返し表示行単位で上に移動する【推奨】
nnoremap k gk
" シンタックスハイライトを有効化する【推奨】
syntax enable
"--------------------------------------------------
" ステータスライン / paste事故防止
"--------------------------------------------------
" paste状態をステータスラインに表示する【推奨】
set statusline=%<%f\ %h%m%r%=%{&paste?'[PASTE]':''}\ %y\ %l/%L
" ステータスラインを常に表示する【推奨】
set laststatus=2
" F2キーでpasteモードを切り替える【推奨】
set pastetoggle=<F2>
"--------------------------------------------------
" インデント・タブ方針
"--------------------------------------------------
" 方針:
" ・基本はスペース2文字とする
" ・TABは使用しない(Makefileを除く)
" ・smartindent / cindent は使用しない
" 不可視文字を表示する【推奨】
set list
" TABと行末スペースを可視化する
set listchars=tab:»·,trail:·
" TABキー入力をスペースに変換する【推奨】
set expandtab
" 自動インデントの幅を2文字にする【推奨】
set shiftwidth=2
" TAB/BSキーで2文字分移動する【推奨】
set softtabstop=2
" TAB文字の表示幅を2文字にする【推奨】
set tabstop=2
"--------------------------------------------------
" Makefile例外設定
"--------------------------------------------------
" MakefileではTABを使用するようにする【推奨】
augroup makefile_tab
autocmd!
autocmd FileType make setlocal noexpandtab tabstop=8 shiftwidth=8 softtabstop=0
augroup END
"--------------------------------------------------
" vimrc自動再読み込み
"--------------------------------------------------
" vimrc保存時に自動で再読み込みする【推奨】
augroup source-vimrc
autocmd!
autocmd BufWritePost *vimrc source $MYVIMRC
augroup END
"--------------------------------------------------
" 自動コメント挿入の抑制
"--------------------------------------------------
" 改行時にコメントが自動継続しないようにする【推奨】
augroup auto_comment_off
autocmd!
autocmd BufEnter * setlocal formatoptions-=r
autocmd BufEnter * setlocal formatoptions-=o
augroup END
"--------------------------------------------------
" HTML / XML 閉じタグ補完
"--------------------------------------------------
" 閉じタグを自動補完できるようにする(任意)
augroup MyXML
autocmd!
autocmd Filetype xml inoremap <buffer> </ </<C-x><C-o>
autocmd Filetype html inoremap <buffer> </ </<C-x><C-o>
augroup END
"--------------------------------------------------
" 編集位置の記憶
"--------------------------------------------------
if has("autocmd")
augroup redhat
autocmd!
" テキストファイルの行幅を78文字に制限する(任意)
autocmd BufRead *.txt set tw=78
" 前回終了時のカーソル位置に移動する【推奨】
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal! g'\"" |
\ endif
augroup END
endif