欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > IC 脚本之VIM 记录

IC 脚本之VIM 记录

2024/11/30 10:30:20 来源:https://blog.csdn.net/qq_41496495/article/details/143731256  浏览:    关键词:IC 脚本之VIM 记录

1. 对于代码中空格与tab相互转换的可通过如下实现:

set tabstop = 4 
set expandtab   
%retab !   以上三行命令即可实现将代码中每四个空格用一个tab来缩进。set tabstop =4 
set noexpandtab 
%retab !   以上三行命令即可实现将代码中的每个tab用四个空格来实现tab相关参数
set shiftwidth=4 #换行自动变成空格
set autoindent   #设置自动缩进,当你在第一行敲击 tab + conten, 当回车第二行开始编辑器默认增加一个tab

2 使用vim 批处理文本 

setp1 : 创建一个包含所需执行vim 命令 集合的文本 test.scr
step2 : vim -es -S test.scr file1 file2  ; 这样便可以对test.scr中的命令对file1 file2 分别执行。
note: test.scr最后一行添加  :wq   保证运行结束后自动保持退出。 

3.vim 的autocmd命令

autocmd FileType makefile,tck,python  set noexpandtab # 对特定文件不展开tab
autocmd BufWritePre makefile :%s/\s*$//g<CR>    # 默认去除makefile最后空格。

4. 自定义快捷键

nmap jj <Esc>
inmap jj <Esc>
map <C-s> <Esc>:w<CR> # ctrl-s  save
imap <C-s> <Esc>:w<CR> # ctrl-s  save
imap <C-S>  <Esc>:w<CR> # ctrl-s  savemap <C-q> <Esc>:wq<CR>         # 退出
map <S-Tab> <Esc>:<<CR>        # 绘图tab
mpa <Tab>   <Esc>:s/^/\t/g<CR> # 增加tabmap <C-n> <Esc>:tabnew ./ <CR> # 新建
map <C-a> <Esc>ggvG    # 全选
map <C-m> <Esc>:et mouse=c<CR>
map <C-f> <Esc>/
map <C-y> <Esc>:tabf ./<CR> map <C-f> <Esc>/      # 寻找
map <C-r> <Esc>:%s/   #全局替换  
vmap <C-r> :s/        #部分替换

5. vim 正则

vim 元字符
\   元字符转义
^   字符串开始位置
$   字符串结束位置
*   0~∞ 次
.   任意一个字符
\{m,n} 次数匹配
\( \)  分组
\|     或
\?     0~1
\+     1~∞高阶用法:
\< \>单词左边界以及有边界
\{-1,}  非贪婪匹配

6. 命令

获取匹配字段的个数:
%s/pattern//gn  

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com