vim函数定义跳转相关设置

news/2025/1/18 18:00:44/

修改下vim的一些ctags相关快捷键,个人用着顺手点。

小结如下:

  • normal模式下的gk,用来打开一个预览窗口预览函数定义(需要ctags生成好tags文件)。
  • normal模式下的gd,修改映射为ctrl+],即跳转到函数定义(vim内置的ctags的跳转)。
  • normal模式下的F5,用来替换优化下原来的gd(我的个人用法是优化),作用是高亮当前单词,并加入vim的搜索mode中,这样按下n可以跳到下一个位置,N可以上一个位置。

以下是具体内容,加入到 ~/.vimrc中即可。

" preview defination in a preview window
" nnoremap gk :ptag expand("<cword>"), This can not be used...
func PreviewSymbol()let l:word_under_cursor = expand("<cword>")echo "find def for symbol " . l:word_under_cursor" :ptag (l:word_under_cursor)execute "ptag " . l:word_under_cursor
endf
nnoremap gk :call PreviewSymbol()<CR>let g:current_word_match_id = -1
function! ToggleHighlightCurrentWord()" if has hightword already, clear itif g:current_word_match_id != -1silent! call matchdelete(g:current_word_match_id)let g:current_word_match_id = -1returnendiflet l:current_word = expand('<cword>')" if empty, do nothingif empty(l:current_word)returnendif" Use the same color with Search highlight grouphighlight link CurrentWord Search" set highlight and store the highlighted word to current_word_match_id let g:current_word_match_id = matchadd('CurrentWord', '\<' . escape(l:current_word, '\') . '\>')" set cur highlighted word as vim's search patternexecute 'let @/ = "\\<' . escape(l:current_word, '\') . '\\>"'
endfunction" Bind this function to <F5>
nnoremap <F5> :call ToggleHighlightCurrentWord()<CR>nnoremap gd <c-]>
nnoremap gt <c-]>

http://www.ppmy.cn/news/1564205.html

相关文章

blackbox_exporter 如何检测端口

blackbox_exporter 可以通过 TCP 探测模块 来检测目标主机的端口是否开放。以下是配置和使用的详细步骤。 1. 配置 blackbox_exporter 1) 编辑配置文件 打开 blackbox_exporter 的配置文件 blackbox.yml&#xff0c;添加或修改 TCP 探测模块。 示例配置&#xff1a; module…

微信小程序研学自习室选座与门禁系统的实现与开发springboot+论文源码调试讲解

第4章 系统设计 用户对着浏览器操作&#xff0c;肯定会出现某些不可预料的问题&#xff0c;但是不代表着系统对于用户在浏览器上的操作不进行处理&#xff0c;所以说&#xff0c;要提前考虑可能会出现的问题。 4.1 系统设计思想 系统设计&#xff0c;肯定要把设计的思想进行统…

C#对动态加载的DLL进行依赖注入,并对DLL注入服务

文章目录 什么是依赖注入概念常用的依赖注入实现什么是动态加载定义示例对动态加载的DLL进行依赖注入什么是依赖注入 概念 依赖注入(Dependency Injection,简称 DI)是一种软件设计模式,用于解耦软件组件之间的依赖关系。在 C# 开发中,它主要解决的是类与类之间的强耦合问题…

K8s master节点初始化失败报错

K8s master节点初始化失败报错 It seems like the kubelet isnt running or healthy. The HTTP call equal to curl -sSL http://localhost:10248/healthz failed with error: Get "http://localhost:10248/healthz": dial tcp 127.0.0.1:10248: connect: connectio…

HTTPS与HTTP:区别及安全性对比

目录 一、基础概念 二、安全性对比 1. 加密传输 2. 身份验证 3. 数据完整性 4. 端口 5. 浏览器展示方式 三、使用场景与性能 1. 使用场景 2. 性能开销 四、成本与维护 五、搜索引擎优化&#xff08;SEO&#xff09; 六、案例分析 七、隐私保护与中间人攻击 八、…

VSCode 使用默认profile打开文件

VSCode 本身的定位就是文本编辑器&#xff0c;只是通过各种插件才实现了 IDE 的功能。 如果想要把 VSCode 当作 IDE 和文本编辑器同时使用&#xff0c;就需要注意 profile 切换的问题。 profile 是 VSCode 的一个功能&#xff0c;可以通过多首选项管理不同的环境&#xff0c;比…

HarmonyOS Next 实现登录注册页面(ARKTS) 并使用Springboot作为后端提供接口

1. HarmonyOS next ArkTS ArkTS围绕应用开发在 TypeScript &#xff08;简称TS&#xff09;生态基础上做了进一步扩展&#xff0c;继承了TS的所有特性&#xff0c;是TS的超集 ArkTS在TS的基础上扩展了struct和很多的装饰器以达到描述UI和状态管理的目的 以下代码是一个基于…

SQL2000在win10上安装的方法

安装前最好先关闭防火墙和一些杀毒软件&#xff0c;因为这些软件在安装过程中可能会碰到注册表等一下杀毒软件比较敏感的地带&#xff0c;如果违反杀毒软件的规则会被当做病毒强行终止删除 首相找到C盘下window文件中的sysWOW64文件 鼠标右键&#xff0c;点击属性、安全、高级 …