iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >vim golang 自动跳转
  • 773
分享到

vim golang 自动跳转

2023-05-14 22:05:59 773人浏览 安东尼
摘要

在使用 Vim 编辑 Go 代码时,我们经常会遇到需要跳转到某个函数或变量定义的情况。在 Vim 中,我们可以使用一些插件或技巧来实现这一目的,本文将介绍其中一种方法 - 使用 gutentags 和 vim-go 来实现自动跳转。一、安装

在使用 Vim 编辑 Go 代码时,我们经常会遇到需要跳转到某个函数或变量定义的情况。在 Vim 中,我们可以使用一些插件或技巧来实现这一目的,本文将介绍其中一种方法 - 使用 gutentags 和 vim-go 来实现自动跳转。

一、安装 gutentags

gutentags 是一个 Vim 插件,用于生成 tags 文件,可以帮助我们快速地浏览代码和查找文件中的变量和函数定义。如果你还没有安装 gutentags,可以使用以下命令来安装:

//Vundle
Plugin 'ludovicchabant/vim-gutentags'

//NeoBundle
NeoBundle 'ludovicchabant/vim-gutentags'

//vim-plug
Plug 'ludovicchabant/vim-gutentags'

安装完成后,在 Vim 中执行 ":help gutentags" 可以查看 gutentags 的使用说明。

二、安装 vim-go

vim-go 是一个为 Go 语言开发者设计的 Vim 插件,可以帮助我们快速地编写、调试和测试 Go 语言程序。如果你还没有安装 vim-go,可以使用以下命令来安装:

//Vundle
Plugin 'fatih/vim-go'

//NeoBundle
NeoBundle 'fatih/vim-go'

//vim-plug
Plug 'fatih/vim-go'

安装完成后,在 Vim 中执行 ":help go" 可以查看 vim-go 的使用说明。

三、配置 gutentags 和 vim-go

在安装完 gutentags 和 vim-go 后,我们需要对其进行配置,使其可以协同工作,实现自动跳转的功能。

  1. 配置 gutentags

在 .vimrc 文件中添加如下配置:

let g:gutentags_project_root = ['.git', '.svn', '.hg']
let g:gutentags_cache_dir = '~/.vim/tags'
let g:gutentags_file_list_command = 'git ls-files'
let g:gutentags_generate_on_write = 1

这些配置项的意思分别是:

  • g:gutentags_project_root: 指定项目根目录,搜索 tags 文件时会在项目根目录和其子目录中进行。
  • g:gutentags_cache_dir: 指定 tags 文件的保存路径。gutentags 会把生成的 tags 文件缓存下来,下次再搜索同样的文件或变量时就不需要再次生成 tags 文件了。
  • g:gutentags_file_list_command: 指定如何列出当前项目中的文件列表。在这里我们使用了 git ls-files 命令来获取文件列表,当然也可以使用其他命令。
  • g:gutentags_generate_on_write: 指定是否在保存文件的时候自动生成 tags 文件。
  1. 配置 vim-go

在 .vimrc 文件中添加如下配置:

let g:go_def_mode='gopls'
let g:go_auto_sameids = 1
let g:go_list_type = "quickfix"
let g:go_list_autowin = 1
let g:go_fmt_command = "goimports"
let g:go_complete_unimported = 1
let g:go_def_mapping_enabled = 0

这些配置项的意思分别是:

  • g:go_def_mode: 指定使用 gopls 作为定义跳转的后端,这是一个 Go 语言官方提供的语言服务器
  • g:go_auto_sameids: 指定在同一文件中跳转到不同的函数或变量定义时是否自动更新 tags 文件。
  • g:go_list_type: 指定使用 quickfix 窗口来显示相关信息。
  • g:go_list_autowin: 指定在打开 quickfix 窗口时是否自动跳转到第一个错误项。
  • g:go_fmt_command: 指定使用 goimports 来格式化代码。
  • g:go_complete_unimported: 指定是否在补全时包含未导入的包。
  • g:go_def_mapping_enabled: 指定是否启用 GoDef 命令的快捷键映射。

四、实现自动跳转

在配置完 gutentags 和 vim-go 后,我们可以在 Vim 中打开任意一个 Go 文件,将光标移动到某个函数或变量上,然后按下 "gd" 快捷键即可自动跳转到定义位置。

在自动跳转的过程中 gutentags 会自动生成 tags 文件,如果该文件已经存在则会直接使用。在同一文件中跳转到不同函数或变量定义时,vim-go 会自动更新 tags 文件以保证下一次跳转时能够准确地定位到定义位置。使用上述方法可以大大提高我们的编写效率,快速地浏览和定位代码中的变量和函数定义。

以上就是vim golang 自动跳转的详细内容,更多请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: vim golang 自动跳转

本文链接: https://www.lsjlt.com/news/206692.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vim golang 自动跳转
    在使用 Vim 编辑 Go 代码时,我们经常会遇到需要跳转到某个函数或变量定义的情况。在 Vim 中,我们可以使用一些插件或技巧来实现这一目的,本文将介绍其中一种方法 - 使用 gutentags 和 vim-go 来实现自动跳转。一、安装...
    99+
    2023-05-14
  • golang vim 跳转
    Golang是一门非常流行的编程语言,它的特点是简单、高效、安全以及具有很好的性能。而Vim则是一款历史悠久、应用广泛的文本编辑器,在程序员中也有很高的人气。在Golang的开发过程中,如何让Vim与Golang进行更好的交互,成了很多开发...
    99+
    2023-05-22
  • java 自动转 golang
    随着业务的发展和技术的更新换代,很多公司在逐渐从 Java 转向 Golang,因为 Golang 具有更高的性能和效率,特别适合高并发、大数据应用场景。但是,在企业级项目中,由于代码量庞大,转换成本和时间也相对较高。因此,为了提高开发效率...
    99+
    2023-05-15
  • golang web 跳转
    Golang Web编程中的跳转技巧Golang是一种功能强大的编程语言,它具有简单明了的语法,同时支持高并发和内存安全。近年来,越来越多的开发者逐渐采用Golang进行Web编程。在Web开发中,跳转是一个非常常见的操作,本文将介绍在Go...
    99+
    2023-05-22
  • golang header跳转
    Golang是一门越来越受欢迎的编程语言,它有着快速、高效和简洁的特点,让很多开发者选择它来构建高性能的应用程序。其中一个常用的功能就是HTTP Header跳转。本文将介绍Golang的Header跳转相关知识。Header跳转的定义当我...
    99+
    2023-05-16
  • php页面如何自动跳转
    这篇“php页面如何自动跳转”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php页面如何自动跳转”文章吧。1、HTTP重定向...
    99+
    2023-07-05
  • php如何实现自动跳转
    这篇文章将为大家详细讲解有关php如何实现自动跳转,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。跳转代码有:“header("location:网址")”、“<meta http...
    99+
    2023-06-14
  • golang代码跳转
    Golang作为一种高性能编程语言,在编写大型项目时,跳转是非常常见的需求。本文将讨论Golang中的跳转。在Golang中,跳转分为三种:goto、break、continue。它们可以在不同的场景中使用,具有不同的作用。goto语句go...
    99+
    2023-05-16
  • golang 页面跳转
    最近想学习golang,发现golang不仅是一门语言,还可以用来进行web开发。在这里我想分享一下关于golang页面跳转的知识。在golang中,我们可以使用net/http来实现web编程,其中包括页面跳转。下面是具体实现步骤:1.导...
    99+
    2023-05-19
  • Nginx实现http自动跳转到https
    https是更安全的http,通过http自动跳转https,可以更便于用户使用web。 有几下几个方法可以完成跳转: 1.打开http和https的server,让http跳转到h...
    99+
    2023-01-28
    Nginx http自动跳转到https Nginx http自动跳转
  • 如何让网站自动跳转301
    让网站自动跳转301的方法:IIS下301设置Internet信息服务管理器 → 虚拟目录 → 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。ASP下的301转向代码<%@ Language=VBSc...
    99+
    2024-04-02
  • 如何实现网页自动刷新与自动跳转
    这篇文章将为大家详细讲解有关如何实现网页自动刷新与自动跳转,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。网页自动刷新: 在<head></head>之间加入如下代码: 代码如下:&...
    99+
    2023-06-08
  • 怎么在html中自动跳转页面
    怎么在html中自动跳转页面?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,...
    99+
    2023-06-14
  • php怎样实现定时自动跳转
    这篇文章给大家分享的是有关php怎样实现定时自动跳转的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。打开相应的PHP代码文件。通过“header("refresh:3;url=https://www.ph...
    99+
    2023-06-25
  • 自动跳转的域名怎么设置
    要设置自动跳转的域名,可以采取以下步骤:1. 登录你的域名注册商的控制面板,找到域名解析设置。2. 在解析设置中添加一条A记录,将主...
    99+
    2023-06-03
    自动跳转的域名 域名
  • centos6.6 vim自动补全pyt
    Pydiction 可以是我们使用Tab键自动补全Python代码在Vim,是一款非常不错的插件。Pydiction不需要安装,所有没有任何依赖包问题,Pydiction主要包含三个文件。 python_pydiction.vim -- ...
    99+
    2023-01-31
    vim pyt
  • Nuxt.js中PC与移动端间自动识别跳转
    目录了解问题解决了解 官网类网站,需要考虑seo,使用了 nuxt.js 的 ssr 开发。pc端和移动端分离了,相当于两个独立的项目,部署在同一个服务器上,绑定不同域名。 问题 需...
    99+
    2024-04-02
  • VIM自动补全插件:deoplete
    Nvim用的是Shougo开发的NCM,但是在VIM 8+就要用同一个作者开发的Deoplete. 参考官网:Shougo/deoplete.nvim 注意:这里只讲怎么给vim8安装。 安装 第一步:安装所有依赖 # 安装VIM 8 #...
    99+
    2023-01-31
    插件 VIM deoplete
  • 如何用php实现定时自动跳转
    这篇文章主要讲解了“如何用php实现定时自动跳转”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用php实现定时自动跳转”吧!php实现定时自动跳转的方法:1、打开相应的PHP代码文件;2...
    99+
    2023-06-25
  • Nginx如何实现http自动跳转到https
    本篇内容主要讲解“Nginx如何实现http自动跳转到https”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Nginx如何实现http自动跳转到https”吧!https是更安全的http,通...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作