A;ESC
还是不太方便, google 了,但是由于是刚学 vim,还不太懂,就来这里向老哥先讨个答案,回头再慢慢了解
![]() | 1 byzf 2021-08-26 14:28:03 +08:00 句号 |
![]() | 2 korokke 2021-08-26 14:29:27 +08:00 ![]() 加到.vimrc 里面,可以在句尾添加分号同时光标位置不变。再怎么样也要两个键,只用一个键的话没啥好办法,分号本身有自己的作用。 nnoremap <Leader>; m'A;<ESC>`' |
![]() | 3 Goooogle 2021-08-26 15:07:17 +08:00 ![]() #2 2 楼给是的正确的姿势,我稍微解释一下吧 这一行是在 normal mode 下,将 "<leader>;" 也就是 ",;" 映射成为 后面那堆按键。 其中 "m'" 和 "`'"分别是将当前位置标记为 "'",然后在执行完对应的操作后返回该位置。 上面提到的所有信息都可以在<<Learn Vimscript the Hard Way>>中找到,可以作为进阶资料 |
4 andy2415 2021-08-26 15:09:43 +08:00 只有一次这种操作: A;ESC 重复几次: . 重复很多次: 宏录制 q 经常需要: nnoremap |
5 2i2Re2PLMaDnghL 2021-08-26 15:31:18 +08:00 如果要为连续的若干行都作此处理,可以 <c-v> 块状选中多行再 A;<ESC>,这样的话就是多行都这么处理。 或者<s-v> 选中以后 :s/$/;/ (按 : 后会自动补 '<,'> 表示选中范围,在那之后继续打 s 就成) |
![]() | 6 stimw 2021-08-26 15:37:15 +08:00 via Android ![]() 可以看看 practical vim,中文书是 vim 实用技巧,可以对 vim 有个比较详细的了解。 之后遇到问题就可以自己摸索了。折腾 neovim 配置之类的。 现在不太想折腾了直接 vscode vim 和 ideavim 完事... |
7 nickchenyx 2021-08-26 16:45:14 +08:00 ![]() @korokke nnoremap <leader>; A;<ESC>`^ 这样比较好,不会使用标记字段,`^ 会跳到上一次 insert mode 离开的地方 |
8 namelosw 2021-08-26 16:52:56 +08:00 A ; 还不方便?一般 VIM 的操作都要三个键,这两个都已经算比较方便的了。 如果你说要给多行加分号不方便,靠 . 就可以: 1. A ; Esc 先加上 2. j . j . j . j . j . 循环然后就把下面几行都加上了 |
9 Leviathann 2021-08-26 17:17:35 +08:00 via iPhone 写 ts/js 的话一般是靠 eslint prettier 自动补上 配置一下 run on save 就行 |
10 liangch 2021-08-26 19:51:51 +08:00 如果是新写代码,都自己句尾敲的。 |
11 DrakeXiang 2021-08-27 00:07:43 +08:00 粗暴批量的话用搜索替换最快,不过要根据需求写好正则,如果需要词法解析的话可能就不行 |
12 ruidoBlanco 2021-08-27 08:27:49 +08:00 qaA;<ESC>jq999@a |
13 perrot 2022-06-12 21:43:52 +08:00 :%s/$/;/g |