求助[vim]:有什么快捷键可以自动的在句尾添加分号; - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
charlesliu
V2EX    Vim

求助[vim]:有什么快捷键可以自动的在句尾添加分号;

  •  
  •   charlesliu 2021-08-26 14:18:05 +08:00 3108 次点击
    这是一个创建于 1506 天前的主题,其中的信息可能已经有所发展或是发生改变。

    A;ESC还是不太方便, google 了,但是由于是刚学 vim,还不太懂,就来这里向老哥先讨个答案,回头再慢慢了解

    13 条回复    2022-06-12 21:43:52 +08:00
    byzf
        1
    byzf  
       2021-08-26 14:28:03 +08:00
    句号
    korokke
        2
    korokke  
       2021-08-26 14:29:27 +08:00   2
    加到.vimrc 里面,可以在句尾添加分号同时光标位置不变。再怎么样也要两个键,只用一个键的话没啥好办法,分号本身有自己的作用。
    nnoremap <Leader>; m'A;<ESC>`'
    Goooogle
        3
    Goooogle  
       2021-08-26 15:07:17 +08:00   2
    #2 2 楼给是的正确的姿势,我稍微解释一下吧
    这一行是在 normal mode 下,将 "<leader>;" 也就是 ",;" 映射成为 后面那堆按键。
    其中 "m'" 和 "`'"分别是将当前位置标记为 "'",然后在执行完对应的操作后返回该位置。

    上面提到的所有信息都可以在<<Learn Vimscript the Hard Way>>中找到,可以作为进阶资料
    andy2415
        4
    andy2415  
       2021-08-26 15:09:43 +08:00
    只有一次这种操作: A;ESC
    重复几次: .
    重复很多次: 宏录制 q
    经常需要: nnoremap
    2i2Re2PLMaDnghL
        5
    2i2Re2PLMaDnghL  
       2021-08-26 15:31:18 +08:00
    如果要为连续的若干行都作此处理,可以 <c-v> 块状选中多行再 A;<ESC>,这样的话就是多行都这么处理。
    或者<s-v> 选中以后 :s/$/;/ (按 : 后会自动补 '<,'> 表示选中范围,在那之后继续打 s 就成)
    stimw
        6
    stimw  
       2021-08-26 15:37:15 +08:00 via Android   1
    可以看看 practical vim,中文书是 vim 实用技巧,可以对 vim 有个比较详细的了解。

    之后遇到问题就可以自己摸索了。折腾 neovim 配置之类的。

    现在不太想折腾了直接 vscode vim 和 ideavim 完事...
    nickchenyx
        7
    nickchenyx  
       2021-08-26 16:45:14 +08:00   1
    @korokke nnoremap <leader>; A;<ESC>`^ 这样比较好,不会使用标记字段,`^ 会跳到上一次 insert mode 离开的地方
    namelosw
        8
    namelosw  
       2021-08-26 16:52:56 +08:00
    A ; 还不方便?一般 VIM 的操作都要三个键,这两个都已经算比较方便的了。

    如果你说要给多行加分号不方便,靠 . 就可以:
    1. A ; Esc 先加上
    2. j . j . j . j . j . 循环然后就把下面几行都加上了
    Leviathann
        9
    Leviathann  
       2021-08-26 17:17:35 +08:00 via iPhone
    写 ts/js 的话一般是靠 eslint prettier 自动补上
    配置一下 run on save 就行
    liangch
        10
    liangch  
       2021-08-26 19:51:51 +08:00
    如果是新写代码,都自己句尾敲的。
    DrakeXiang
        11
    DrakeXiang  
       2021-08-27 00:07:43 +08:00
    粗暴批量的话用搜索替换最快,不过要根据需求写好正则,如果需要词法解析的话可能就不行
    ruidoBlanco
        12
    ruidoBlanco  
       2021-08-27 08:27:49 +08:00
    qaA;<ESC>jq999@a
    perrot
        13
    perrot  
       2022-06-12 21:43:52 +08:00
    :%s/$/;/g
    关于   帮助文档     自助推广系统     博客     API     FAQ     Solana     5870 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 03:37 PVG 11:37 LAX 20:37 JFK 23:37
    Do have faith in what you're doing.
    ubao 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