- 主题:自从 vscode出来, sublime等编辑器就再也风光不再了吧
对复杂语法的语言我永远选择最懂它的IDE,比如C++绝不考虑Visual Studio以外的
任何开发工具。我相信等老码农死光光了以后,这样考虑问题的年轻人会越来越多。
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 码农里面用vscode的vim插件的很多很多。。。基本上,除了多光标编辑这一项,其他的体验,vim都要比vscode原生编辑方案效率高。
:
: 码农需要的,是在不碰鼠标的前提下,在一屏幕或者上下几屏幕之内迅速定位跳转、删除或修改一个词、一个代码块,等等。这方面,vscode的ctrl f远远比不上vim的f、/、sneak等,vscode的智能选择功能也远远比不上vim的ciw da{,更不用说宏录制什么的。
:
: vim基本上是给专门为码农编码定制的东西,虽然很老了,大概有一半的设计现在看起来很二,但是另一半直到现在基本依然是码农刚需。
:
: 当然,当你不是那么高密度写代码的时候,右手搁在鼠标上也能接受,那么原生vscode的效率其实也还凑合
--
FROM 122.97.253.*
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 你说的这个问题和我说的是正交的,基本没关系。
: 比如说,我要写typescript,那无疑vscode本身对ts的语法是最懂的。但是编辑能力和语言支持是两件事,vscode在纯编辑这方面,无疑是鼠标取向的,大部分操作离开鼠标就玩不转,所以vscode的vim插件才那么受欢迎。事实上各IDE基本都有各自的vim mode插件,使用率应该都不低
别的不知道,宏定义方面,我认为Clever VSCode插件比vim要合理的多,想清楚自己要用
哪些宏,一次性把宏象写代码那样写清楚,然后一劳永逸地用最短快捷键完成,可以证明
这种无状态的操作方式一定比有状态的节省击键次数。
--
FROM 122.97.253.*
ahk局限性很大,甚至换一个物理键盘都会出幺蛾子。
Clever VSCode可以自动根据文件类型选择快捷键组,比如我现在同时写tex和
处理tex的py代码,切到tex就是我定义那堆tex的快捷键,切到py就是py的,
根本不用过脑子。
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 至于你刚才说的用vscode的快捷键编辑或者snippets能力来简化latex的输入,这也其实也不新鲜啊,不用vscode还可以用ahk来搞,我的vscode自定义快捷键也积累了有上百条了,有些vscode解决不了的(比如著名的vscode无法完美交换caplock和ctrl),还得用ahk补充。
: 现在vscode已经是很大比例码农吃饭的家伙了,不是说它不好,只是说它的优点和vim的优点不在一个维度上,现在很多人是通过vscode+vim 插件的方式来同时享受这两个维度的优点。
--
FROM 122.97.253.*
用json写功能序列有什么不好吗?易读易维护,我甚至可以用代码自动生成一些宏。
我相信迟早有人会开发出更好的插件来,可以像写python那样写宏。
原先在NotePad++里都是用录制宏,正因为录制宏搞得我非常头疼,才看出Clever的好来。
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 去看了一下clever插件的macro,用json写功能序列啊。。。你应该试试vim模式的q,有写一个clever序列的时候,我能录20个vim宏序列了。。。
:
: 话说回来,大家对vim入门都会碰到hjkl这种弱智设计,:wq才能退出这种弱智设计,殊不知,其实vim真正的主流用户,使用hjkl的频率,可能远远没有使用f t 以及各种高级跳转的频率高。我敢说,一个ciw ci(,就能把多少码农都栓死在vim上。
:
: 另外,因为各ide都有vim模式的插件,所以vim可以说是一次学习,到处受益的。vscode可以努力积累插件、自己写snippets,来逼近一部分vim的效果,但是当你换到vs或者webstorm pycharm的时候就抓瞎了,又是完全不同的另一套。这也是大家go vim的原因之一。
话说自从上了VSCode的贼船,我就把PyCharm删了。。。
--
修改:Jacqueline FROM 122.97.253.*
FROM 122.97.253.*
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 至于你刚才说的用vscode的快捷键编辑或者snippets能力来简化latex的输入,这也其实也不新鲜啊,不用vscode还可以用ahk来搞,我的vscode自定义快捷键也积累了有上百条了,有些vscode解决不了的(比如著名的vscode无法完美交换caplock和ctrl),还得用ahk补充。
话说交换capslock和ctrl这档子事,一来有些高级键盘有开关一拨就可以对换,
二来似乎当年微软是默认大家按ctrl是用鸭掌大法的,不然不会发明Ctrl-XCV这样的
快捷键,用鸭掌大法十分舒服,用小指按ctrl就是作死。除非手特别小,还是推荐
鸭掌大法,这就是为什么ctrl必须占据左下角,奇葩的配列如罗技G910之流去死!
--
FROM 122.97.253.*
这东西当年把我搞疯了,后来全都外接键盘了。。。
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: thinkpad用户哭死,左下角是fn。。。。。
--
FROM 122.97.253.*
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 去看了一下clever插件的macro,用json写功能序列啊。。。你应该试试vim模式的q,有写一个clever序列的时候,我能录20个vim宏序列了。。。
: 话说回来,大家对vim入门都会碰到hjkl这种弱智设计,:wq才能退出这种弱智设计,殊不知,其实vim真正的主流用户,使用hjkl的频率,可能远远没有使用f t 以及各种高级跳转的频率高。我敢说,一个ciw ci(,就能把多少码农都栓死在vim上。
对了,ciw这种东西,我认为显然VSCode Ctrl-Del删光标右边的单词,
Ctrl-Backspace删光标左边的单词,是更加合理的设计(Notepad++一样),
第一根本没有记忆负担,跟Del和Backspace的功能逻辑一致;第二正常情况下
是不大会定位在一个词的中间去删这个词的。
Windows从一开始就贯彻快捷键的简单性、逻辑性和一致性,确保用户在一处
学习的操作习惯可以在所有应用程序中通吃,这是很了不起的。
--
修改:Jacqueline FROM 122.97.253.*
FROM 122.97.253.*
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 那么。。。ci(呢? ca{呢?cit呢(t=html tag)。。。
: ciw只是这一系列中最浅显常用的情况而已
我为什么要记住这一堆奇怪的字符?碰到这种情况我都是shift光标选好了Del完事。
如果需要复杂的批量处理,直接正则表达式替换。
借用王淫的话,vim的设计繁琐性就表现在,企图容纳世界。而UE,Notepad++,
VSCode这样的设计,一上来就不打算包容所有的操作,把简单常用的命令定义了就完事,
剩下的交给用户。对于时间成本稀缺的今日世界,简单易学的东西才是好的。
我相信在座的各位VIM高手,断然比不上我的手速。
--
修改:Jacqueline FROM 122.97.253.*
FROM 122.97.253.*
但凡出现这种场景,一定不是只改一个,所以,正则表达式替换rules all
UE,Notepad++的正则表达式搞定这些不要太容易
我经常干的一件事就是把tex文件所有的$..$替换成\(..\)
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 还有一种很常见的场景,需要吧 [ xxx xxxxx ] 换成 ( xxx xxxx ),或者"xxxxx" 改成 'xxxxx',普通编辑模式极其繁琐,vim模式下一个cs[( 或 cs"' 搞定。
--
修改:Jacqueline FROM 122.97.253.*
FROM 122.97.253.*
Windows设计的时候,基本上算是把常用的快捷键限制在了二十个以内,
而且所有应用程序保持统一。
Unix世界经常误以为人类能记住五十个到一百个快捷键,以及更多的命令行参数。
我是个记忆力平常的地球人,记不住那么些东西。所有那些东西我都得现上网搜怎么用。
有些跨平台的软件在windows底下跑的时候,操作非常蹩手,甚至连打开文件这样的
基本操作,也不符合windows规范,平白无故大量增加击键次数或鼠标移动距离。
可见Unix系的开发人员通常脑子里都没有UI这根弦。。。
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 这不是啥奇怪的字符
:
: ci( = change in (
: ca{ = change around {
: cs[( = change surrounding [ to (
--
修改:Jacqueline FROM 122.97.253.*
FROM 122.97.253.*