有使用 vim 写代码的兄弟姐妹么?你们都安装了哪些插件? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yazoox
V2EX    Vim

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

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

    先祝大家新年快乐!

    如题!

    有直接使用 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  
    PRO
       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
    FurN1
        7
    FurN1  
       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 里一些依赖在安装脚本里能找到,就不详细说了。
    filtrate
        9
    filtrate  
       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()
    FurN1
        10
    FurN1  
       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  
    PRO
       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>9_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     Solana     2539 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 11:17 PVG 19:17 LAX 03:17 JFK 06:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86