我的 VIM 小记

VIM 是一个非常小巧、功能强大的文本编辑器,我非常喜欢使用 VIM 配合正则来处理大文本信息!

现在有非常多优秀的编辑器,例如: sublime textNotepad++ ,但是如果你用这些编辑器来处理上万行的文本查找、替换…如果电脑配置稍微低一点点,那是分分钟崩溃的节奏!

VIM 打造成 IDE 一样强大,至少目前对我来说是不必要的,市面的 IDE 工具已经很强大、很多,而且实际工作中也很少会在漆黑的命令行下长时间编码!

综上:能精通 VIM 那固然是极好的,但熟悉 VIM 的使用是必须的!

VIMVI 编辑器的配置文件名称是:vimrcvirc。 一般来说:用户自定义的配置文件路径是: /home/<user>/.vimrc ,全局公共的配置文件路径是: /etc/.vim/vimrc

不同的操作系统或不同发行版的 Linux 系统可能配置文件的路径不一致,可以通过 vivim 命令进入 VI/VIMGUI 界面,按 Esc 切换为普通模式,输入 :version 查看具体信息,可快速定位配置文件的路径(对应路径文件没有可自行创建),如下:

how-to-find-vimrc

自定义配置文件

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 " 查看文件信息

转载请声明出处: MinsonLee的博客:https://minsonlee.github.io

扫描下方二维码,关注公众号,接收更多实时内容

新猿呓码

打赏一个呗

取消

感谢客官打赏,您的打赏使我动力十足!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦