VIM
是一个非常小巧、功能强大的文本编辑器,我非常喜欢使用 VIM
配合正则来处理大文本信息!
现在有非常多优秀的编辑器,例如: sublime text
、 Notepad++
,但是如果你用这些编辑器来处理上万行的文本查找、替换…如果电脑配置稍微低一点点,那是分分钟崩溃的节奏!
将 VIM
打造成 IDE
一样强大,至少目前对我来说是不必要的,市面的 IDE
工具已经很强大、很多,而且实际工作中也很少会在漆黑的命令行下长时间编码!
综上:能精通 VIM
那固然是极好的,但熟悉 VIM
的使用是必须的!
VIM
和 VI
编辑器的配置文件名称是:vimrc
或 virc
。
一般来说:用户自定义的配置文件路径是: /home/<user>/.vimrc
,全局公共的配置文件路径是: /etc/.vim/vimrc
。
不同的操作系统或不同发行版的 Linux
系统可能配置文件的路径不一致,可以通过 vi
或 vim
命令进入 VI/VIM
的 GUI
界面,按 Esc
切换为普通模式,输入 :version
查看具体信息,可快速定位配置文件的路径(对应路径文件没有可自行创建),如下:
自定义配置文件
vimrc
配置文件通过英文状态的双引号"
进行注释
syntax on " 开启语法高亮
set shortmess=atI " 不显示援助乌干达儿童提示
set nu " 设置行号
set nocompatible " 关闭VI兼容模式
set cursorline "突出显示当前行
" highlight CursorLine guibg=lightblue ctermbg=lightgray " 修饰横线
set tabstop=4 " 设置指标符宽度
set softtabstop=4 " 设置软制表符宽度
set shiftwidth=4 " 设置缩进空格
set autoindent " 设置自动缩进
" set cursorcolumn " 设置光标所在列
set fenc=utf-8 " 设置默认编码
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
set history=100 " 设置history文件记录行数
set nobackup " 设置不需要备份文件
set noswapfile " 设置不需要临时交换文件
set nowritebackup " 设置编辑时不需要备份文件
set wildmenu " 增强模式中命令行自动完成操作
set ruler " 设置状态行显示当前光标位置
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)
set compatible " 关闭VI兼容模式
set background=dark "设置背景
" colorscheme molokai " 设置颜色主题
:set nu 开启行号
:set nonu 关闭行号
:syntax enable 高亮语法显示
:syntax clear 关闭高亮
Vim 常用命令
1. 批量替换
:2,31s/old/new/g " 从2-32行,批量替换old为new信息
:%s/old/new/g " 全文替换
:3,2138920s/ \(WHERE `id` = \d\{1,\},\)\(.*\));/\2\1;/g 利用正则进行替换
# 案例:替换90w+数据
:1,909149s/INSERT INTO `<table_name>`(`id`, `dealer_logo`) VALUES (\(\d\{1,}\), \(.*\)easyrentcars\(.*\))/UPDATE `zuzuche_world_db`.`seo_one_way_car_price` SET `dealer_logo` = \2qeeq\3 WHERE
`id` = \1/g
2. 批量注释
" 所有行首插入注释符号 #
:1,$s/^/#/g
" 去除所有注释符号
:1,$s/^#*//g
3. 批量删除
:2,31 d " 删除2-31 行
" 普通模式
dd " 删除光标到下一行起始处(不保留当前行)
d^ " 删除光标到行首
d$ " 删除光标到行末尾(保留当前行为空行)
dw " 删除光标到下一个单词起始处
de " 删除光标到当前单词末尾
x " 删除当前光标所在字符
4. 快速查找
/xxx " 全局查找xxx[n--自上而下寻找;N--自下而上寻找]
5. 批量在每行行首添加内容
:%s/^/要添加的内容
# 指定行首批量添加内容
:4,18s/^/要添加的内容
6. 批量在每行行尾添加相同的内容
:%s/$/要添加的内容
7. 批量删除每行开头的行号
:%s/^\s*[0-9]*\s*//gc
8. 批量删除奇数行/偶数行
# 删除奇数行
%normal jkdd
# 删除偶数行
%normal jdd
9. 其余常用命令
" 普通模式下
u " 撤销操作
CTRL-R " 反撤销
CTRL-G " 查看文件信息