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

Vim 使用技巧-- 系列 11

  •  
  •   jdhao · 2021-11-23 23:02:36 +08:00 · 2758 次点击
    这是一个创建于 1096 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的 vim 使用技巧系列又更新了,欢迎阅读批评指正:
    https://jdhao.github.io/2021/11/22/nifty_nvim_techniques_s11/
    14 条回复    2021-11-24 21:32:51 +08:00
    auvt
        1
    auvt  
       2021-11-23 23:17:30 +08:00 via iPhone
    lz 太厉害了。伪码友求教个问题可以吗?想拿 vim 看小说,但翻页有个问题:vim 把大段的文章折行了,一般来说这样正好不影响看,但如果一段较长,且处在屏幕下方,就有可能只有前面一两行在这一页,其余的部分在下一页。但一旦翻页过去,这一整段折行 vim 会从第一个字开始,在新一页上重新全部展示。也就是说,已经在上页显示过的一两行文字,还要再重新显示一遍。这样一来,因为老在找我上页看的最后一句,翻页过来蹦到哪里去了,所以特别累。不知道 lz 大拿有办法解决么?
    jdhao
        2
    jdhao  
    OP
       2021-11-23 23:20:38 +08:00
    @auvt 截个图看看,你这么描述让我有点看不懂,结合图说一下
    chenset
        3
    chenset  
       2021-11-23 23:26:15 +08:00
    多行移动光标有什么好的建议吗? 在类似滚动鼠标滚轮上下查看代码的场景
    jdhao
        4
    jdhao  
    OP
       2021-11-23 23:29:15 +08:00   ❤️ 1
    @chenset 我用的 nvim ,也可以用鼠标滚动的,vim 也是一样的,可以在配置文件加入

    set mouse=a
    jinliming2
        5
    jinliming2  
       2021-11-24 01:27:43 +08:00
    @auvt 如果我理解没错的话:
    1 ,可以 :set nowrap 关掉自动换行,:set wrap 再打开(但这应该肯定不是你要的)
    2 ,可以 gj 和 gk 在屏幕上上下移动光标(以“视觉行”而不是“逻辑行”进行移动),前面可跟数字移动多行,比如 10gj 向下移动 10 行(可以自己设置快捷键)
    auvt
        6
    auvt  
       2021-11-24 07:31:04 +08:00 via iPhone
    @jinliming2 多谢多谢,第一个肯定不是,哈哈,第二个我试一下👍🤝
    auvt
        7
    auvt  
       2021-11-24 07:36:25 +08:00 via iPhone
    @jdhao 😂试了下,好像发不了图😰
    就是说,屏幕上最后一段不是没显示完么,然后在翻页之后,vim 又重新把上一页没显示完的这一段,又从头显示一遍。也就是说,翻页之后可能有好几行是上页已经看过的……这样看书的话,太难受了,每次翻页要重新找自己上一页看到哪了
    yuyuy
        8
    yuyuy  
       2021-11-24 08:24:43 +08:00
    @auvt 可以尝试下图床
    jdhao
        9
    jdhao  
    OP
       2021-11-24 09:15:25 +08:00 via Android
    @auvt 具体是怎么翻页的,按 j k 还是 ctrl-f ctrl-d 之类的。另外你运行命令 :set scrolloff? 看一下输出是什么
    yuancoder
        10
    yuancoder  
       2021-11-24 11:35:17 +08:00
    @auvt #7 试试 set scrolloff=5
    auvt
        11
    auvt  
       2021-11-24 13:01:01 +08:00 via iPhone
    @jdhao 我是直接 ctrl f 来的。输出是 scrolloff=5 这个好像只是 hjkl 翻页时用的?
    @kunlunsiqu 我学习下😁
    @yuancoder 已经是=5 了😂
    auvt
        12
    auvt  
       2021-11-24 13:01:32 +08:00 via iPhone
    举个例子,分割线里是屏幕:

    -------------------------------
    每次挥手间,总留一抹>
    惆怅。拼凑填满半生浮想,>
    不屑谁说情过缘尽。有多荒>
    凉,忘乎所以间爱的痴狂。>
    一别两宽,细数曾几过往。
    我有一只小毛驴,我从>
    来也不骑,有一天我心血来>
    @@@
    -------------------------------

    ctrl f 翻页之后,下一屏是这样
    -------------------------------
    我有一只小毛驴,我从>
    来也不骑,有一天我心血来>
    潮骑着去赶集,我手里拿着>
    小皮鞭,我心里正得意,不>
    知怎么哗啦啦啦啦我摔了一>
    身泥。
    -------------------------------

    也就是说,翻页之后又把第一屏最下面没显示全的这一段的前两句话:
    “我有一只小毛驴,我从>
    来也不骑,有一天我心血来>”
    又显示了一遍。这样看小说翻页要抓狂了……因为你不知道上次你看到哪了,每次都要重新找……
    jdhao
        13
    jdhao  
    OP
       2021-11-24 13:12:56 +08:00 via Android
    @auvt set scrolloff=0 试试,另外用 ctrl-f 翻页一次滚动太大,建议就按 j k 翻页,ctrl-f 不好控制,适合随意翻动场景
    auvt
        14
    auvt  
       2021-11-24 21:32:51 +08:00 via iPhone
    @jdhao 好的!我试试!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2759 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:39 · PVG 19:39 · LAX 03:39 · JFK 06:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.