"################### Magic vimrc ###################
" ctrl+n Enable/disable mouse
" ctrl+b Switch to text/binary
" ctrl+j To utf-8 file
" ctrl+t Convert tab to spaces
" ctrl+l Toggle line breaking
" ctrl+f Switch to full/simple
"#######################################################
set nocompatible
"#######################################################
syntax enable
set number
set noruler
set ignorecase
set smartcase
set incsearch
set cindent
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
set smarttab
set confirm
set backspace=indent,eol,start
set history=500
set showcmd
set showmode
set nowrap
set autowrite
set mouse=a
"#######################################################
" Color
set t_Co=256
colo torte
set cursorline
set cursorcolumn
set hlsearch
hi CursorLine cterm=none ctermbg=DarkMagenta ctermfg=White
hi CursorColumn cterm=none ctermbg=DarkMagenta ctermfg=White
hi Search cterm=reverse ctermbg=none ctermfg=none
"#######################################################
" statusline
set laststatus=2
set statusline=%#filepath#[%{expand('%:p')}]%#filetype#[%{strlen(&fenc)?&fenc:&enc},\ %{&ff},\ %{strlen(&filetype)?&filetype:'plain'}]%#filesize#%{FileSize()}%{IsBinary()}%=%#position#%c,%l/%L\ [%3p%%]
hi filepath cterm=none ctermbg=238 ctermfg=40
hi filetype cterm=none ctermbg=238 ctermfg=45
hi filesize cterm=none ctermbg=238 ctermfg=225
hi position cterm=none ctermbg=238 ctermfg=228
function IsBinary()
if (&binary == 0)
return ""
else
return "[Binary]"
endif
endfunction
function FileSize()
let bytes = getfsize(expand("%:p"))
if bytes <= 0
return "[Empty]"
endif
if bytes < 1024
return "[" . bytes . "B]"
elseif bytes < 1048576
return "[" . (bytes / 1024) . "KB]"
else
return "[" . (bytes / 1048576) . "MB]"
endif
endfunction
"#######################################################
" encode
if has("multi_byte")
set fileencodings=utf-8,utf-16,big5,gb2312,gbk,gb18030,euc-jp,euc-kr,latin1
else
echoerr "If +multi_byte is not included, you should compile Vim with big features."
endif
"#######################################################
" shortcut
" Toggle mouse
map :call SwitchMouseMode()
map! :call SwitchMouseMode()
function SwitchMouseMode()
if (&mouse == "a")
let &mouse = ""
echo "Mouse is disabled."
else
let &mouse = "a"
echo "Mouse is enabled."
endif
endfunction
" Toggle text/binary
map :call SwitchTextBinaryMode()
map! :call SwitchTextBinaryMode()
function SwitchTextBinaryMode()
if (&binary == 0)
set binary
set noeol
echo "Switch to binary mode."
else
set nobinary
set eol
echo "Switch to text mode."
endif
endfunction
" To utf-8 file
map :call ToUTF8()
map! :call ToUTF8()
function ToUTF8()
if (&fileencoding == "utf-8")
echo "It is already UTF-8."
else
let &fileencoding="utf-8"
echo "Convert to UTF-8."
endif
let &ff="unix"
endfunction
" Convert tab to spaces
map :call TabToSpaces()
map! :call TabToSpaces()
function TabToSpaces()
retab
echo "Convert tab to spaces."
endfunction
" Toggle line breaking
map :call SwitchLineBreakingMode()
map! :call SwitchLineBreakingMode()
function SwitchLineBreakingMode()
if (&wrap == 0)
set wrap
echo "Switch to line breaking mode."
else
set nowrap
echo "Switch to one line mode."
endif
endfunction
" Switch to full/simple
map :call SwitchFullSimpleMode()
map! :call SwitchFullSimpleMode()
function SwitchFullSimpleMode()
if (&mouse == "a")
let &mouse = ""
set nocindent
set nonumber
set wrap
echo "Switch to simple mode.(nomouse, nonumber, nocindent, wrap)"
else
let &mouse = "a"
set cindent
set number
set nowrap
echo "Switch to full mode.(mouse, number, cindent, nowrap)"
endif
endfunction
[Up]常用資訊
[重點文章] 重點文章 [重點文章] 重點文章
2020年4月6日 星期一
[Debian] 參考 別人的 vimrc
[Debian] 參考 別人的 vimrc
https://magiclen.org/vimrc/
訂閱:
張貼留言 (Atom)
-
[SHELL] grep 指令使用 or 及 and 查兩個條件以上
-
[Debian] Zabbix 5.0 安裝 中文化
沒有留言:
張貼留言