一起来分享一些曾让你茅塞顿开的 Vim 命令

2023-02-06 09:10:56 +08:00
 akring

我先抛个砖,想看看大家的分享:

ciw    (删除当前单词并进入编辑模式)


ci{    (删除 {} 内的内容并进入编辑模式,同理可用于括号,双引号等,重写函数的时候非常好用)


ctrl o (编辑模式下暂时切换到 normal 模式,可以执行一条非编辑模式下的命令)
8082 次点击
所在节点    分享发现
92 条回复
EyebrowsWhite
2023-02-06 09:19:48 +08:00
第二条的大括号可以用大写 B 代替,小括号可以用小写的 b 代替,按起来舒服些
clecho
2023-02-06 09:23:25 +08:00
ciw 我还真不知道,不过看见过 viw ,vi{。作用是选中单词,用法和你上面举例一样
yzld2002
2023-02-06 09:26:18 +08:00
@EyebrowsWhite #1 学到了,感谢!
szyp
2023-02-06 09:29:22 +08:00
:set paste 可以进入不丢失缩进的粘贴模式
nba2k9
2023-02-06 09:34:57 +08:00
:q! :wq
记住这两个,别的什么都好说
akring
2023-02-06 09:37:02 +08:00
@nba2k9 Vim 界的 rm -rf 是吧 😂
HiHi
2023-02-06 09:39:20 +08:00
1. ga 查看字符编码
2. <c-q> 输入编码得到字符
3. c-a,c-x 实现数字简单++--,(win 下要注意 unmap 掉这两个快捷键,默认可能因为 behave win 变成了全选跟剪切)
4. :e! 放弃修改重新加载文件
zdt3476
2023-02-06 09:42:52 +08:00
我习惯用 caw 从描述来看好像和 ciw 一样? 还有就是我比较喜欢用 ctrl+v 进行整列编辑
jorneyr
2023-02-06 09:51:10 +08:00
:x 保存退出
jdhao
2023-02-06 09:54:38 +08:00
这个叫 text object ,非常有用,绝对是使用 vim 的 top 必备技能
jdhao
2023-02-06 09:55:48 +08:00
@zdt3476 不一样,caw 会删除 word 周围的空格,ciw 不会
cluulzz
2023-02-06 09:57:38 +08:00
ggdG,ctrl v
moreant
2023-02-06 10:00:25 +08:00
前两个都属于文本对象的操作,有时候写 html 的时候可以 cit/cat 删除整个 tag ,挺方便的。

就是一直想知道 vim 要如何实现类似 IDEA 里 <a-j> 的选中下一个单词(Select next occurrence)
acoada
2023-02-06 10:02:48 +08:00
normal mode:
ctrl-a 让光标后面第一个数字 +1
ctrl-x 让光标后面第一个数字 -1

也可以通过 visual mode 控制操作的数字的范围
akring
2023-02-06 10:06:17 +08:00
@cluulzz
感谢分享,ggdG 应该是删除全文 ( gg + d + G 复合起来的),ctrl+v 是楼上 @zdt3476 提到的进行整列编辑

大家分享命令的时候还是尽量带一下用法和作用吧,这样不熟悉 vim 的小伙伴也能看懂
eaststarpen
2023-02-06 10:07:23 +08:00
dit, dat, cit, cat, di", ci" ......

就像 @jdhao 说的, 很方便的 "modify" 特定范围的 "character sequences"

`dit` means delete in tag(personaly)

在修改 xml 和 html 时候很有用

此外, di" 这种不一定要在引号中才能用, 他会自动向后寻找

e.g. "this is <光标>a 'example'" 在 <光标> 处 ci' 会自动删除 example 并进入 insert mode

for more: h text-objects
Diphia
2023-02-06 10:11:24 +08:00
@moreant 不确定你要找的是不是 *
leexiaolang
2023-02-06 10:12:57 +08:00
@acoada 多光标操作? 如果是这个需求的话可以插件 vim-visual-multi 实现
nowto
2023-02-06 10:39:47 +08:00
view xyz.txt (或者 vim -R xyz.txt)以只读模式打开文件,相当于 less xyz.txt 或 more xyz.txt
但是 是用 vim 查看文件
cassyfar
2023-02-06 10:46:11 +08:00
:o 插入新的一行并编辑

ctrl + v 进入视觉编辑模式

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

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

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

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

© 2021 V2EX