0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

新サーバに毎回入れる.inputrc, /admin/.bashrc, /etc/vimrc

Last updated at Posted at 2025-02-14

.inputrc

/etc/.inputrc
set completion-ignore-case on

TAB: menu-complete

rootだと再ログインで反映されるけど、adminではされない。
chown admin:admin .inputrc
/home/admin/.inputrcにもコピペしよう。

.bashrc

/etc/bashrcというファイルで設定したらrootやadminなどに一括設定出来た気がするけど、最初から考え無しにここを触ると、ミスると全ユーザーでログイン出来なくなるので注意(1敗)

普通に/admin/.bashrcとかで設定した方が良さそう(あたりまえ体操)

/home/admin/.bashrc

/home/admin/.bashrc
# .bashrc

# Source global definitions
# 最初からあるやつ。グローバル設定ファイルを読み込む
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# +++++ 表示の編集 +++++
# \h ホスト名(最初の.まで)
# \H ホスト名
# \t 時間(24時間形式)
# \u ユーザー名
# \w 現在のディレクトリ(フルパス)
# \W 現在のディレクトリ
PS1="[\u@\h \w]\$ "

# hisotryの設定
HISTSIZE=50000
HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S '
export HISTCONTROL=ignoredups
function share_history {
        history -a
        history -c
        history -r
}
PROMPT_COMMAND='share_history'
shopt -u histappend
export HISTSIZE=50000

# Quick Access
alias cdw='cd /var/www/'
alias cdror='cd /var/www/Rails'
alias cda='cd /home/admin/'
alias cdgit='cd /opt/git'

# Mato Settings
alias vm='vim'

alias lls='ls -1'
# alias ls='ls -l'
alias la='ls -larth'

alias relogin='exec $SHELL -l'

alias cls='clear'
alias cdu='cd ../'
alias cduu='cd ../../'
alias cduuu='cd ../../../'

alias gitdif='git diff --name-only'
alias gitdiff='git diff --name-only'
alias gitcomam='git commit --amend'
alias gitcom='git commit --amend'
alias gitlog="git log --oneline --pretty=format:'%h [%cd] %d %s %n' --date=format:'%Y-%m-%d %H:%M:%S'"

alias ff='fg 1'

alias type='cat'

alias delete='rm -ir'
alias delete_NO_ALERT='rm -fr'

alias r="ruby"
alias ru="ruby"
alias rb="ruby"

alias py="python"
alias py3="python3.6"

alias vmcron="vim /var/spool/cron/admin"
alias catcron="cat /var/spool/cron/admin"

alias search="find -name"

alias duu='du -sh -BM * | sort -rn'
alias dff='df -h'

# Rails
alias run="rails runner"
alias vmad="vim app/admin/"

/root/.bashrc

だいたい上と一緒だけどrootならではの設定

/root/.bashrc
# root
alias sys="systemctl"
alias sysdr="systemctl daemon-reload"
alias systatus="systemctl status"
alias systop="systemctl stop"
alias sysrestart="systemctl restart"
alias cdsys="cd /etc/systemd/system"
alias vmhttpd="vim /etc/httpd/conf/httpd.conf"
alias cdprometheus="cd /usr/local/src/prometheus"
alias psruby="ps -aux | grep ruby"

# FireWall
alias fc="firewall-cmd"
alias fcr="firewall-cmd --reload"
alias fclist="firewall-cmd --list-all"
alias fca="firewall-cmd --list-all"
alias vmfw="vim /etc/firewalld/zones/public.xml"

# CRON
# alias vmcron="crontab -e"
alias vmcron="vim /var/spool/cron/root"
alias catcron="crontab -l"
alias cronlog="vm /var/log/cron"

正直使ってないのも結構あって草

/etc/vimrc

もう10年近くほぼ触ってないかも。
と言いながら時々触ってるかも?

/etc/vimrc
" 文字コード
set encoding=utf-8
set fileencoding=utf-8

" スワップファイルを1ヶ所に集めて消しやすくする
""set directory=/home/matonaka/www/swap

"
" 場合分けによる文字エンコーディング設定は長すぎるので削除
" 欲しくなったら矢野さんサイト
"

"----------------------------------------------------
" 基本的な設定
"----------------------------------------------------
" viとの互換性をとらない(vimの独自拡張機能を使う為)
set nocompatible
" 改行コードの自動認識
set fileformats=unix,dos,mac
" ビープ音を鳴らさない
set vb t_vb=
" バックスペースキーで削除できるものを指定
" indent  : 行頭の空白
" eol     : 改行
" start   : 挿入モード開始位置より手前の文字
set backspace=indent,eol,start

"----------------------------------------------------
" バックアップ関係
"----------------------------------------------------
" バックアップをとらない
set nobackup
" ファイルの上書きの前にバックアップを作る
" (ただし、backup がオンでない限り、バックアップは上書きに成功した後削除される)
set writebackup
" バックアップをとる場合
"set backup
" バックアップファイルを作るディレクトリ
"set backupdir=~/backup
" スワップファイルを作るディレクトリ
"set directory=~/swap

"----------------------------------------------------
" 検索関係
"----------------------------------------------------
" コマンド、検索パターンを100個まで履歴に残す
set history=100
" 検索の時に大文字小文字を区別しない
set ignorecase
" 検索の時に大文字が含まれている場合は区別して検索する
"set smartcase
" 最後まで検索したら先頭に戻る
set wrapscan
" インクリメンタルサーチを使わない
set noincsearch

" TAB補完で大文字小文字を区別しない
set ignorecase

"----------------------------------------------------
" 表示関係
"----------------------------------------------------

" タイトルをウインドウ枠に表示する
" set title
" 行番号を表示
set number
" ルーラーを表示
set ruler
" タブ文字を CTRL-I で表示し、行末に $ で表示する
"set list
" 入力中のコマンドをステータスに表示する
set showcmd
" ステータスラインを常に表示
set laststatus=2
" 括弧入力時の対応する括弧を表示
set showmatch
" 対応する括弧の表示時間を2にする
" set matchtime=2
" シンタックスハイライトを有効にする
syntax on
" 検索結果文字列のハイライトを有効にする
set hlsearch
" コメント文の色を変更
""highlight Comment ctermfg=DarkCyan
" コマンドライン補完を拡張モードにする
set wildmenu

" 入力されているテキストの最大幅
" (行がそれより長くなると、この幅を超えないように空白の後で改行される)を無効にする
set textwidth=0
" ウィンドウの幅より長い行は折り返して、次の行に続けて表示する
set wrap

" 全角スペースの表示
highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=darkgray

" Errorが出るのでコメントアウト
"match ZenkakuSpace / /

" ステータスラインに表示する情報の指定
set statusline=%n\:%y%F\ \|%{(&fenc!=''?&fenc:&enc).'\|'.&ff.'\|'}%m%r%=<%l/%L:%p%%>
" ステータスラインの色
highlight StatusLine   term=NONE cterm=NONE ctermfg=black ctermbg=white

" 文字補完部分の色
hi Pmenu ctermbg=cyan
hi PmenuSel ctermbg=yellow
""hi PmenuSbar ctermbg=white

"----------------------------------------------------
" インデント
"----------------------------------------------------
" オートインデントを無効にする
"set noautoindent
" タブが対応する空白の数
set tabstop=4
" タブやバックスペースの使用等の編集操作をするときに、タブが対応する空白の数
set softtabstop=4
" インデントの各段階に使われる空白の数
set shiftwidth=4
" タブを挿入するとき、代わりに空白を使わない
set noexpandtab

"----------------------------------------------------
" オートコマンド
"----------------------------------------------------
"if has("autocmd")
    " ファイルタイプ別インデント、プラグインを有効にする
"    filetype plugin indent on
    " カーソル位置を記憶する
"    autocmd BufReadPost *
"        \ if line("'\"") > 0 && line("'\"") <= line("$") |
"        \   exe "normal g`\"" |
"        \ endif
"endif

"----------------------------------------------------
" その他
"----------------------------------------------------
" バッファを切替えてもundoの効力を失わない
set hidden
" 起動時のメッセージを表示しない
set shortmess+=I
" 横線の表示
""set cursorline
" 縦線の表示
"set cursorcolumn




"***** MATO Setting *****"

" 現在行の番号を分かりやすく
set cursorline
hi clear CursorLine
autocmd ColorScheme * highlight LineNr ctermfg=239
autocmd ColorScheme * highlight CursorLineNr ctermfg=blue

" カラースキーマ
colorscheme default
set t_Co=256


" これで黒背景だということを指定、読まれる色設定が変わる
"set bg=dark

" コメント改行を引き継がせない
auto FileType * setlocal formatoptions-=ro

" タブ分割した際の色
hi TabLineSel  term=bold cterm=bold,underline ctermfg=LightGray ctermbg=DarkBlue gui=bold,underline guifg=LightGray guibg=DarkBlue
hi TabLine term=reverse cterm=underline ctermfg=Black ctermfg=Gray ctermbg=black gui=underline guifg=Black guibg=gray
hi TabLineFill term=reverse cterm=reverse,bold ctermfg=LightGray ctermbg=black gui=reverse,bold guifg=LightGray guibg=black

" 辞書機能 -> 変な動きする……
"inoremap <C-m> <Nop>
"inoremap <C-m> <C-x><C-k>
"au FileType php :set dictionary=~/.vim/dict/php.dict
" set dictionary=~/.vim/dict/php.dict


" CURSOL
let &t_SI .= "\e[3 q"
let &t_EI .= "\e[1 q"

" カーソルを点滅させない
set guicursor=a:blinkon0

" オートインデントを有効にする
set autoindent
set smartindent " これやらないと効かなかった!

" 記録するコマンド数
set history=1000

" ファイルを開く時にリスト表示
set wildmenu wildmode=list:full

" カッコの自動補完
inoremap { {  }<Left><Left>
"inoremap { {}<Left>
inoremap ( ()<Left>
inoremap [ []<Left>
inoremap < <><Left>
inoremap ' ''<Left>
inoremap " ""<Left>
inoremap ` ``<Left>
inoremap <% <%  %><Left><Left><Left>
inoremap <R <%=  %><Left><Left><Left>
inoremap <U <%  %><Left><Left><Left>
inoremap <Bar> <Bar><Bar><Left>

" 試行錯誤した結果のカッコ内改行 (<CR> だけなぜか1文字ずれる
" 環境変わるたびに微調整しないとダメかも
inoremap {<CR> {<CR>}<Esc><S-o>
inoremap (<CR> (<CR>)<Esc><S-o><TAB>
inoremap [<CR> [<CR>]<Esc><S-o><TAB>
inoremap <<CR> <<CR>><Esc><S-o><TAB>

" 中に文字がいらない時も当然ある
inoremap "" ""
inoremap '' ''
inoremap () ()
inoremap [] []
inoremap {} {}
inoremap <> <>
inoremap `` ``

" PHPのアロー演算子
inoremap -^ ->
inoremap =~ =>

" Ruby
inoremap do<CR> do<CR>end<Esc><Up>o
inoremap def<space> def<CR>end<Esc><Up>A<space>

"HTML&CSSのコメント
inoremap <!- <!--  --><Left><Left><Left><Left>
inoremap <!! <!--  --><Left><Left><Left><Left>
inoremap <C <!--  --><Left><Left><Left><Left>
inoremap /* /*  */<Left><Left><Left>
inoremap /*<CR> /*<Esc>o*/<Esc><Up>o<TAB>
inoremap <S /*  */<Left><Left><Left>

" ノーマルモードへの帰還。ついでに保存
inoremap jj <Esc>:<C-u>w<CR>

" 辞書補完機能<C-x><C-k>
inoremap <C-x><C-x> <C-x><C-k>

" ファイルタイプごとに辞書ファイル参照
au FileType ruby :set dict=~/.vim/dict/ruby.dict
au FileType slim :set dict=~/.vim/dict/ruby.dict


" undo & redo, Ctrl+r じゃなくてただのrでredoする
nnoremap r <C-r>

" daw : delete a word カーソル位置の単語を削除(神)
nnoremap da daw
nnoremap ca caw

" カーソル位置の「単語」を大文字小文字を逆に
nnoremap gau g~aw
" カーソル位置の「文字」を大文字小文字を逆に(giは使われてた)
""nnoremap giu ~

" 行内での先頭、末尾までの削除
nnoremap dh d0
nnoremap dl d$

" 行内での先頭、末尾までをコピー(ヤンク)(yh,ylは打ちにくいのでch,clでも)
nnoremap yh y0
nnoremap yl y$
nnoremap ch y0
nnoremap cl y$

" <br>を多用するので登録してみる
" (インデント修正アリナシどっちがいいのか分かんない)
nnoremap <B A<br><Esc>==

" TAB分割
" sなんとかだと操作しやすいらしいので、sだけを無効化->登録
nnoremap s <Nop>
" 新しいTAB、次TAB、前TAB
nnoremap st :<C-u>tabnew<CR>
nnoremap sl gt
nnoremap sh gT
nnoremap sn gt
nnoremap sp gT

" タブの並び替え
nnoremap tl :tabm +1<CR>
nnoremap th :tabm -1<CR>

" 画面内移動するのに覚えやすいように登録
nnoremap <C-j> <C-d>
nnoremap <C-k> <C-u>
nnoremap <S-j> <C-f>
nnoremap <S-k> <C-b>
nnoremap <C-h> ^
nnoremap <C-l> $

" 検索した後のハイライトを消すやつ
nnoremap <Esc><Esc> :nohlsearch<CR>

" xでの削除でヤンクが上書きされないように
noremap PP "0p
noremap x "_x

" 超多用するyypを短く
noremap yp yyp
noremap yyp yyp

" コピペした時に閉じタグにする。HTMLタグ想定
noremap ytp yypI<Right>/<Esc><Up>o<Esc>dit

" コメント // を入力モード入らず加えたい
noremap cm I// <Esc>
noremap cn I# <Esc>

noremap cii ci'
noremap cio ci"

noremap dii di'
noremap dio di"

noremap yii yi'
noremap yio yi"


" 末尾に ; セミコロンを入力モード入らず加えたい
noremap sm A;<Esc>

" 末尾に , カンマ
noremap sk A,<Esc>

" TAB挿入
noremap <C-t> i<TAB><Esc>


" 閉じタグ補完
""augroup MyXML
        ""autocmd!
        ""autocmd Filetype xml inoremap <buffer> </ </<C-x><C-o>
        ""autocmd Filetype xml inoremap <buffer> << </<C-x><C-o>
        ""autocmd Filetype html inoremap <buffer> </ </<C-x><C-o>
        ""autocmd Filetype html inoremap <buffer> << </<C-x><C-o>
        ""autocmd Filetype ctp inoremap <buffer> </ </<C-x><C-o>
        ""autocmd Filetype ctp inoremap <buffer> << </<C-x><C-o>
        ""autocmd Filetype eruby inoremap <buffer> </ </<C-x><C-o>
        ""autocmd Filetype eruby inoremap <buffer> << </<C-x><C-o>
""augroup END

" カッコ内のインデント
""function! IndentBraces()
""      let nowletter = getline(".")[col(".")-1]
""      let beforeletter = getline(".")[col(".")-2]
""
""      if nowletter == "}" && beforeletter == "{}"
""              return "\n\t\n<UP>\<RIGHT>"
""      else
""              return "\n"
""      endif
""endfunction
""inoremap <silent> <expr> <CR> IndentBraces()

" HTMLの閉じタグを補完生成して、なおかつ入力モードにする
nnoremap tag yypa/<Esc>cit
nnoremap tt yypa/<Esc>cit

" コピペする際に多用するので短く
command SP :set paste
command SNP :set nopaste
command NBI :NeoBundleInstall

" 開いているファイルのパス 
command PWD :echo expand("%:p")

" 謎の修正
syntax on
"hi Comment ctermfg=darkcyan
hi Comment ctermfg=lightyellow

" カーソルを前回位置に
augroup vimrcEx
  au BufRead * if line("'\"") > 0 && line("'\"") <= line("$") |
  \ exe "normal g`\"" | endif
augroup END

" undo履歴を残す
if has('persistent_undo')
        set undodir=~/.vimundo
        set undofile
endif

" RubyのTABを2スペースにする
filetype plugin on

" ファイルタイプごとの設定
augroup fileTypeIndent
        autocmd!
        autocmd BufNewFile,BufRead *.py setlocal tabstop=4 softtabstop=4 shiftwidth=4
        autocmd BufNewFile,BufRead *.rb setlocal tabstop=2 softtabstop=2 shiftwidth=2
        autocmd BufNewFile,BufRead *.erb setlocal tabstop=2 softtabstop=2 shiftwidth=2
augroup END

filetype plugin indent on

" surround.vim 導入
" vでの選択後、S<div>で囲む
" dst 削除
" cst<span> 変更


" Plugin

NeoBundleってなんかあったなぁ……。

試したけど全然分からなくて何も使ってない気がします。Ctrl+nでの入力済みキーワード補完とかもデフォルトであるはずだし。

Vimは『実践Vim 思考のスピードで編集しよう!』を1回試すのが何より良いと思います。

Ctrl + h,j,k,l

このカーソル移動は個人的に勝手に設定してるやつです。気を付けて下さい。

ただ個人的には欠かせないほど慣れた設定です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?