Skip to content

Instantly share code, notes, and snippets.

@SimZhou
Last active May 25, 2022 14:46
Show Gist options
  • Save SimZhou/cb5da9852f27c188bb245bed0e8035c3 to your computer and use it in GitHub Desktop.
Save SimZhou/cb5da9852f27c188bb245bed0e8035c3 to your computer and use it in GitHub Desktop.
My .vimrc
set number " 显示行号
set hlsearch " 高亮搜索
set incsearch " 输入立即开始搜索
syntax enable
filetype on
filetype plugin indent on
set t_Co=256 " 256色
set encoding=utf-8 " 命令行显示的编码
set fileencodings=utf-8,gb18030,gb2312,gbk,ucs-bom,cp936 " 打开文件的编码
set autowrite " 自动保存
set autoindent " 自动缩进
set cindent " 自动判断缩进数量
set tabstop=4 " 设置tab对应的space数量
set softtabstop=4 " 设置编辑模式下tab对应的space数量
set shiftwidth=4
set ignorecase
set smartcase
set ruler " 打开状态栏标尺
"set cursorline " 突出显示当前行
set magic " 设置魔术
set guioptions-=T " 隐藏工具栏
set guioptions-=m " 隐藏菜单栏
set ts=4
"Monokai
colorscheme monokai " https://github.com/sickill/vim-monokai
"Powerline
set laststatus=2
if has("autocmd")
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
" Commenting blocks of code. Use ,cc to comment. Use ,cu to uncomment.
augroup commenting_blocks_of_code
autocmd!
autocmd FileType c,cpp,java,scala let b:comment_leader = '// '
autocmd FileType sh,ruby,python let b:comment_leader = '# '
autocmd FileType conf,fstab let b:comment_leader = '# '
autocmd FileType tex let b:comment_leader = '% '
autocmd FileType mail let b:comment_leader = '> '
autocmd FileType vim let b:comment_leader = '" '
augroup END
noremap <silent> ,cc :<C-B>silent <C-E>s/^/<C-R>=escape(b:comment_leader,'\/')<CR>/<CR>:nohlsearch<CR>
noremap <silent> ,cu :<C-B>silent <C-E>s/^\V<C-R>=escape(b:comment_leader,'\/')<CR>//e<CR>:nohlsearch<CR>
" Move Line Up/Down
nnoremap <silent> <c-s-up> :m -2<CR>
nnoremap <silent> <c-s-down> :m +1<CR>
vnoremap <silent> <c-s-up> :m -2<CR>gv
vnoremap <silent> <c-s-down> :m +2<CR>gv
inoremap <silent> <c-s-up> <esc>:m -2<CR>i
inoremap <silent> <c-s-down> <esc>:m +1<CR>i
" Copy Line Up/Down
nnoremap <silent> <c-s-a-up> :t-1<CR>
nnoremap <silent> <c-s-a-down> :t.<CR>
inoremap <silent> <c-s-a-up> <esc>:t-1<CR>i
inoremap <silent> <c-s-a-down> <esc>:t.<CR>i
" Paste Mode Toggle, see: https://dev.to/moopet/comment/p79k
inoremap <F9> <esc>:set paste!<cr>i
nnoremap <F9> :set paste!<cr>
" Map F8 to Toggle Wrap-Lines
noremap <F8> :set wrap!<cr>
" Powerline Support for Vim
"python3 import sys; sys.path.append("/home/yihuazhou/.local/lib/python3.9/site-packages")
"python3 from powerline.vim import setup as powerline_setup
"python3 powerline_setup()
"python3 del powerline_setup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment