V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yazoox
V2EX  ›  Vim

有使用 vim 写代码的兄弟姐妹么?你们都安装了哪些插件?

  •  
  •   yazoox · 2021-02-12 21:14:50 +08:00 · 6532 次点击
    这是一个创建于 1378 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先祝大家新年快乐!

    如题!

    有直接使用 vim coding 的兄弟么?( vim/neovim ) 你们都使用了哪些插件?

    比如, 插件管理器,vundle or vim-plug ? 文件浏览,nerdtree ? 状态栏,airline ? 或者,什么,文件查找搜索,fzf ? CtrlP? 又或者什么代码提示 Coc 还是 LSP ?

    等等……

    分享一下。

    46 条回复    2021-02-15 16:15:08 +08:00
    darksword21
        1
    darksword21  
       2021-02-12 21:21:42 +08:00   ❤️ 1
    有用 emacs,你重新发个帖子我告诉你🐕️
    PeterD
        2
    PeterD  
       2021-02-12 21:26:17 +08:00
    rim99
        3
    rim99  
       2021-02-12 21:36:19 +08:00
    加了插件不卡吗?我以前加过很多插件,用了嫌卡。后来整理了一份无插件的 vim 配置。做个简单的编辑器,也挺好的
    yazoox
        4
    yazoox  
    OP
       2021-02-12 21:38:40 +08:00
    @PeterD
    厉害!第一次知道这个,看看先。谢了
    gitopen
        5
    gitopen  
       2021-02-12 21:50:42 +08:00
    有,码 Python 的时候只用 nvim,进行数据处理可视化的工作
    so1n
        6
    so1n  
       2021-02-12 22:05:12 +08:00 via Android
    一般是 ide+vim
    IgniteWhite
        7
    IgniteWhite  
       2021-02-12 22:09:08 +08:00 via iPhone   ❤️ 1
    可以点我头像看主页 github 里面我的 dotfiles,我在这里粘贴一下插件部分:

    Plug 'tpope/vim-fugitive'
    Plug 'vim-airline/vim-airline'
    Plug 'vim-airline/vim-airline-themes'
    Plug 'nathanaelkane/vim-indent-guides'
    Plug 'morhetz/gruvbox'
    Plug 'scrooloose/nerdtree'
    Plug 'Xuyuanp/nerdtree-git-plugin'
    Plug 'edkolev/tmuxline.vim' " See tmuxline.vim settings section
    Plug 'lervag/vimtex'
    Plug 'godlygeek/tabular' " tabular plugin must come before vim-markdown
    Plug 'plasticboy/vim-markdown'
    Plug 'JamshedVesuna/vim-markdown-preview'
    Plug 'neoclide/coc.nvim'
    Plug 'SirVer/ultisnips'
    Plug 'honza/vim-snippets'
    Plug 'Yggdroot/LeaderF', { 'do': ':LeaderfInstallCExtension' }
    Plug 'psliwka/vim-smoothie'
    Plug 'skywind3000/Leaderf-snippet'
    radioactivezx
        8
    radioactivezx  
       2021-02-12 22:17:44 +08:00
    最近刚好整理了一下 vim plugin 另外学习了一下 vimscript,把我之前用的插件过时的不更新的删除,在 fzf.vim 基础上改了一两个函数自己用。

    地址在这里: https://github.com/xzhangxa/dotfiles/blob/master/vimrc

    - 里面虽然有 gruvbox colorscheme 插件但是默认没有设它,因为要自动化 vim-plug 装插件引用一个还没装的会有 error ;
    - 用 YouCompleteMe 做 LSP client,别的看起来都很折腾,相对来说 YouCompleteMe 最不折腾就用这个了,想等 neovim 原生的 LSP client 出来看怎么样;
    - FZF 和 fzf.vim 大量使用,FZF 用 vim plugin 管理自动化脚本直接装给 zsh 。fzf.vim 非常有用,现在我用它来管理 buffers/windows/git history/search (ripgrep);
    - 别的一些很大众的插件也都装了,文件里能看到就不挨个说了。

    总得来说这个插件数量很少所以没有感觉有延迟或者什么问题,虽然现在在用 neovim 但是还是用这个 vimrc 并保持 vim 的设置。同级目录里放了其它一些配置文件和自动化 shell 环境安装脚本( for Debian, Mac),vimrc 里一些依赖在安装脚本里能找到,就不详细说了。
    jinqzzz
        9
    jinqzzz  
       2021-02-12 22:44:23 +08:00
    https://github.com/peeweep/dotfiles/blob/master/nvim/.config/nvim/init.vim

    call plug#begin('~/.vim/plugged')
    " git
    Plug 'tpope/vim-fugitive'
    " nerdtree
    Plug 'preservim/nerdtree'
    Plug 'Xuyuanp/nerdtree-git-plugin'
    " clang-foramt
    " Plug 'rhysd/vim-clang-format'
    " colorscheme
    Plug 'vim-airline/vim-airline'
    Plug 'challenger-deep-theme/vim', { 'as': 'challenger-deep' }
    " translator
    Plug 'voldikss/vim-translator'
    " coc
    Plug 'neoclide/coc.nvim', {'branch': 'release'}
    " history
    Plug 'mhinz/vim-startify'
    " tagbar
    Plug 'preservim/tagbar'
    Plug 'mg979/vim-visual-multi', {'branch': 'master'}
    call plug#end()
    IgniteWhite
        10
    IgniteWhite  
       2021-02-12 22:47:22 +08:00 via iPhone
    @rim99 我在 vimrc 里写了个探测操作系统和内存的功能,如果配置不够就不加载插件,只保留基本配置和自己设置的简单配色。
    hankai17
        11
    hankai17  
       2021-02-12 23:01:28 +08:00
    就用默认的就够用了 + grep 查找很方便
    代码熟了以后 用不到插件
    jessun1990
        12
    jessun1990  
       2021-02-12 23:02:39 +08:00
    " UI ==========================
    Plug 'sheerun/vim-polyglot' " 语法高亮
    Plug 'flazz/vim-colorschemes' " 配色主题
    Plug 'overcache/NeoSolarized'
    Plug 'itchyny/lightline.vim' " 底部条
    Plug 'sainnhe/forest-night'

    " general =====================
    Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
    Plug 'junegunn/fzf.vim'

    " code ======================== Plug 'tommcdo/vim-fugitive-blame-ext' " git 信息
    Plug 'tpope/vim-fugitive' " git 相关
    Plug 'dense-analysis/ale'
    Plug 'liuchengxu/vista.vim' " tag
    Plug 'ap/vim-css-color'
    Plug 'scrooloose/nerdcommenter' " 注释
    Plug 'tpope/vim-surround' " 快捷操作

    " coc.nvim
    Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'}
    Plug 'fannheyward/coc-marketplace', {'do': 'yarn install --frozen-lockfile'}
    Plug 'iamcco/coc-actions', {'do': 'yarn install --frozen-lockfile'}
    Plug 'neoclide/coc-lists', {'do': 'yarn install --frozen-lockfile'}
    Plug 'neoclide/coc-yank', {'do': 'yarn install --frozen-lockfile'}
    Plug 'neoclide/coc-snippets', {'do': 'yarn install --frozen-lockfile'}
    Plug 'iamcco/coc-spell-checker', {'do': 'yarn install --frozen-lockfile'}
    Plug 'neoclide/coc-git', {'do': 'yarn install --frozen-lockfile'}
    Plug 'weirongxu/coc-explorer', {'do': 'yarn install --frozen-lockfile'}
    Plug 'josa42/coc-sh', {'do': 'yarn install --frozen-lockfile && npm i -g bash-language-server', 'for': 'sh'}

    " rust
    Plug 'fannheyward/coc-rust-analyzer', {'do': 'yarn install --frozen-lockfile', 'for': 'rust'}

    " gopls
    Plug 'josa42/coc-go', {'do': 'yarn install --frozen-lockfile', 'for': 'go'}

    " markdown
    " Plug 'plasticboy/vim-markdown', {'for': 'markdown'}
    Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install' }
    Plug 'neoclide/coc-json', {'do': 'yarn install --frozen-lockfile', 'for': 'json'}
    Plug 'neoclide/coc-yaml', {'do': 'yarn install --frozen-lockfile', 'for': 'yaml'}
    Plug 'neoclide/coc-css', {'do': 'yarn install --frozen-lockfile', 'for': 'css'}
    xiaozizayang
        13
    xiaozizayang  
       2021-02-12 23:03:57 +08:00
    我的配置,主要写 py:

    https://github.com/howie6879/vim_config
    thedrwu
        14
    thedrwu  
       2021-02-13 07:15:43 +08:00 via Android
    fugitive 和 lsp,其他都是十年前的早就忘记怎么实现的自写的 filetype 相关的插件
    levelworm
        15
    levelworm  
       2021-02-13 07:19:59 +08:00 via Android
    我一直好奇你们做大型项目的也用 vim 吗?
    VoldikSS
        16
    VoldikSS  
       2021-02-13 08:34:40 +08:00
    coc.nvim 全家桶
    yazoox
        17
    yazoox  
    OP
       2021-02-13 08:39:41 +08:00
    @hankai17 你是说直接用 grep 在源代码里 查找关键字么?能分享一些实例,咋操作?
    另,文件浏览,尤其是 code intelligence and complete,怎么办?
    当然,如果能不用任何提示,直接写代码,那是真的厉害
    yazoox
        18
    yazoox  
    OP
       2021-02-13 08:41:08 +08:00
    @jessun1990 @VoldikSS
    兄弟,coc 好像需要有很详细配置。有合适配置分享么?!
    relaxgo
        19
    relaxgo  
       2021-02-13 08:52:15 +08:00 via Android
    lniwn
        20
    lniwn  
       2021-02-13 09:32:21 +08:00
    我觉得 vscode + vim 插件挺香的
    jeeyong
        21
    jeeyong  
       2021-02-13 10:46:03 +08:00
    这两天在配置的路上.....夭折了
    MCVector
        22
    MCVector  
       2021-02-13 11:22:35 +08:00
    用的比较多的 Vimspector YouCompleteme
    vigack
        23
    vigack  
       2021-02-13 11:23:13 +08:00 via iPhone
    什么插件都没装,临时改配置文件用 neovim,写文档、日志用 doom emacs evil mode,写代码用 viscodevim
    wqzjk393
        24
    wqzjk393  
       2021-02-13 11:48:34 +08:00 via iPhone
    各大 ide 都支持 vim 了,为啥还要用 vim 写代码呢,插件装的不烦么…
    jessun1990
        25
    jessun1990  
       2021-02-13 12:15:34 +08:00
    @yazoox https://github.com/jessun2017/dotfiles

    @wqzjk393 主要是个人习惯,neovim + tmux 一套组合拳已经习惯了。而且还可以把公司服务器当作开发机来使唤,自己的机器就开个 ssh 上去就行。
    jdhao
        26
    jdhao  
       2021-02-13 12:46:15 +08:00 via Android
    平时主要写 python,用 neovim 写完全不成问题,我装了 60 多个插件,在 Linux 上启动时间大概 300 多秒,下面链接是我用到的插件。另外这个仓库放的是我完整的配置,对于如何配置有完整的文档,楼主可以参考一下。
    https://github.com/jdhao/nvim-config/blob/master/core/plugins.vim#L16
    darksword21
        27
    darksword21  
       2021-02-13 13:17:25 +08:00 via iPhone
    @jdhao #26 300 多秒。。
    no1xsyzy
        28
    no1xsyzy  
       2021-02-13 13:19:25 +08:00
    就直接 amix/vimrc,可以 yay -S vimrc-git
    yazoox
        29
    yazoox  
    OP
       2021-02-13 13:24:29 +08:00
    @jdhao 什么? 300 多秒…… 还是毫秒?
    jdhao
        30
    jdhao  
       2021-02-13 13:40:17 +08:00
    @darksword21 @yazoox 毫秒,哈哈,手误
    yazoox
        31
    yazoox  
    OP
       2021-02-13 13:46:27 +08:00
    @no1xsyzy 没看懂……
    no1xsyzy
        32
    no1xsyzy  
       2021-02-13 13:56:37 +08:00
    @yazoox I use Arch Linux (笑
    yazoox
        33
    yazoox  
    OP
       2021-02-13 14:13:53 +08:00
    @jdhao 你有用 nerdtree 这个插件么?(出门在外,还没看你的插件列表)昨儿我添加了这个插件试了一下,toggle nerdtree,打开或者隐藏居然要 2-3 秒……
    poplar50
        34
    poplar50  
       2021-02-13 14:30:00 +08:00 via iPhone
    https://github.com/bryceyang/dotConfigs 用 vim 开发 golang 和 python,日常玩儿玩儿 rust 。
    如果用 neovim 的话,可以翻看一下 nvim-lua 文件夹里的 lua config 。
    jessun1990
        35
    jessun1990  
       2021-02-13 14:59:12 +08:00
    @yazoox 如果你用 coc.nvim 或者插件的话,可以使用一下 coc-explorer 这个插件来考虑替代 nerdtree 。
    jdhao
        36
    jdhao  
       2021-02-13 15:11:52 +08:00
    @yazoox 之前用过,打开有很多文件的目录,速度比较慢,就不用了。目前我打开项目文件的方式是使用 fuzzy finder,可以选择 fzf.vim 或者使用 LeaderF,个人推荐 LeaderF,目前应该是最强 Vim 搜索插件。

    fzf.vim: https://github.com/junegunn/fzf.vim

    leaderf: https://github.com/Yggdroot/LeaderF
    hanxiV2EX
        37
    hanxiV2EX  
       2021-02-13 16:02:20 +08:00 via Android
    nG29DOMuRYTWfcSr
        38
    nG29DOMuRYTWfcSr  
       2021-02-13 22:42:46 +08:00   ❤️ 1
    zzzmj
        39
    zzzmj  
       2021-02-14 12:03:31 +08:00
    在这里顺便问一个,用 vim 写 python 的老哥,如何实现类似 pycharm 中用 alt-enter auto-import 的功能
    yazoox
        40
    yazoox  
    OP
       2021-02-14 12:46:08 +08:00
    @SpaceVim @PeterD 今天试了一下,安装失败了。

    fatal: could not create leading directories of '/Users/yazoox/.cache/vimfiles/repos/github.com/Shougo/dein.vim': Permission denied

    手工先创建 这个目录,然后再 sudo curl -sLf https://spacevim.org/install.sh | bash 可以成功。

    但是启动 nvim/vim 的时候,还是报错

    Error detected while processing function SpaceVim#begin[75]..SpaceVim#default#options:
    line 70:
    E739: Cannot create directory /Users/yazoox/.cache//SpaceVim: permission denied
    Error detected while processing function SpaceVim#custom#load[34]..<SNR>19_load_glob_conf:
    line 13:
    E482: Can't open file /Users/yazoox/.cache/SpaceVim/conf/.SpaceVim.dinit.json for writing: no such f
    ile or directory
    Error detected while processing function SpaceVim#end[97]..SpaceVim#plugins#load[2]..SpaceVim#plugin
    s#begin[9]..dein#begin[1]..dein#util#_begin[20]..dein#util#_get_runtime_path[5]..dein#util#_get_cach
    e_path:
    line 9:
    E739: Cannot create directory /Users/yazoox/.cache/vimfiles: permission denied
    Press ENTER or type command to continu

    不知道是不是我用的 zsh 不是 bash 的原因...
    k4nUu
        41
    k4nUu  
       2021-02-14 14:50:15 +08:00
    ```viml
    if dein#load_state('~/.cache/dein')
    call dein#begin('~/.cache/dein')

    call dein#add('~/.cache/dein/repos/github.com/Shougo/dein.vim')

    call dein#add('mhinz/vim-startify')
    call dein#add('junegunn/vim-easy-align')
    call dein#add('junegunn/goyo.vim')
    call dein#add('junegunn/limelight.vim')
    call dein#add('junegunn/seoul256.vim')
    call dein#add('ianva/vim-youdao-translater')
    call dein#add('matze/vim-move')
    call dein#add('yuttie/comfortable-motion.vim')
    call dein#add('tpope/vim-surround')
    call dein#add('tpope/vim-repeat')
    call dein#add('jiangmiao/auto-pairs')
    call dein#add('preservim/nerdcommenter')

    call dein#end()
    call dein#save_state()
    endif
    ````
    nG29DOMuRYTWfcSr
        42
    nG29DOMuRYTWfcSr  
       2021-02-14 18:03:48 +08:00
    @yazoox 你的这个权限问题我看得不懂,为什么在自己的 home 目录下的一些文件居然没有权限读写?
    ZxykM
        43
    ZxykM  
       2021-02-15 09:48:59 +08:00
    我用 nvim,基本上是 coc 一把梭
    yazoox
        44
    yazoox  
    OP
       2021-02-15 12:18:31 +08:00
    @ZxykM 没用过。听说很好用,但配置很复杂。分享一下配置?
    bintianbaihua
        45
    bintianbaihua  
       2021-02-15 14:15:01 +08:00
    可以参考下开源的 .vimrc
    CrazyRundong
        46
    CrazyRundong  
       2021-02-15 16:15:08 +08:00 via iPhone
    只留了一句 set nu 开行号,绝大多数时候都是 PyCharm/VSCode + vim plugin 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3060 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:56 · PVG 21:56 · LAX 05:56 · JFK 08:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.