101
iEverX 2015-12-25 00:05:48 +08:00
vim 是开源的, sublime 是花钱的,所以转到 atom 和 vscode 了
|
102
iEverX 2015-12-25 00:06:46 +08:00
vim 是开源的, sublime 需要买,所以转到 atom 和 vscode 了
|
103
chemzqm 2015-12-25 00:09:42 +08:00
vimscript....会了以后才发现编辑器还可以这么玩
|
104
djyde 2015-12-25 01:37:22 +08:00 2
我不明白为什么很多人说 vi 因为可以在 terminal 里使用就『完胜』 sublime.. 很想知道大家都是直接在 server 上写代码的吗?我们讨论的难道不是日常 coding 时的对比么?很多人总是喜欢先利用别人的局限假定一个场景然后说『你能这样吗?』、『你用它这样做给我看看?』
还有人讨论打开几百 M 的文件对比速度的。我唯一因为打开文件速度慢而舍弃的编辑器是 Atom ,因为打开一个 1MB 以上的文件或者 uglify 后的 single line 文件都会慢得不能让我接受,这在日常开发都是经常会遇到的。我又很想知道大家在日常开发的时候什么会打开几百 M 的文件?这种对比真是无聊。 我很少用 vi ,但是我相信 vi 能做的事情和 sublime 能做的事情是同样的。谁也不会比谁多或比谁少。我见过很多和我一样是写前端的,用 vi 写前端和我用 sublime 写没多大区别, syntax highlight 你有我也有。他用 vi 很开心,我用 sublime 也很开心。反正只要我们都是用两空格缩进我就开心,管你用什么 editor. :P 用 vi 还是用 sublime ,我觉得很大部分的选择其实在于自己先接触的是哪一个,先用习惯了一个,我觉得很少人会有时间和精力再学习另一个了。我也经常羡慕用 vi 用得很 6 的朋友(因为我个人很喜欢 CLI ),但是学 vi 对现在的我来说已经没有足够的精力(我是尝试过的),而且没多大的必要了。 说用 vi 是在装逼的人我都不知道说啥好,不过说出这种话的人如果不是出于自嘲,大概也称不上是一个 coder... |
107
KentY 2015-12-25 05:33:16 +08:00
@zonghua 当你想用电脑快速打字, 你一定要熟悉键盘布局, 注意, 常用的键盘布局你要适应一段才能盲打. 你也费了苦心, 但这个值得.
顺便, "废"是错别字, 这里纠正一下, 因为"苦心"不会白"废" |
108
ncisoft 2015-12-25 06:08:39 +08:00
@djyde 回答你我不明白为什么很多人说 vi 因为可以在 terminal 里使用就『完胜』 sublime 的问题吧
做为开发环境,同时需要一个编辑窗口,一个编译窗口(可选),一个单元测试窗口,一个服务器启动停止窗口(看日志总是要的),一个数据库操作窗口(可选),一个帮助窗口查 manual (可选),若想才在同一屏上都能操作,以我有限的知识,这只能用平铺窗口管理器或者是更简单的 tmux 才能达成目标,否则就得不停地切换窗口。 即使是不在 server 上写代码,也不妨碍用这种方式做为开发方式。 sublime 不能在 terminal 上用,也就使得上述的使用方式无法成立, vim/emacs 则完全不同,天生适应 terminal ,所以说完胜。 可能因为你是写前端的,体会不到这种开发模式的便利性,但如果是后端甚至是内核开发,就完全不同了。 |
109
KentY 2015-12-25 06:16:24 +08:00
@ncisoft 非常同意你的意见. 我一直用 vim, 但是 80%以上都是在终端用 vim , tmux, c-z, fg 非常顺, gvim 虽然优势很多, 比如色彩支持,一写特殊按键的映射容易度等, 但实在不愿意没事就 alt-tab 换窗口. 在这个问题回答里, 我也提到这个, 虽然是主观看法:
http://stackoverflow.com/questions/22517896/linux-gvim-vs-vim/22520443#22520443 |
110
ncisoft 2015-12-25 07:27:35 +08:00 via Android
@djyde 补充,在平铺窗口管理器上用 ST ,还是可以的,可惜我没找到 winWindows 上可用的平铺窗口管理器,窗口边框实在太大,远不如 tmux 细细的一条线来切分窗口看着清爽(在 tmux 中叫 panel )
|
111
v2014 2015-12-25 07:46:22 +08:00
vim 敢叫 vim , Sublime 不敢叫 vim
|
112
dsdshcym 2015-12-25 08:26:17 +08:00 via Android
|
113
IndexXuan 2015-12-25 08:26:53 +08:00 via iPhone
两个都用,近一年 vim 越来越多
1. 按键绑定随心所欲,语法简单(最爱行内移动绑定 emacs 按键)。 2. 和命令行窗口结合,轻量快捷。 3. 底部直接执行命令,功能强大。 4. 原生的 vim 模式比插件 vim 模式会强大很多!!! 5. vim 定制性更随心所欲一些,网上 cp 几行 vimscript ,就更加一个很有趣的功能很好玩。 不得不说,写代码重点是脑子。。。多写。。。少质疑别人的工具,对两者用户都是。。。 |
114
sinux 2015-12-25 08:46:11 +08:00
这就好比 a1 驾照和 C 驾照的区别。会 vim 去用普通编辑器也不过就是随便用用 ctrl shift 之类的问题而已,而只会 SublimeText 可算不上什么本事。你也知道 SublimeText 的便利性,便利到谁都会用,反过来则不是这样的,我见过很多人在命令行下甚至不会用 git 的默认的编辑器 nano ,这算是 CLI 下最简单的了吧?
|
119
qianlifeng 2015-12-25 09:51:46 +08:00
sublime 有宏么?
|
120
ben548 2015-12-25 09:55:35 +08:00
逼格
|
121
zhaoshanhe 2015-12-25 10:02:03 +08:00
我感觉记事本用的 6 也是一样的 屌不屌还得看代码 用啥写代码完全看个人喜好
|
122
lightening 2015-12-25 10:21:52 +08:00
@chemzqm Sublime 用 Python ,怎么看都比 Vimscript 好用。
|
123
lightening 2015-12-25 10:25:02 +08:00
@gmgardus 这个现在很多人推崇。因为现在如果你用笔记本的的话,鼠标(触摸板)离你平时打字的位置其实是非常近的,移过去操作一下其实非常快。
|
124
ispinfx 2015-12-25 10:28:35 +08:00
Emacs 用户表示情绪稳定… Elisp 和 Vimscript ,果断前者…
|
125
luikore 2015-12-25 10:37:06 +08:00
sublime 用 python
emacs 用 elisp atom 用 coffee vim 可以用 vimscript / lua / python / ruby / perl / tcl 而 textmate, 可以用任何语言写插件 http://screencasts.textmate.org/intro_to_tm_dialog.mov |
127
matrix67 2015-12-25 10:42:42 +08:00 via Android
统一回复一下,彩虹分割是个插件,我绑定一个快捷键而已
|
128
datou552211 2015-12-25 10:59:53 +08:00 via iPhone
@hackevin 当遇到堡垒机
|
129
bramblex 2015-12-25 11:04:18 +08:00
@lightening vim 还能用 python / lua / ruby 写插件呢……无知不要拿来炫耀
|
130
Changxu 2015-12-25 11:07:03 +08:00
就觉得 Vim 的编辑键位比较方便,没别的了。。。所以我现在用 Emacs 但是编辑键位还是 Vim 的
|
131
bramblex 2015-12-25 11:17:44 +08:00
@luikore 其实 vim 命令行的亲和性使得 vim 可以轻松利用任何命令行工具来增强自己的功能……这点还是必将强的。
而且 vim 打开了就是 vimscrpt 的 repl ,这跟支持 xxx 语言的插件根本不可同日而语。 |
133
xuboying 2015-12-25 11:48:50 +08:00 via Android
vvim 的 Python 补全没有 vs 做的好,所以我用 vs 啦
|
134
bikegl 2015-12-25 12:34:19 +08:00
vim 已经内化到我的系统中,用的时候感觉不到它的存在
|
135
zzn 2015-12-25 12:53:27 +08:00
彩虹分割是什么鬼?
|
136
ncisoft 2015-12-25 13:41:37 +08:00
@KentY 看了你的 retmux ,非常棒,目前 tmux 1.9a 之后支持 pannel 最大化和恢复, prefix c-z 即可,很好用
|
137
ncisoft 2015-12-25 14:10:16 +08:00
更爽歪歪的是, tmux 可以配置成 vim keybind 方式使用, copy/paste 用一样的方法。没有一个工具,具备 vim keybind 这样广泛的病毒特征。学会 ST 的 keybind 只能自己暗爽,换个环境就得苦逼地训练新的肌肉记忆。说句透露年龄的话, 20 多年前,我上大学一上机就用的是 vi ,一色的 vt 终端,没想到到了现在基本用法还没过时,站在学了不过时的角度来说,到迄今为止, vim 完胜 ST 。
从 IDE 角度来说,我用过感觉最好的是 Ietellij IDEA ,重构不要太爽利,自动补全这些就不用说了,写 java 必备啊,写 c 、脚本语言这种类库不那么复杂、类名、变量名不那么冗长的, vim 挺好用。补说一句, IDEA 也提供 vim keybinding |
138
zlandjj 2015-12-25 14:30:32 +08:00
vim 不用鼠标。 尤其是服务端码农。
|
139
zlandjj 2015-12-25 14:42:48 +08:00
为什么我在这里回答问题还减分呢? vim 确实是可以不用鼠标的啊。
|
140
luikore 2015-12-25 14:45:38 +08:00
@bramblex 调用命令行工具都没问题的.
textmate 不同的地方是命令脚本通过 shared file descriptor 和编辑器通信, 所以在任何语言里都能控制编辑器行为, 而其他编辑器最终还是得写宿主语言才能控制编辑器行为 interactive shell 只是把 terminal 的功能复制到编辑器中而已, 不太符合 TextMate 的 unix 哲学, 要做插件也可以像 r-console-rdaemon 这么做 |
142
bramblex 2015-12-25 15:04:38 +08:00
|
143
luikore 2015-12-25 15:38:01 +08:00
@bramblex 相反, 我对绝大部分编辑器都熟...
我平时是 vim 和 textmate 混用, vim 的一个重要优势是用户群比 textmate 大, 有很多脑洞插件, 但 remote 模式不是我用 vim 的原因... 而主要用 textmate 是因为用户体验比较好, 例如字体渲染, 动画效果等, 插件也最容易制作 (vim 和 emacs 里我也写过一些, 但并没有在 textmate 写插件命令的体验好) |
146
KentY 2015-12-25 17:29:33 +08:00
我就不回复具体人了.
有朋友说道触摸板, 鼠标, 离键盘近所以效率也不低. 这些其实也对, 但是还是说, vim, emacs 这些编辑器, 的确是支持鼠标的, 可是他们优势不是对鼠标能做什么高级功能. 你用好了别说手离开键盘, 手都不想离开键盘的 home row. 不是说这就能多快多有效率, 只是看问题的角度不同. |
147
KentY 2015-12-25 17:35:22 +08:00
@ncisoft 谢谢你试用 retmux 其实两年多前在我写这个的时候, 已经有一些类似功能的应用了, 甚至提供更多的功能, 比如进程的恢复等. 但是我想要个备份, 恢复起来很快很方便的. 一些软件要自己手写一个配置文件, 然后 tmux 起的时候加载那个, 形成初始的布局和目录啊等. 为什么不能在 tmux 用的时候觉得这个布局或状态我以后会用, 一行命令就存了. 呵呵. 就跟这个帖子争论的一样, 各人使用习惯和角度不同吧.
另, 你有个笔误, 你说的 tmux 功能应该是 prefix + **z**, 不是 prefix + c-z, 因为 c-z 怎么都会把 tmux 给扔后面去;) |
148
mozartgho 2015-12-25 17:38:30 +08:00
vim 的搜索非常难用,我非常喜欢 SublimeText 和 notepad++的搜索功能,搜索结果直接显示在一个 panel 里,单击结果跳转到对应行
|
149
KentY 2015-12-25 17:40:50 +08:00
@ncisoft 我也是用了 15+年的 eclipse, 换到最后这个公司统一要求 intellij, 硬着头皮换了以后发现, 200 多欧的价格不是白给的, 确实比 eclipse 厉害, 只是没有 vim 真没法顺利的用.幸好有 idea-vim 的插件, 虽然和 vim 自身无法比, 但比 eclipse 里的一系列插件好太多了.
还有在 intellij 类的 ide 里, 配置好外部编辑器 vim, 也觉得天空又亮了一些. |
150
KentY 2015-12-25 17:44:23 +08:00
@mozartgho :h vimgrep :h quickfix :h location-list :h :g
搜索是文本编辑器最最常用的功能之一了, 作为 vim 这种那么多人用的(先不说好坏)编辑器, 搜索怎么会"非常难用" ? 你说呢? 搜索的方法真太多了. 你说的那个放到一个 panel 里跳转的搜索大概 20 年前就没问题了.可能你没发现.. 还有比较常用的, 比如搜索一个字符串, 把包含这个字符串的所有行都 copy 出来等等这些...都是 vim 默认就带的了 |
151
billlee 2015-12-25 19:50:41 +08:00
less
vim readline vi mode tmux vi keybinding 都能用同一套快捷键 |
152
xuboying 2015-12-25 22:14:28 +08:00
借这个帖子的人气,请教一下如何让 vim 的 wxpython 匹配做的和 visual studio 一样好
毕竟可能会到 linux 下开发,就没有 vs 用了 https://pbs.twimg.com/media/CW1PtWTUEAAsQco.png:large |
155
Arnie97 2015-12-26 00:06:51 +08:00
@billlee readline 默认是 emacs …
作为 vim 党,好不容易学会了这套热键,不久就发现,原来还有 vi mode … |
158
tracyone 2015-12-26 00:33:41 +08:00 via Android
|
159
Earthman 2015-12-26 00:34:54 +08:00 via Android
你们那么叼,怎么没人写高阶 vim 教程
|
162
tracyone 2015-12-26 00:48:03 +08:00 via Android
@Earthman 你看了这么多。回复你也知道,用 vim 最基本就是记住众多按键,然后练熟悉,简单改改配置,用用插件,这算低阶咯,高阶就直接写插件或者给 vim 贡献代码,给你几个链接,看看程序员多疯狂。
https://github.com/Shougo https://github.com/tpope |
163
Epirus 2015-12-26 03:01:10 +08:00
vim+tmux =♡(IDE)
Undotree macros goyo(like ai-writer) nvim(terminal ) ... to be lazy~ |
164
Evovil 2015-12-26 09:08:04 +08:00
@djyde 话说的不要这么绝对。。就同 @tracyone 一样, 1 我就在服务器写代码,编译组件和调试 2 我也做嵌入式平台,涉及到交叉编译,没有 vim/Emacs ,怎么写代码??
这还不是关键,怎么调试? vim 和 gdb 配合仿真器调试最好不过了 另, linux 内核调试, linux 驱动调试和编写? Sublime ?。呵呵 开着 windows 拿鼠标在花花绿绿的 os 下写代码的,不要把你们的想法强加在只有个黑屏幕满屏幕密密麻麻字写代码的人身上。。 所谓神器 就是。。。。。。。 在什么都没有(甚至鼠标)的情况下,可以写代码,编译,调试。 上手之快,效率之高。 我曾经 ssh 到服务器就用 vim 和 ipdb 紧急调试了服务器发布的源码。 sublime ? |
165
dalang 2015-12-26 10:25:18 +08:00 via iPhone
要想挑起编辑器的圣战,我觉得还轮不到 ST 来插一脚吧
|
166
bugsnail 2015-12-26 10:42:53 +08:00
楼主, 你用 sublime text 和 vim 打开一个 40M 以上的文本文件试试, 别说遇不到, log 大于 40M 的有的是, 如果加上其它操作, 呵呵
各有各的优点, 只是基本功 VIM 是无话可说的 |
167
yan97ao 2015-12-26 14:28:15 +08:00
帮助乌干达的小朋友
|
168
zhaihaifeng123 2015-12-26 17:17:25 +08:00
@djyde 介绍一下, ICer 确实都在 server 写代码和工作的, vim 是基本工作技能之一。
|
169
ghostheaven 2016-03-03 17:21:10 +08:00 via Smartisan T1
在没有 ui 的服务器上
|