.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
↑
このカーソル移動は個人的に勝手に設定してるやつです。気を付けて下さい。
ただ個人的には欠かせないほど慣れた設定です。