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

2021-08-26 14:18:05 +08:00
 charlesliu

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

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

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

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

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

如果你说要给多行加分号不方便,靠 . 就可以:
1. A ; Esc 先加上
2. j . j . j . j . j . 循环然后就把下面几行都加上了
Leviathann
2021-08-26 17:17:35 +08:00
写 ts/js 的话一般是靠 eslint prettier 自动补上
配置一下 run on save 就行
liangch
2021-08-26 19:51:51 +08:00
如果是新写代码,都自己句尾敲的。
DrakeXiang
2021-08-27 00:07:43 +08:00
粗暴批量的话用搜索替换最快,不过要根据需求写好正则,如果需要词法解析的话可能就不行
ruidoBlanco
2021-08-27 08:27:49 +08:00
qaA;<ESC>jq999@a
perrot
2022-06-12 21:43:52 +08:00
:%s/$/;/g

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/798135

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX