ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [20220316]完善vim gdb.vim插件.txt

[20220316]完善vim gdb.vim插件.txt

原创 Linux操作系统 作者:lfree 时间:2022-03-17 08:56:51 0 删除 编辑

[20220316]完善vim gdb.vim插件.txt

--//上午使用发现一个小问题,二进制时前面没有0b,补上。
29 = 11101

# cat gdb.vim
"" gdb Low version for linux
""noremap <Leader>px Yp!!sed -e 's+^+p /x +'  >\| /tmp/gdb.txt && gdb -q  -x /tmp/gdb.txt \| awk 'NR==1{print $NF}'<CR>kA = <ESC>J
""noremap <Leader>pd Yp!!sed -e 's+^+p /d +'  >\| /tmp/gdb.txt && gdb -q  -x /tmp/gdb.txt \| awk 'NR==1{print $NF}'<CR>kA = <ESC>J
""noremap <Leader>po Yp!!sed -e 's+^+p /o +'  >\| /tmp/gdb.txt && gdb -q  -x /tmp/gdb.txt \| awk 'NR==1{print $NF}'<CR>kA = <ESC>J
""noremap <Leader>pt Yp!!sed -e 's+^+p /t +'  >\| /tmp/gdb.txt && gdb -q  -x /tmp/gdb.txt \| awk 'NR==1{print $NF}'<CR>kA = <ESC>Ji0b
""noremap <Leader>pb Yp!!sed -e 's+^+p /t +'  >\| /tmp/gdb.txt && gdb -q  -x /tmp/gdb.txt \| awk 'NR==1{print "0b"$NF}'<CR>kA = <ESC>J

"" gdb high version for linux
"" noremap <Leader>px Yp!!sed -e 's+^+p /x +' \| gdb -q \| awk 'NR==1{print $NF}'<CR>kA = <ESC>J
"" noremap <Leader>pd Yp!!sed -e 's+^+p /d +' \| gdb -q \| awk 'NR==1{print $NF}'<CR>kA = <ESC>J
"" noremap <Leader>po Yp!!sed -e 's+^+p /o +' \| gdb -q \| awk 'NR==1{print $NF}'<CR>kA = <ESC>J
"" noremap <Leader>pt Yp!!sed -e 's+^+p /t +' \| gdb -q \| awk 'NR==1{print $NF}'<CR>kA = <ESC>Ji0b

"" gdb for windwows, you must be cygwin + gdb.
noremap <Leader>px Yp!!sed -e "s+^+p /x +" \| gdb -q \| gawk "NR==1{print $NF}"<CR>kA = <ESC>J
noremap <Leader>pd Yp!!sed -e "s+^+p /d +" \| gdb -q \| gawk "NR==1{print $NF}"<CR>kA = <ESC>J
noremap <Leader>po Yp!!sed -e "s+^+p /o +" \| gdb -q \| gawk "NR==1{print $NF}"<CR>kA = <ESC>J
noremap <Leader>pt Yp!!sed -e "s+^+p /t +" \| gdb -q \| gawk "NR==1{print $NF}"<CR>kA = <ESC>Ji0b
""noremap <Leader>pb Yp!!sed -e "s+^+p /t +" \| gdb -q \| gawk "NR==1{printf "\0b\%s",$NF}"<CR>kA = <ESC>J
noremap <Leader>pb Yp!!sed -e "s+^+p /t +" \| gdb -q \| gawk "NR==1{print \"0b\"$NF}"<CR>kA = <ESC>J

--//测试如下:
29 = 0b11101

--//另外还发现一个小问题就是因为Cygwin64 Terminal下也有一个bc.exe命令, 如果调用这个结尾会多输出1个^M
12+12 = 24^M

--//为了避免这个输出,修改PATH环境变量,将D:\tools\cygwin64\bin路径放在最后。
--//如果通过gawk输出0b有点麻烦,特别在windows下,有点奇怪的是%也要转义。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2871534/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969582