[工具使用:vim命令]实用命令记录

这篇博客介绍了Vim编辑器中的字符串处理、文件操作以及.vimrc配置方法。包括使用printf、submatch和str2nr进行字符串处理,通过sed命令进行关键字替换和删除,使用awk进行格式化输出,以及在Vim中读写文件和打开光标下文件。此外,还分享了.vimrc配置,如折叠和展开代码块、切换当前文件目录、自动删除末尾空格,以及NERDTree的设置。
摘要由CSDN通过智能技术生成

过程记录,持续更新...

字符串处理

1.使用printf,submatch,str2nr进行字符串处理

2.字符串替换(n1至n2行)

:n1,n2 s/old/new/g

3.关键字所在行替换

sed '/keyword/s/old/new/' infile > outfile

(删除关键字及后续n行: sed '/keyword/,nd' infile > outfile)

4.格式输出

指定分隔符输出某一列 awk -F 'separator' '{print $n}' infile 

5.捕获与替换

如:把某个sv文件中 $display替换为 `uvm_info

:%s/$display("\(.*\)").*;/`uvm info(get_type_name(), "\1", UVM_NONE)/g


文件操作

1.在当前文本中读入其他文本

:read xxx

Linux-vim(在命令行模式下读取另外一个文件指定行内容到当前文本光标处)_「已注销」的博客-CSDN博客_vi读取另外文件内容

2.写出当前文本中的指定内容

:w 'a, 'b xxx (mark当前操作文本内的内容 ma/mb/mx/m..)

3.打开光标下文件名对应的文件

gf


.vimrc一些配置

1.绑定空格, 进行折叠和展开 /*{{{*/, /*}}}*/块

nnoremap<space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>

2.进入到当前文件所在的目录

map<F6> :execute "cd" expand("%:h")<CR>

3.保存文件时,自动删除末尾空格

autocmd BufWritePre * :%s/\s\+$//e

4. NERDTree

"autocmd vimenter * NERDTree
let g:NERDTreeShowLineNumbers=1
let NERDTreeIgnore = ['\.swp', '\.swo']
map<C-L> :NERDTree<CR>

5. 数据类型转换
function! HexToDec()
  %s/\v(..)/\=printf('%08d', str2nr(submatch(1), 16))/g
endfunction

  "%s/\([0-9a-fA-F]\)/\=printf("%b", str2nr(submatch(0), 16))/g
function! HexToBin()
  "%s/\([0-9a-fA-F]\+\)/\=str2nr(submatch(0), 16) | printf("%b", .)/g
  %s/\([0-9a-fA-F][0-9a-fA-F]\)/\=printf("%b", str2nr(submatch(0), 16))/g
endfunction

6. tags

:set tags+=/path/to/project/subdirectory1/tags

:set tags+=/path/to/project/subdirectory2/tags

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值