Vim / Emacs通过GUI文本编辑器提供了哪些特定的生产率提高?


100

这并不意味着是巨魔或诱饵或类似的东西。我已经将Vim用作我的首选控制台编辑器已有几个月了(用于在终端中编辑配置文件),但是我认为我无法忍受每天编写Web应用程序的正常工作,这是我使用GUI文本编辑器完成的(不重要)。

我觉得我的GUI文本编辑器可以完成我的工作所需的一切。它具有不错的搜索/替换功能,并且都具有自动完成的历史记录。它具有语法突出显示,行编号,选项卡式界面,易于复制和粘贴等功能。我当前的编辑器唯一缺少的是正则表达式匹配,但是有很多GUI文本编辑器可以进行正则表达式搜索/替换。

鉴于我刚才所说的,除了在每台计算机上都安装了Vim(甚至是Emacs)之外,Vim(甚至是Emacs)相对于GUI文本编辑器还具有什么生产力优势。我想要在Vim / Emacs上更好/更快的特定任务,或者是现有GUI文本编辑器无法完成的特定任务。


1
我不记得在我的任何Windows机器上都安装了vim ...
Greg

9
@Greg:它不会被动安装。你出去自己动手。您不是一个真正的软件开发人员,或者您做了很多工作,现在就在睡觉时安装vim。:-)
TED

6
由于这是主观的,因此应标记为“社区Wiki”问题。
STW,2009年

7
@Yoooder:为什么人们不断抱怨社区Wiki问题?我没有发现任何管理社区Wiki的规则。
约翰·史密斯,2009年

Answers:


111

对于Vim:

  • 与大多数编辑器相比,Vim与其他工具(shell命令,脚本,编译器,版本控制系统,ctags等)的集成度更高。:.!在大多数GUI编辑器中,即使是简单的命令(将命令输出通过管道传输到缓冲区中),也无法找到。

  • 选项卡式界面不如Vim / Emacs给您的“窗口式”界面好。您可以同时并排查看两个或更多文件。您在屏幕上看到的内容越多,您就越能自由地思考问题,而不是对变量名和函数签名进行记账。

  • 不要低估Vim正则表达式的功能。有许多特定于Vim的扩展名,以匹配特定的列,标记,光标位置,某些类别的字符(关键字,标识符)等。

  • 集成diffgrep(与平台无关),因此您无需在每次更换计算机时都下载和学习新工具)。

  • 可视块模式(用于编辑列)是许多编辑器所缺少的,但是我离不开它。仅仅使用此功能,我就使工作人员感到震惊和敬畏,他们在几个按键中进行了一些编辑,否则有人会花十分钟进行手动操作。

  • 多个复制/粘贴寄存器。当只有一个时,您最终会经历奇怪的扭曲,以避免破坏剪贴板。不用了

  • Vim的撤消/重做系统无与伦比。输入一些内容,然后撤消,再输入其他内容,由于Vim使用撤消树而不是堆栈,因此您仍然可以取回您输入的第一件事。在几乎所有其他程序中,在这种情况下,您键入的第一件事的历史都会丢失。

  • 在Vim中,移动,复制,粘贴和删除文本非常快。这些命令非常简单,只需一次按键即可操作。将所有时间累加起来,然后进行仔细,费力的鼠标突出显示和Ctrl-X,然后将它们全部替换为da((删除一组匹配的括号和其中的所有内容)。它节省了比您想象的更多的时间

  • 这些小事情,例如*在光标下搜索单词,.重复命令或%在开始和结束之间反弹。这些方法太多了,无法列出。

  • 内置的脚本语言以及强大的键映射和宏功能,因此可以按您需要的任何方式扩展编辑器。大量脚本已经编写并可以下载。

如果仔细观察,您会发现,即使其他编辑器也具有这些功能,Vim通常也会做得更好。所有编辑器都突出显示语法,但是Vim几乎在阳光下都有适用于每种文件格式的语法文件,通常具有许多配置选项,并且编写自己的语法很简单。很多编辑器都可以处理不同的文件编码,但是Vim为您提供了非常具体且简单的方法来设置文件编码并在它们之间进行转换。与Vim当时遇到问题的其他编辑器相比,Vim给我印象最深刻的第一件事是它如何完美地处理制表符/空格缩进选项和Unix / DOS换行符。

其中许多观点同样适用于Emacs(以不同但通常同样强大的方式)。


2
这是一些提高vim生产率的具体事物的好例子。
亚当·普拉姆

14
您忘了提到惊人的跨平台支持。甚至达到在窗口化环境中在命令行上使用同一编辑器的程度。
单身

3
关于选项卡式与窗口式视图的观点有些过时了。我使用过的大多数gui编辑器都允许窗口布局。
肖恩·奥黑尔

1
Emacs中的组织模式极大地提高了生产率。
18bytes 2013年

37

(vim是我的毒药;我相信emacs可以带来类似的收益)

最大的收获是:无需触摸鼠标。

对我而言,最方便的方法是跳几次键(向前跳到特定字母或字母组合,或在跳到特定字母或字母组合之前)。在相同条件下向前跳跃两次或十次,只需在其前面加上一个数字即可。

如果必须重复编辑,则跳至该位置(2-3次击键),然后单击“”。重复上一次编辑。如果搜索条件相同,则向前(或向后)跳转比较容易-一次击键。

基本上,由于交货时间短,您可以学习十或二十个键盘快捷键,这意味着您不必一直动手就可以抓住鼠标。如果您必须不断抓住鼠标,那么这将为您提供三到四倍的编辑动作/命令。

几天后<Down>,当您使用GUI编辑器时,每次需要触摸鼠标(或击中15次)时,您都会感到脾气暴躁。


2
应该注意的是,如果您使用的是gVim(或者安装了gpm且仅在终端中使用普通的vim),则可以根据需要实际使用鼠标。在某些情况下,使用鼠标非常方便。
thebrokencube

1
我已经在我的.vimrc文件中添加了“ set mouse = a”,以防万一我需要刷一堆视觉文件;)
Jeremy Smyth

是的,鼠标可以成为节省时间的工具,用于选择文本区域,或将光标移动到大量文本中的特定位置。否则,那是浪费。
TED

1
从它的声音来看,我可以按照您在其他编辑器中使用Ctrl + Left或Ctrl + Right所做的描述进行操作。我还不断听到您可以执行“ d5w”之类的操作来删除5个单词...但是Ctrl + Delete可以更快地做到这一点。
DisgruntledGoat

4
Ctrl-Right只是向前移动一个单词。您必须做5次才能前进五个字。在vim中,您可以输入5w向前5个单词:)或9w向前9个单词。或)到达下一个句子的开头,或}到达下一个段落。有很多微小的一键或两键快捷键可以在各种巧妙的方向上移动。而且,如果您要删除所有内容,直到您刚刚移动到的位置,只需在移动命令前加上d即可。因此,只需删除3个句子,d3)就
杰里米·史密斯

33

我一直想知道为什么很少有人对Vim提出质疑。观看Vim高级用户的视频:

https://www.youtube.com/watch?v=FcpQ7koECgk

如果您当前的编辑者可以执行他的操作,则无需切换!:)

另外,请阅读此http://www.viemu.com/a-why-vi-vim.html

观看视频并阅读了该文章后,我别无选择,只能开始学习VIM。自从我改用VIM以来已经快一年了,我无法想象使用其他任何工具。


4
哇,那些视频真棒!感谢您发布它们!
thebrokencube

非常有趣的视频,可惜我花了很长时间才在实践中记住它们。:)
Frerich Raabe

8
第一个视频的作者需要学习可视块模式-更改底部的文本块要比宏更快。
彼得

23

我认为专用文本编辑器的真正功能之一就是宏编辑。重复对于许多程序员来说是痛苦的,编写适当的宏可能很有趣。如果您没有通过键盘完成所有操作,则创建宏将需要一组额外的命令,而不是利用已经在使用的命令。


5
可定制性是几乎所有GUI编辑器都缺少的功能。您可以使用3rd party宏扩展实用程序(AutoKey,随便什么)来帮助解决这些问题,但是将其内置到编辑器中非常方便。
Alex Feinman

哦,记录下来。我使用Microsoft产品,并且将VimEmu用于Visual Studio真是天赐之物。还是喜欢回家到我的终端机和Vim :)
Stefan Mai

1
ViEmu绝对是天赐之物。我要说的是,没有它,Visual Studio是绝对无法使用的。:)
thebrokencube

1
Windows上的Textpad具有此功能,并且非常简单:点击“记录”,执行宏,然后保存。您也可以为其分配快捷方式。不幸的是,我还没有在Linux上找到类似的东西(TP在Wine上可以工作,但是看起来很丑,并且缺少一些Linux功能)。
DisgruntledGoat

1
@DisgruntledGoat-如果您可以认为ctrl-X(是“命中记录”和ctrl-X)是“保存”,那么您现在已经在Linux,Windows,Unix和所有其他平台上找到了等效的Emacs平台至。
TED

15

我对vi键绑定不满意,但总体而言我更喜欢Emacs。这些编辑器之所以如此热心,是因为他们提供的编辑模型比更新的系统更强大,这就是为什么即使您未使用任何扩展功能,也无法提供“ vi键绑定”或“ emacs键绑定”的原因或emacs或vi的自定义。

我只会谈论Emacs的模型,因为我最了解它。今天,用于文本编辑的通用模型涉及文本缓冲区,可以在其中插入,删除,选择文本并将其剪切/复制/粘贴到系统剪贴板。

Emacs缓冲区当然可以支持这些操作。除了跟踪每个可见窗口的光标位置之外,它们还跟踪其中标记的“标记”。“点”(光标位置)和“标记”之间的文本称为“区域”,大致对应于主流编辑器中的选择。

区别在于Emacs会跟踪标记在标记环中设置的最后几个位置,并且您可以通过击键(或两个,取决于您的配置)返回到它们。我发现这非常有用,尤其是因为许多更改缓冲区中位置的Emacs命令将标记设置为您的旧位置。例如,当我正在编辑Python模块并需要在文件顶部添加import语句时。进入缓冲区顶部的按键(Alt- <)设置标记。我添加了导入语句。我按Ctrl-u Ctrl-Space,然后回到开始的地方。我也可以继续这样做,以循环回到以前的位置。(也许我在添加该导入语句时需要选择一些文本。)

Emacs的另一个(也是更为著名的)区别是杀戮戒指。用于从缓冲区中删除文本的大多数按键会将文本保存到终止环,然后可以使用“ yank”命令(Ctrl-y)调用该终止环。基本功能是,随后的yank命令可以检索较早的被杀死的文本。因此,您可以连续杀死几段文字,然后按顺序检索它们。您也可以在拉动之后用Alt-y循环通过kill环,删除检索到的文本并在环中插入下一个条目。

Emacs在1978年具有这些功能。在任何程度上都采用它们的唯一其他主要系统是NeXTStep(现在由Cocoa继承)。其他工具为特定任务提供了更多功能,可以以比Emacs Lisp更易于使用的语言进行扩展,并具有更好的可视界面...但是Emacs在文本编辑方面仍然更好。这就是为什么,一旦您知道如何使用它,就很难退出。


毫无疑问,emacs可以成为许多人的可行选择,因为用户太多了。但是我需要多长时间才能舒服呢?我的经验是非常快速的打字机,可以使用GUI文本编辑器(如textmate)很好地使用macbook pro触摸板。我永远无法适应所有绑定的emacs。使用大约一个月后,它伤了我的手;总的来说,我只是不确定emacs是否会让我更快。mac指针系统非常精确且快速,这些内置的gui文本编辑器具有大量可以完成的快捷键。我花了很多时间,还没有收获。
user798719 2013年

13

这并不是确切的任务,但是对于甚至可能遭受RSI折磨的人来说,您的双手永不离开键盘的事实几乎是无价的。实际上,我最终在工作时左手向左滑,因为它使我可以减少手的移动以伸手去拿鼠标(家里的键盘没有数字键盘,所以我可以将其保持在右侧)。

IIRC的另一个小好处是,最初的vi旨在通过极其缓慢的远程连接来加快文件编辑速度。当然,今天发生的情况并不多,但是如果您的连接速度很慢,那么请运行gui文本编辑器并使其具有响应能力,祝您好运。


2
如果连接确实很慢,建议您使用Emacs和Tramp。
约翰·史密斯,2009年

1
通过sftp编辑更改,保存时同步。
罗曼·泰切

@Roman:使用Emacs和Tramp基本上(几乎)不需要任何额外的工作即可完成此操作-最多只需输入一次或两次密码即可。之后,编辑远程文件就像编辑本地文件一样,然后保存将更改自动发送到远程计算机。
蒂洪·耶维斯

13

对我来说,最大的生产力是

  • 我几乎可以通过键盘完成所有操作。
  • 强大的宏。
  • 在我使用9个操作系统的20年职业生涯中,基本的键盘绑定没有改变。我几乎可以跳到任何系统,并且已经知道编辑器的运行方式。
  • 几乎已经添加了您可能希望在文本编辑器中使用的所有功能。

11

真正喜欢vim的一件事是“ repeater”命令。基本上,通过.在命令模式下按,它会重复您的上一个操作。这只是“程序员文本编辑器”所具有的非常酷的功能的一个示例,而GUI却没有。


哦耶!这是最可爱的命令之一!我不能没有:-)
杰伊·阿特金森

8

以我的经验,vim和emacs(我自己是vim人,但是emacs肯定是类似的)可以带来的主要生产力提高是:

  • 可以有那些现代的IDE提供(如一个按键编辑-构建-运行周期和在线文档和制表符完成和诸如此类的东西)的功能,但你不。生产率提高了吗?您只会看到想要看到的东西。以我的经验,IDE并不能提高人们的生产力,还因为它们显示了太多的信息(各种浏览器)。这种“额外的动力,当您需要时-很快就可以使用”是恕我直言的生产率提高。

  • 编辑器在程序员中非常流行,这意味着有大量的脚本,书籍和用户组可用。

  • 以我的经验(在这里我只能说vim),普通的vim用户是一个相当不错的软件工程师。我不知道为什么会这样(或者也许我很幸运),但是也许那些习惯了使用emacs或vim之类的“旧”工具的人有正确的奉献精神(并与这样的其他人联系)。也许这是这些编辑器的间接影响,但是与其他vim(或emacs)人员在IRC上闲逛变得非常有趣,因为同一个人对各种软件工程(或计算机科学)问题也很感兴趣。这些编辑似乎吸引了某种个性。:-)


7

我为小型程序使用轻量级的emacs克隆所获得的“生产率提高”是,它像油脂般的闪电般启动。在Visual Studio完成加载“沙盒”解决方案之前,我通常可以在C#中敲出一个快速测试程序。

当然,我可以将Visual Studio保持打开状态(如果我当时正在使用它,则可以打开另一个 VS),但是如果我将其闲置一会儿,它将被替换掉,等等。

对于任何大小的东西-或如果我不知道我使用的API是否很好-IMO都是前进的方向。


6
在守护程序模式下运行emacs,“启动时间”很简单。
aehlke 2010年

6

我将gvim用于Windows,因此从技术上讲它是GUI文本编辑器,但它是vim。

为了提高生产力,我发现:

  1. 我不需要使用鼠标,因此速度更快。
  2. 使用vim键绑定与鼠标移动相比,搜索,替换,复制/粘贴等操作都更快(一旦克服了学习曲线)
  3. 如之前的评论中所述,RSI显着降低。自从我进入vim以来,我的手腕就感谢了我。
  4. 它轻巧快速

4

您知道,对于vi,我认为这归结为具有插入和命令模式。虽然这似乎可以追溯到您不依赖光标或特殊键的时代,但实际上,这意味着许多强大的运动和文本操作命令是最少的击键操作。高效的编码与批量文本输入(“现代”编辑器中的默认设置)无关,而是批量文本的爆发,随后是相当小的调整和更长的浏览时间。

我亲自在高延迟的校园网络上使用vi成为了我的头等大事。您可以在响应之前轻松获得10或15个字符。使用vi,我可以轻松地预测这些命令将离开我的位置,并能够以接近正常的速度工作。在正常情况下,这种扭曲的专业知识是一项持续的好处-更少的视觉智力专门用于持续的图形反馈。

普通的*和#单词搜索加速器非常适合翻阅代码。用于匹配括号的%非常有用。当然,与ctl-]相比几乎没有什么用,但是一半的击键加起来了。

就个人而言,我使用winvi可以添加一些我确定vim也具有的重要功能。快速进入十六进制模式可解决许多“到底发生了什么”文本问题。完全灵活地处理行尾是天赐之物,它已成为文本编辑器的预期功能。最后,无论内容如何,​​它都可以打开任何文件。这相当于一流的黑客技巧。

在Unix下,您可以快速捕获程序输出,甚至可以通过外部命令过滤文件的某些部分。我认为功能非常强大但未充分利用。


3

我经常使用Vim。但是它并不能代替我的UltraEdit。由于已经列出了很多积极的方面,我想我会反对,并列举一些Vim的烦恼。

  • FTP处理不力。我对很多站点进行了“排序”,但是无法轻松浏览和编辑远程FTP服务器上的文件对我来说是一个很大的缺陷。NWRead 不够好。
  • 控制台怪异是从困扰Linux的一般终端问题继承而来的。我通常使用PuTTY连接到我的Linux机器(运行Ubuntu),由于某种原因,箭头键在插入模式下映射到A / B / C / D(以及整个颜色支持问题)。在gVim中,可以将ctrl-tab轻松映射为“ bn”,但在控制台模式下则不可以,这样的问题比比皆是。
  • 搜索/替换选项在界面方面非常弱。仅仅将整个内容键入一行是不够的。最终,即使实际的正则表达式支持可能要弱得多,我仍然认为UltraEdit可以给我带来更多的功能,这使我进行了更为详尽的对话。
  • 过于依赖美国键盘布局。许多用于主要功能的键(例如`)在我的丹麦语键盘布局上均未打印(位于左侧,与$相同,并且还有许多其他键)。使使用某些功能变得很尴尬。

对于问题2,请安装“ vim”或“ vim-full”以消除该问题。
亚当·潘伯

问题出在其他地方。您可以在这里查看一些建议的修复程序vim.wikia.com/wiki/…但是可惜的是,这些解决方案都不适合我。
斯文德

Re数3使用CTRL-F后:获得一个全功能的编辑料堆您:■命令等
ErichBSchulz

greplace是#3的解决方案。还有其他grep插件,但这是我所需要的。使查找/替换比我使用的任何其他IDE或文本编辑器都容易。
domi91c 2015年

2

远程桌面仅显示本机Windows应用程序。我们试图使用Eclipse在Unix下进行开发。你知道吗?甚至不可能。

第二个原因是我们可以扩展Vims和Emacs来以特殊方式突出显示并自动完成我们自己的元语言,从而完成数据库浏览中所有项目特定的任务。


2

我要说的一大优点是vim编辑器的可扩展性。如果我想使用CVS,可以使用CVSMenu插件并将其添加到编辑器中以获得该功能。

与语法高亮显示,特定文件的行为等相同。可以在vim中定制各种内容。

不确定是否可以在GUI类型编辑器中轻松地执行此操作。


1

VIM中的记录和重播功能无与伦比,这在基于GUI的工具中很难找到。

同时自动递增/递减给它的数据生成功能,而无需编写程序吧。


1

我多年来一直是Emacs的狂热用户。但从来没有真正进入过。然后,我开始学习Clojure(我的第一个Lisp)并发现了ParEdit。

这令我震惊。

(有关示例,请参见此处:https : //www.youtube.com/watch?v=D6h5dFyyUX0

Lisp + ParEdit是我有过的最神奇的编辑体验。没有什么比这更接近了。Lisp不再是一种笨拙的语言,不得不让我担心要平衡许多令人讨厌的傻括号。借助ParEdit,一致的Lisp结构将成为工作的一大收获,因为相同的树形转换(草浆,铲除,拆分和联接)可在控制结构和数据结构中无处不在。而且ParEdit可以防止我犯愚蠢的错误。几乎不可能犯语法错误。

与Eclipse不同的是,这并不是费力的实时检查,它总是在后台运行,从而烧坏了我的处理器。它不花钱。当我要求时,ParEdit只是在进行正确的结构更改。

(总的来说,Emacs达到了所需的速度。与Eclipse不同,就像键入胶水一样。)

我发现的下一件事是Yasnippet(http://emacswiki.org/emacs/Yasnippet)。再一次,我以前没有使用过这样的东西。不只是添加样板的宏,而是动态的,可导航的形式。

最终的乐趣是意识到,如果我想自己扩展此功能,以拥有更多这些高级生产力工具,我将拥有Lisp自身的力量。


1

(我的背景是使用Visual Studio和其他IDE的几年,然后是Vim的15年,最近的Emacs是6个月。)

长寿 — Vim / Emacs是 FOSS,已经存在了数十年。他们的使用率不会下降,其功能也不会断裂/消失/改变很多,因此您可以依靠仅一位编辑者的掌握来构建整个职业工具箱核心。

终端中的远程/无处不在访问 -尽管两者都具有用于编辑远程文件的良好系统,但是您也可以将它们安装在您登录的任何系统上。

REPL驱动的开发 -两者都有各种形式的“ SLIME”模式,这些模式集成了您正在使用的任何类型的REPL。例如,我从未遇到像CIDER提供的那样强大的迭代开发。

Linting –无论使用哪种语言,都可能有一些 Linting工具,无论是内置于编译器还是外部工具中。它们与Emacs / Vim无缝集成,几乎实时显示您的编码错误。

助记符命令的语法 -尽管两者都需要花费一些时间来学习,但这些编辑器均具有著名的聪明系统,这些系统可通过击键和组合键来访问(甚至记忆)成千上万个命令。如果您愿意,这些可以完全消除使用鼠标的任何需求。

内置的帮助系统 -多种语言及其API的脱机文档在这些编辑器中很常见,并且可以通过它们以功能强大而全面的帮助系统以类似的简单方式进行访问。已为大多数常见语言添加了自动完成功能。此外,几乎所有帮助主题都包含大量讨论帮助。

导航 -标签,paredit-喜欢,标志,窗口,标签,VIM-Rails的 跳跃,和许多内置插件。

软件包管理器/存储库 -Emacs有一些(elpa,melpa,橘子果酱),Vim的也不错(vundle,病原体 )。我不知道IDE周围的任何社区都可以提供与之相当的产品。我看到有5,000多个软件包 package-list-packages

除了编辑之外 -Emacs可以读取新闻,浏览网络,管理电子邮件,编辑电子表格,创建演示文稿并组织任何内容,从而在这里发挥了最大作用。

集成了其他所有内容 -调试器,浏览器同步,编译,shell,测试运行。

无限可定制 -Elisp是用于扩展/修改Emacs的非常强大的语言。VimL与Vim等效。两者都有写书。调整颜色主题和行为,以使您满意!


0

与基于GUI的编辑器相比,所有基于控制台的编辑器都具有的一个优势是它们可以在终端多路复用器(例如screentmux)中运行。为什么这样好?

  • 从一个终端多路复用器控制台切换到另一个终端,比使用鼠标甚至是使用alt-tab从一个GUI控制台切换到另一个更快。这是因为可以通过键入名称的几个字符来命名和切换控制台。
  • 如果您的编辑器会话位于终端多路复用器的控制台中,则可以从任何计算机上访问它们。如果需要在家中做一些工作,可以将ssh放入盒中,将已经运行的终端多路复用器连接到ssh会话,并在离开工作位置时停下来。

0

由于vim / emacs自2003年以来一直被程序员和C#用户所使用,因此从这种偏见来看,这样做是很公平的,否则比较不公平(另一个可能是带有Visual Assist X的VS C ++与vim / emacs中的C ++):

对于C#和Visual Studio:

  1. 我只计算了这一行的击键次数:

        public List<string> Names = new List<string>();
    //  3      3    3      1111111111111            211   =3+3+3+8+5+2+1+1 = 26 keys strokes + 3 uses of Shift while typing the line above in VS C# 2013 vs 47 key strokes for non-IntelliSense IDE's
    //                              (IntelliSense offers the List<string> because that's what you're likely after here but you can type something else if you want)
    // https://channel9.msdn.com/Blogs/Seth-Juarez/Anders-Hejlsberg-on-Modern-Compiler-Construction explains on how this is impl. for C#. In C++ I've heard of 3rd party VS plugin that improves or replaces the VS C++ auto-complete
  2. 我读了有关emacs功能的代码跳转。我不认为它具有完全一样的功能。它具有类似的功能。这是VS的缺点。有很多小功能,但是随着时间的推移它们会停止工作。最后我检查了跳转功能是否起作用,但这是几年前的事了。VS引入了我一直在使用的新图形跳转功能。它需要鼠标或触摸。

  3. 这是emacs / vi获胜的地方。如果您必须在代码中跳很多步,则VS功能可能不存在或没有经过充分测试。

基于鼠标的GUI导航的问题在于

a)就像坐在非常静态的位置可能不好一样,如果这样的话,鼠标也会使手指也处于静态位置。手腕疼痛随着更换轨迹球而消失。我首先尝试了垂直鼠标,但是它没有解决任何问题。

b)我理想的键盘应该有2行功能键,没有小键盘,因此我可以将轨迹球放在更近的地方,使跳跃距离更容易承受。

但是,最终,如果您想在几个特定位置之间跳转,很明显,“标记环”会更有效。VS遵循这些原则...上次使用它时,只是无法可靠地工作...

c)每个发布版本都有可能破坏很多小功能,所以这是VS的缺点。

解决“封闭源代码”问题的方法:用C#编写整个VS,然后允许修改/编辑已编译的代码(在运行时,将更改另存为补丁,以供下次启动时选择加载),而无需释放源代码。这可以通过让反编译器按原样输出代码来完成。与本机编译器的工作方式成180度。然后,二进制文件变成了源代码和可执行文件,而变成了.cs文件和.exe文件等的混乱局面。已经存在第三方的工具,几乎已经可以做到这一点,因此“修改” C#exe相当简单,但我建议将其用于逻辑结论:在.exe和.dll中甚至包含注释。与经过编译的C / C ++应用程序相比,这些文件仍然很小。优化?您还可以包括预先优化的代码。当Modder在应用程序运行时对exe进行修改时,将重新插入未修改的“ AST”和随附的优化二进制文件。与C#编译器中的想法相同,但进一步。下一步:用这种语言编写整个OS,以便即使Windows是封闭源代码,也可以对每个二进制文件附带源代码进行小小的修改。无需设置环境,进行编译,链接。只需在操作系统运行时对其进行修改。近似类推:如果您使用Common Lisp编写Web浏览器,则可以不停止Web浏览器而对其进行编辑,并以与该浏览器相同的语言来构建网页。每个二进制文件都附带源代码,因此可以对其进行简单地修改。无需设置环境,进行编译,链接。只需在操作系统运行时对其进行修改。近似类推:如果您使用Common Lisp编写Web浏览器,则可以不停止Web浏览器而对其进行编辑,并以与该浏览器相同的语言来构建网页。每个二进制文件都附带源代码,因此可以对其进行简单地修改。无需设置环境,进行编译,链接。只需在操作系统运行时对其进行修改。近似类推:如果您使用Common Lisp编写Web浏览器,则可以不停止Web浏览器而对其进行编辑,并以与该浏览器相同的语言来构建网页。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.