V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
COW
V2EX  ›  程序员

2024 年了,无聊想尝试下 neovim

  •  
  •   COW · 9 小时 55 分钟前 via Android · 2914 次点击
    听说体验有超越 vscode 的趋势,不知真假。主要写写 js py golang ,以脚本为主,偶尔写写 Web 项目,有没有实践过的老哥说说,还有在 wsl2 ,iterm2 上的兼容性怎么样?
    41 条回复    2024-12-22 23:47:13 +08:00
    l1ch40
        1
    l1ch40  
       9 小时 49 分钟前   ❤️ 1
    直接用 lazyvim 就行,完全够用了。
    PTLin
        2
    PTLin  
       9 小时 19 分钟前   ❤️ 1
    直接用 lazyvim 。如果你有自己折腾的想法,先问问自己,花 30 小时放到这上面真的值得吗?
    jqtmviyu
        3
    jqtmviyu  
       9 小时 14 分钟前
    哪来的超越, vscode 断点调试太好用了. neovim 想实现类似的功能得多麻烦.
    ChrisFreeMan
        4
    ChrisFreeMan  
       9 小时 2 分钟前   ❤️ 1
    lazyVim 用了一年了,应该是我最后使用的 neovim 集成环境了,wsl2 不知道,iterm2 完美。前段时间老是因为三方插件更新导致破坏性的编辑体验让我感觉很不稳定,但是除了自己维护一套插件外,没有更好的选择了。如果你喜欢微软建议你继续 VSCode ,它本身非常优秀,编辑器天花板,它自身插件市场的 vim 插件也非常好用,前两天试了下,对我来说几乎完美。但是如果你担心 VSCode 之后也会因为微软的战略发展需求变的逐渐和 Windows 和 edge 一样偷偷喂💩给你,你可以试着学一学。
    COW
        5
    COW  
    OP
       8 小时 52 分钟前
    @ChrisFreeMan 主要还是写 py 和 go 脚本,对 IDE 依赖不是特别大,写 js 、java 我还是更倾向于继续用 vscode ,关键是我还有鼠标手,而触摸板用起来又太麻烦了。我现在刚开始用 astronvim ,看评论区似乎 lazyvim 更有优势?
    ChrisFreeMan
        6
    ChrisFreeMan  
       8 小时 44 分钟前   ❤️ 1
    @COW VSCode 开启 vim 插件后适当配置一下也可以全键盘模式,我试过了,用了一天感觉还不错。我是只用 Neovim 写 Typescript 体验非常不错。Neovim 写 python 不多,因为 python 的代码块是用缩进,所以我至今都不知道怎么完美选中整个类或者是方法,或着某个逻辑代码块。选择 lazyVim 主要是因为配置非常简单,并且本身开箱使用的体验已经接近完美,只需要简单根据自己习惯改几个配置就好了。
    rick13
        7
    rick13  
       8 小时 18 分钟前 via iPhone
    我用的 astronvim ,用了一年多了,vsc 只在特殊情况下打开用用
    rick13
        8
    rick13  
       8 小时 17 分钟前 via iPhone   ❤️ 1
    另外 vsc 里有一个插件 vscodenvim ,也可以试试,相当于远程启动了一个 nvim 实例,能使用极个别的插件比如 leap
    COW
        9
    COW  
    OP
       8 小时 15 分钟前
    @ChrisFreeMan #6 额,那 yml 文件也是缩进,是因为没有明显的 block end 所以不好选中么,我还没研究过,不过我感觉应该有插件可以做到吧
    yukino
        10
    yukino  
       8 小时 15 分钟前   ❤️ 1
    @ChrisFreeMan 基于 treesitter 解析的语法树做增量式选择,好用的
    chenqh
        11
    chenqh  
       8 小时 14 分钟前
    哈哈,我装都不会装 neovim,算了还是老老实实用 vscode,也只有 vscode 才肯容忍我这个菜 B 了.
    COW
        12
    COW  
    OP
       8 小时 7 分钟前
    @rick13 #8 我在 MacOS 上试了 Astronvim ,有个奇怪的问题,按一次空格会弹出命令提示,这没问题,再按一次空格取消时,就会自动在终端敲两次空格,怀疑是不是 Mac 上哪里键盘设置不对
    rick13
        13
    rick13  
       7 小时 51 分钟前
    @COW #12 没看懂,你怎么能在 neovim 里看到终端呢?
    COW
        14
    COW  
    OP
       7 小时 31 分钟前
    @rick13 #13 就是第一次按空格会打开帮助菜单,此时如果再按空格,此时窗口的光标就会缓慢往前移动两下。
    coldle
        15
    coldle  
       7 小时 26 分钟前
    如果习惯 vscode, 可以装个 vscode neovim 插件,插入模式用原来的 vsc ,普通模式用 neovim

    那种字符跳转之类的 neovim 插件也是可以用的,没记错的话 LazyVim 发行版里本身就做了 vscode 适配,好像是插件的 spec 加个 `vscode = true` 什么的

    不要用 vscode vim 插件,那个只是个键位模拟,而且有性能问题
    rick13
        16
    rick13  
       5 小时 59 分钟前
    @COW #14 试了下没遇到,看看自己配了啥吧,有时候 debug 也挺烦
    ChrisFreeMan
        17
    ChrisFreeMan  
       5 小时 53 分钟前
    @yukino 好的,后面回归 python 了试试,但是我估计我绑死 JS 生态了
    ChrisFreeMan
        18
    ChrisFreeMan  
       5 小时 49 分钟前
    @COW 我个人建议还是慢慢来,vim 挺复杂的,很多指令需要学习,各个发行版都有自己的定制指令,你说的空格键唤出命令提示那是<leader> 指令,是告诉 neovim 你准备换起连击指令了,另外 vim 中断指令是用 esc 健
    ChrisFreeMan
        19
    ChrisFreeMan  
       5 小时 41 分钟前
    我自己用了 5 年 vim 了,也不敢说自己熟悉,所以现在都懒得折腾直接用别人开源的集成配置了。熟悉一些基本操作够自己日常便捷写代码就足够了。

    我是最近一个月才用上 q recording 命令😂,这东西真深奥啊😂
    COW
        20
    COW  
    OP
       5 小时 34 分钟前 via Android
    @ChrisFreeMan 是的,换了 lazyvim 才搞明白,其实就和退出 insert mode 一样么,按 esc 就行,太急着上手有点想当然了 😂
    zhuangpipi
        21
    zhuangpipi  
       5 小时 29 分钟前
    使用 vscode vim 足够了,自己折腾维护一套不稳定的配置实在是没有心力
    COW
        22
    COW  
    OP
       5 小时 27 分钟前 via Android
    @ChrisFreeMan 宏命令处理多行文本挺好用的,不过我手残经常会按错键,还是习惯用 awk 之类的
    EchoWhale
        23
    EchoWhale  
       5 小时 8 分钟前 via iPhone
    我推荐自己配,太黑盒了用起来也是一头雾水。

    最不济就抄 lazyvim 的配置吧,遇到不懂的配置问 gpt
    guanhui07
        24
    guanhui07  
       4 小时 49 分钟前
    lazyvim
    jackmod
        25
    jackmod  
       4 小时 22 分钟前
    人老了,只会躺在 vscode 的舒适区里了。
    zwlinc
        26
    zwlinc  
       3 小时 47 分钟前
    @COW #12 我猜那应该是类似 which-key 的插件(或着就是 which-key )。BTW ,如果 vim 都不熟,就用某个发行版,大概率还是劝退。我非常推荐「 Practical Vim 」这本书,这本书不论是初学者,还是常用 vim 的人,都能常看常新,获益匪浅。
    gouflv
        27
    gouflv  
       3 小时 42 分钟前 via iPhone
    vscode-neovim 够用且稳定
    Immortal
        28
    Immortal  
       3 小时 4 分钟前   ❤️ 1
    我自己写 Vue/React/Go 都挺好,但是看群里 Python 老哥们讨论稍微费力点.
    刚入门可以用 LazyVim,油管也有很多视频来教你自己如何配置,尤其是 TJ 的视频,搭配 KickStart 项目自己动手
    https://github.com/nvim-lua/kickstart.nvim

    关于终端,偶尔有几个插件(Telescope?)在 wsl2 上好像有点小问题,因为我自己常年是 Mac/Linux 不是很清楚 Windows 情况.除了 Iterm2 也可以关注下 Kitty 和快发布的 Ghost,渲染性能上都优于 Iterm2.

    我自己的经验来看,如果真深入使用,即使用了 LazyVim 这类发行版,最后肯定也会自己投入很多时间来修改成"自己的形状",所以一开始不一定纠结用发行版还是自己配置,先熟悉整个生态和 API.要知道用 Neovim/Vim 的最大优势其实不是很多人概念里的"快速编辑",而是超强的定制化.
    ck65
        29
    ck65  
       2 小时 59 分钟前
    neovim + nvchad 四年,全职编码时刻已经无法切换到其他编辑器了。
    fanhed
        30
    fanhed  
       2 小时 58 分钟前
    本质上是一个扩展性极强的编辑器, 你想要用到顺手的话, 需要了解 neovim 整套扩展机制, 然后开始进行乐高积木式的配置. 你既然都无聊了, 那就从 https://github.com/nvim-lua/kickstart.nvim 开始, 如果仅仅浅尝, 可以选择 lazyvim
    limbo0
        31
    limbo0  
       2 小时 56 分钟前
    配过 800 个 vim 环境了, 最终回归 lazyvim
    cdlnls
        32
    cdlnls  
       2 小时 43 分钟前
    个人感觉 vim 是必学的(指的是 vim 那一套操作模式,不是指具体的软件)
    c8c
        33
    c8c  
       2 小时 35 分钟前
    投一个 LunarVim

    https://www.lunarvim.org/docs/installation

    不知道和 LazyVim 哪个好?
    memorycancel
        34
    memorycancel  
       2 小时 2 分钟前
    lazyvim + zellij
    himawari8
        35
    himawari8  
       1 小时 45 分钟前
    Hello lidang ,你现在还解答世间万物么?
    seaT
        36
    seaT  
       1 小时 8 分钟前
    如果是在 windows 上只推荐 vscode+neovim ,然后加一些基础插件,例如:nvim-surround ,mini-ai 等等,wsl2 的终端字体渲染跟 vscode 没法比
    COW
        37
    COW  
    OP
       1 小时 1 分钟前 via Android
    @himawari8 什么意思?
    butanediol2d
        38
    butanediol2d  
       59 分钟前   ❤️ 1
    正在学 vim motion ,我觉还是先从自己熟悉的编辑器/IDE 入手,装 vim motion 插件,然后在考虑切换到 vim/neovim
    COW
        39
    COW  
    OP
       56 分钟前 via Android
    @zwlinc 是的,就是 which-key ,我开始以为是 astronvim 自己独有的功能
    COW
        40
    COW  
    OP
       52 分钟前 via Android
    @butanediol2d 我就是这个路径哈哈,我打算先试试 lazyvim ,大概熟悉了再去试试 kickstart.nvim 😂
    OneLiteCore
        41
    OneLiteCore  
       51 分钟前
    尝试过后来觉得自己维护一套自己习惯的配置需要耗费巨大的精力,如果不是真的喜欢折腾的话有点得不偿失。就我自己折腾过后的建议是,这玩意更适合配置 iterm2 或者 Windows Terminal 等支持下拉模式的命令行工具做一个全局随时呼出的记事本,并配合 Git 或者其他管理工具来同步备份笔记数据,偶尔改改系统配置文件复制点东西之类的。轻量级的开发无论是远程还是本地用 VSCode 都足够搞定,重量级的还是直接上 IDE 吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1558 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:38 · PVG 00:38 · LAX 08:38 · JFK 11:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.