- 主题:自从 vscode出来, sublime等编辑器就再也风光不再了吧
不会用点.的,都不算真的会vim。
【 在 smthxes 的大作中提到: 】
: 你们都真的会用vim?实际上hjkl只用来微调移动操作,vim真正常用的移动操作是词,行,段,屏,文等移动命令,比如词首词尾(大小写可以控制是以空格还是以非字母为分隔符),行首行尾,段首段尾(用不同的括号界定),文首文尾,屏顶屏底屏中,整翻页半翻页,前次后次光标位置,以及指定行数与等移动方式,配合不同编辑命令可以快速灵活精准的实现竖选横选复制粘贴等编辑操作,再配合各种重复命令以及一些高效的插件,只需手不离键盘(连手腕都不用抬),即可快速高效的完成各种编辑操作
:
--
FROM 118.122.107.*
一言难尽,油管很多这方面的视频,你有兴趣可以看看。
实在懒得那么多字,让BingGPT生成写篇简述你看看吧,虽然没详讲各种痛点用法:
vim是一款强大的文本编辑器,它有许多高效的操作方式,其中之一就是点命令。点命令可以让你重复上一次的修改,无论是插入、删除、替换还是其他操作。点命令的使用技巧介绍如下:
- 点命令可以和数字结合使用,例如2.表示重复上一次的修改两次,3.表示重复三次,以此类推。
- 点命令可以和移动命令配合使用,例如j.表示向下移动一行并重复上一次的修改,k.表示向上移动一行并重复修改,w.表示向后移动一个单词并重复修改,b.表示向前移动一个单词并重复修改等。
- 点命令可以和查找命令配合使用,例如f.表示查找下一个字符并重复修改,F.表示查找上一个字符并重复修改,t.表示查找下一个字符之前的位置并重复修改,T.表示查找上一个字符之后的位置并重复修改等。
- 点命令可以和替换命令配合使用,例如r.表示替换当前字符并重复修改,R.表示进入替换模式并重复修改,s.表示删除当前字符并进入插入模式并重复修改,S.表示删除当前行并进入插入模式并重复修改等。
- 点命令可以和撤销命令配合使用,例如u.表示撤销上一次的修改并重复撤销,U.表示撤销当前行的所有修改并重复撤销等。
点命令是vim中最简单也最强大的命令之一,它可以帮助你快速地完成文本编辑任务。掌握点命令的使用技巧,可以让你在vim中更加得心应手。
我再补充一个简单示例吧:比如你想选择性查找替换一部分'printf('为'fprintf(stderr, '。那么先/printf(回车,你会找到第一个,假设是你需要替换的,你输入cf(fprintf(stderr, 再按ESC或者alt+j或l退出编辑模式,手工完成了一个替换。然后按n,光标跳到第二个printf(,你发现不是你需要的,继续按n,又找到一个需要替换的,这时候你就不用重新上面的c命令那一大堆按钮了,直接按.命令,立刻完成替换,然后继续按n查找下一个。需要替换就按下点,不需要就连按n。
点命令简而言之就是重放行缓冲内的破坏性操作。
【 在 philbloo 的大作中提到: 】
: 我用了十几二十年vi还是只会用最基本的操作
: 请教一下.是怎么个用法?谢谢
--
FROM 171.88.43.*
只要是能分离出来的模块,我都是用Rust来写,能不用C++的就尽量不用,特别是新代码,C++只维护无法分离的旧主干代码。
话说Rust写.so挺方便的。
【 在 hgoldfish 的大作中提到: 】
: 太糙了啊。。感觉不是好的实践,不应该被鼓励。
: 我以前也搞过一个这种在云端编译的项目。后来我负责的 cpp 模块被我独立出来,编译成 .so,结合 python ctypes 做单元测试,或者自己手工模拟环境测试。难道你们都是直接拿到线上跑的?
:
--
FROM 171.221.52.*