digraph-table
vim 编辑二进制文件时,会看到类似 ^A
, ^@
, ^P
等字符,这些是不可见字符,完整的对应关系可查看 digraph-table
部分常见如下:
char digraph hex dec official name
^@ NU 0x00 0 NULL (NUL)
^A SH 0x01 1 START OF HEADING (SOH)
^B SX 0x02 2 START OF TEXT (STX)
^C EX 0x03 3 END OF TEXT (ETX)
^D ET 0x04 4 END OF TRANSMISSION (EOT)
^E EQ 0x05 5 ENQUIRY (ENQ)
^F AK 0x06 6 ACKNOWLEDGE (ACK)
^G BL 0x07 7 BELL (BEL)
^H BS 0x08 8 BACKSPACE (BS)
^I HT 0x09 9 CHARACTER TABULATION (HT)
^@ LF 0x0a 10 LINE FEED (LF)
^K VT 0x0b 11 LINE TABULATION (VT)
^L FF 0x0c 12 FORM FEED (FF)
^M CR 0x0d 13 CARRIAGE RETURN (CR)
^N SO 0x0e 14 SHIFT OUT (SO)
^O SI 0x0f 15 SHIFT IN (SI)
^P DL 0x10 16 DATALINK ESCAPE (DLE)
^Q D1 0x11 17 DEVICE CONTROL ONE (DC1)
^R D2 0x12 18 DEVICE CONTROL TWO (DC2)
^S D3 0x13 19 DEVICE CONTROL THREE (DC3)
^T D4 0x14 20 DEVICE CONTROL FOUR (DC4)
^U NK 0x15 21 NEGATIVE ACKNOWLEDGE (NAK)
^V SY 0x16 22 SYNCHRONOUS IDLE (SYN)
^W EB 0x17 23 END OF TRANSMISSION BLOCK (ETB)
^X CN 0x18 24 CANCEL (CAN)
^Y EM 0x19 25 END OF MEDIUM (EM)
^Z SB 0x1a 26 SUBSTITUTE (SUB)
^[ EC 0x1b 27 ESCAPE (ESC)
^\ FS 0x1c 28 FILE SEPARATOR (IS4)
^] GS 0x1d 29 GROUP SEPARATOR (IS3)
^^ RS 0x1e 30 RECORD SEPARATOR (IS2)
^_ US 0x1f 31 UNIT SEPARATOR (IS1)
plugin
# 下载
curl -fsSL https://www.vim.org/scripts/download_script.php?src_id=14498 -o AnsiEsc.vba.gz
wget -o AnsiEsc.vba.gz https://www.vim.org/scripts/download_script.php?src_id=14498
# 安装, 安装后,会将该 Vimball 中文件解压到相应目录。
vim AnsiEsc.vba.gz
:so %
:q
tree ~/.vim
ll ~/.vim/autoload/AnsiEsc.vim
ll ~/.vim/doc/AnsiEsc.txt
ll ~/.vim/plugin/AnsiEscPlugin.vim
# 使用
ls -l --color=always / > /tmp/colored.txt
vi /tmp/colored.txt
:AnsiEsc
vim-plug
# 先确保 vim 版本 >= 8.0
vim --version
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
vi ~/.vimrc
call plug#begin()
# Plug 'junegunn/seoul256.vim'
call plug#end()
#mkdir -p ~/.vim/pack/vendor/start
修改vim配置文件
修改用户级别的 需要修改 ~/.vimrc
。修改全局的,
需要修改 /etc/vimrc
, 或者 /etc/vim/vimrc
, 或者 /etc/vim/vimrc.local
(可以通过 :version
看到)
set syntax=on " 开启:语法着色
colors desert " 设置着色主题
set autoread " 开启:文件被更新时自动载入
" set nobackup " 关闭:创建备份文件
set nocompatible " 不使用 vi 的键盘模式,而是使用 vim 的
set number " 开启:显示行号
"set noeb " 关闭:输入错误进行响铃提示
set ruler " 开启:显示标尺
set showcmd " 开启:显示输入的命令
set cursorline " 开启:高亮显示当前行
" set magic
set fileencodings=utf-8,gbk " 设置文件编码尝试顺序
set expandtab " 开启:用空格代替制表符
" set noexpandtab " 关闭:用空格代替制表符
set tabstop=4 " 设置tab缩进的宽度
set shiftwidth=4 " 固定缩进的宽度
set softtabstop=4 " 固定缩进的宽度
set fileformats=unix
set hlsearch " 高亮显示查找结果
set formatoptions-=cro
" set autoindent " 开启:自动缩进
set noautoindent " 关闭:自动缩进
" set smartindent " 开启:智能对齐
set nosmartindent " 关闭:智能对齐
set showmatch " 高亮显示匹配的括号
set matchtime=1 " 匹配括号高亮的时间(单位是十分之一秒)
set paste " 开启:粘贴模式
"set nopaste " 关闭:粘贴模式
set mouse=i " 开启:鼠标模式, 查看说明使用命令 `:help mouse`
" "" : 默认(即关闭模式)
" "n" : Normal mode and Terminal modes, 不建议,否则只能光标点击确认位置,无法光标选择文本。
" "v" : Visual mode
" "i" : Insert mode # 推荐
" "c" : Command-line mode
" "h" : all previous modes when editing a help file
" "a" : all previous modes
" "r" : for hit-enter and more-prompt prompt
"set mouse= " 关闭:鼠标模式
set wrap " 开启:换行
"set nowrap " 关闭:换行
set list " 开启:显示制表符
" comment here
主题/colorschema
ls /usr/share/vim/vim91/colors/*.vim
# vim 9.1 包含以下: (目录 vim91 是后两个数字代表其版本号)
# blue darkblue default delek desert elflord evening habamax industry koehler lunaperche morning murphy pablo peachpuff quiet retrobox ron shine slate sorbet torte unokai wildcharm zaibatsu zellner
:colorscheme xxx # 可以tab键显示候选值。