Skip to content
/ omenvim Public
forked from 3Xpl0it3r/gonvim

An IDE for golang, alse support rust, python, c/cpp.\n Go Head try it?

License

Notifications You must be signed in to change notification settings

omezro/omenvim

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduct

  nvim ide for golang, 主要针对go语言做了一些优化.当然也可以用作c/c++,python,rust等语言的IDE.   魔改版<根据gonvim配置进行了自定义配置> 预览

安装

 首先您需要先安装nvim(建议neovim版本0.7以上版本) 下载fucknvim

$ git clone https://github.com/3Xpl0it3r/gonvim.git

建议备份原始nvim配置文件

cp -rf ~/.conf/nvim  ${HOME}/.conf/nvim_back

安装nvim配置文件

安装过程最好打开科学上网

# 安装
$ ln -sv gonvim ~/.conf/nvim
$ nvim

 插件安装失败处理

# 手动安装packer
$ git clone --depth 1 https://github.com/wbthomason/packer.nvim\\n ~/.local/share/nvim/site/pack/packer/start/packer.nvim
# 同步插件
$ nvim +PackerSync

 安装gopls

$ go install golang.org/x/tools/gopls@latest

 安装gopks  如果您可能会涉及到go语言,强烈建议您安装下gopks(codeaction里面import导入package路径会用到这个工具)

$ go get github.com/3Xpl0it3r/gopkgs

 安装gotests  gotests可以帮助您来自动生成单元测试代码, 通过leader 键来触发codeAction 选择GenTest 来自动生成单元测试

$ go get -u github.com/cweill/gotests/...
快捷键

  leader键为空格键

Snippet支持功能

补全输入两个字母就会自动触发,因此您不需要输入完整的trigger信息

所有文本补全
  • date: 打印当前时间``
  • pwd: 打印当前路径
  • .wrap(: xxx.wrap( => (xxx)
  • wrap": xxx.wrap" => "xxxx"
  • wrap': xxx.wrap' => 'xxx'
  • wrap{: xxxx.wrap{ => {xxxx}
  • wrap[: xxxx.wrap[ => [xxxx]
  • wrap<: xxx.wrap< =>
  • APACHE: 打印license信息
针对go文件的补全

具体的含义您可以通过预览来查看每个snip生成的代码效果

  • pkgmain
  • fmain
  • typ
  • typi
  • typs
  • methodprt
  • methodstruct
  • impl
  • \json`
  • '`xml`
  • funcret
  • funcnil
  • forrange
  • forindex
  • forcondition
  • fortrue
  • ifcondition
  • iferr
  • ifnil
  • ifelse
  • ifdebug
  • select
  • switch
  • gofunc

*doc example * doc_example

CodeAction

codeaction codeaction codeaction codeaction

DapUi

 dapui支持鼠标操作

其他特性

notify显示lsp加载进度

ome 补充

 在原有基础上进行了二次配置:  1 开启鼠标  2 开启buffline,并修改配置文件  3 增加dracula theme  4 修改部分快捷键  5 增加nvim-lsp-installer,实现极简一键安装  6 fature 准备增加nvim-tree的辅助功能快捷方式,比如增加删除文件(夹)

 ps: 字体采用goole字体Recursive,但是由于recusive不支持nerdfont,所以使用fontPatcher patcher了一下  地址在https://github.com/omigaZ/my-nerd-fonts

clipboard-provider is a script to handle copying and pasting, Which works with system clipboard, tmux and ssh

  mv ~/.config/nvim/clipboard-provider /usr/local/bin/

Note:

 configuration in tmux

 set -s set-clipboard external  bind Escape copy-mode
 bind -T copy-mode-vi v send-keys -X begin-selection
 bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'clipboard-provider copy'  bind p run "tmux set-buffer "$(clipboard-provider paste)"; tmux paste-buffer -p"

About

An IDE for golang, alse support rust, python, c/cpp.\n Go Head try it?

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 99.1%
  • Shell 0.9%