Vim

vimrc:

" 设置 leader 为空格键
let mapleader = " "

" 设置 UFT-8 编码
set enc=utf-8
set fenc=utf-8
set termencoding=utf-8

" 关闭 vi 兼容
set nocompatible

" 显示相对行号
set number
set relativenumber

" 启用语法高亮
set t_Co=256
syntax on

" 高亮当前行和当前列
"set cursorline
"set cursorcolumn
"highlight CursorLine ctermbg=darkgray guibg=lightgray
"highlight CursorColumn ctermbg=darkgray guibg=lightgray

" 自动缩进
set autoindent
set smartindent

" 设置合适的缩进宽度
set tabstop=2        " 设置 Tab 键宽度为 2
set shiftwidth=2     " 设置缩进宽度为 2
set expandtab        " 用空格替代Tab

" 开启行内搜索时的高亮
set hlsearch

" 关闭错误的响铃提示
set noerrorbells

" 搜索时逐字符匹配
set incsearch
set ignorecase       " 搜索忽略大小写
set smartcase        " 如果包含大写字符,则区分大小写

" 设置颜色主题
set background=dark
colorscheme default

" 显示匹配的括号
set showmatch

" 开启剪切板支持
set clipboard=unnamedplus

" 设置取消回滚时最大操作数
set undolevels=1000

" 鼠标支持
set mouse=a

" 快速保存和退出命令
nnoremap <leader>w :w<CR>       " 用 \w 快速保存
nnoremap <leader>q :q<CR>       " 用 \q 快速退出

" 复制当前 buffer
nmap <leader>y ggVGy
"nmap <leader>y ggVG"+y''

" {} 括号补全
inoremap {<CR> {<CR>}<ESC>O

" 使用 x 删除时不自动复制
nnoremap x "_x
nnoremap X "_X
vnoremap x "_x
vnoremap X "_X

" 关闭搜索高亮
nnoremap <leader>l :noh<cr>

" 行内移动
nnoremap H ^
nnoremap L g_
vnoremap H ^
vnoremap L g_

常用操作:

" 在下方打开一个终端
:belowright terminal
# bash 指令

# X 下交换 esc 和 capslock,防止队友写代码
setxkbmap -option "caps:swapescape"