Coding style 如何在键入代码时尽量减少使用箭头键?

Coding style 如何在键入代码时尽量减少使用箭头键?,coding-style,typing,Coding Style,Typing,键入代码时,我通常会关闭括号,返回内部,返回外部,键入分号,等等: 我可以从(|是插入符号)开始: 然后向左走: System.out.println(|) 那么这个, System.out.println(foo()|) 再次回溯空间: System.out.println(foo(|)) 键入引号与此类似: System.out.println(foo(""|)) ……等等 我的右手在主行和箭头键之间不断移动。我试过vim,虽然我知道基本知识,但我还是觉得很尴尬 我该怎么做?我是否应

键入代码时,我通常会关闭括号,返回内部,返回外部,键入分号,等等:

我可以从(|是插入符号)开始:

然后向左走:

System.out.println(|)
那么这个,

System.out.println(foo()|)
再次回溯空间:

System.out.println(foo(|))
键入引号与此类似:

System.out.println(foo(""|))
……等等

我的右手在主行和箭头键之间不断移动。我试过vim,虽然我知道基本知识,但我还是觉得很尴尬

我该怎么做?我是否应该从左到右键入(开始括号,然后是内容,然后是结束括号,然后是分号)


谢谢。

如果您已经在vim中,请尝试使用h、j、k和l键。它们的功能与箭头键相同,但更方便。尝试养成按顺序打字的习惯可能也会有所帮助,但这需要一些努力。

我完全推荐vim。。。因为这将有很大帮助!另外,看看能自动关闭括号、方括号和花括号的东西。。。我在vim中有一些东西可以做到这一点,它有助于解决这类问题,因为我已经在括号中了。

好吧,这就是Java,如果你使用一个或多或少好的IDE,你应该能够自动完成,这样当你键入“System.out.println”并点击enter接受自动完成时,括号将出现,插入符号将在中间(哦,而且也会有引号!)< /P> < P > >

你习惯于结束你开始的事情——不管是右括号、方括号、大括号还是.Close()调用来匹配.Open(),或者是delete/free调用来匹配新的/malloc——都是一个很好的习惯。即使您打算在不同的范围内“关闭”对象(如终止函数),您的习惯也会迫使您考虑适当地释放资源

是的,有一些有用的编辑器可以让你更快地编写代码,你应该使用它们,但不要让它们成为你忘记关闭对象/释放资源的拐杖


对您的问题的直接回答是:大多数优秀的程序员编辑器都可以定制/配置,因此您只需阅读一些有关您选择的编辑器的高级配置的内容—vim、emacs和Visual Studio编辑器。

您可以通过按住Ctrl键并使用箭头键来保存击键。它不是移动一个字符,而是一次移动一个单词。这也适用于退格。因此,Ctrl Backspace将删除整个单词,而不仅仅是最后一个字符。

再次投票支持Vim。另外,对于使用Vi键绑定的更多标准ide,还有一些很棒的插件。我经常在Netbeans中使用

你会发现你使用Vim越多,你的手腕就越容易受伤。您还将发现,一个足够聪明的find/replace可以为您节省不少击键次数,全局操作regex-y也可以


将:tabn和:tabp绑定到可访问的对象,如和,并强制自己完成工作,而不放弃并使用适当的GUI编辑器。

我过去习惯于完全线性地键入(是的,在vim中),永远无法掌握编写结束元素时立即创建的前后冲刺的窍门


但是,我现在使用Eclipse—它会在我运行时为我创建它们,因此在结束时使用“”)我刚打到末尾并键入a;,根本不需要手动处理它。这有时会让我困惑,但没关系。

我发现数字键盘使导航非常容易,因为home和pgup键非常接近。要真正输入数字,你只需使用键盘的最上面一行(我同意这很难学,但过一段时间就足够快了)


对我来说,唯一的缺点是使用笔记本电脑键盘和其他人的机器,我每次都必须关闭num lock。

首先,在Vim中使用
h
j
k
l
而不是箭头键可以提高速度。有关键的概述,请参阅

然而,在这种情况下,您可能需要的是插件。它会自动将右括号(或引号)与开头一起插入,并将插入符号放在它们之间。你就这样离开了

System.out.println(|)

如果然后键入
”)
,插入符号将“移动”结束字符,而不是插入新字符。不过,到达行尾的更快方法可能是
a

System.out.println(foo(""));
因此,总而言之,可以通过键入
System.out.println(foo(“A;
)生成上述内容

要编辑成对的字符,而不是插入它们,请参见。

一个好的IDE(galileo就在这里)将自动关闭括号、括号等,并将智能地在语句末尾插入分号。根本不需要使用箭头

当然,对于Eclipse中的println,您可以只键入sysout,但这可能是一个不好的习惯


但是要小心!如果你开得太快,你的同事总会让你开车:p

试试自动热键和我的脚本:

*!I::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Up}"
*!K::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Down}"
*!J::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Left}"
*!L::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Right}"
*!U::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Home}"
*!O::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{End}"
*!h::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Del}"
LAlt和Shift::(“可选行”)

这是关于按住LAlt并从以下位置按某物:i、k、j、l(箭头键)、u、o(起始、结束)或h(删除)。 如果不想按LAlt+Shift更改键盘语言布局,则最后一行是可选的

您甚至可以将其与shift和ctrl等修改器结合使用


享受;)

我正要提出同样的建议。:-)这是正确的,但也许右手得到的东西,另一只手失去的东西,通过改变和改变模式。至少它只涉及改变模式——而不是扭曲你的手去按escape meta alternate control shift之类的键来做任何事情。切换模式的好处是你可以在不看键盘的情况下按ESC键(在角落里很难错过)然后回到正常的姿势。在vi中,用户的请求可以通过ESC(退出)实现
System.out.println(foo("|"))
System.out.println(foo(""));
*!I::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Up}"
*!K::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Down}"
*!J::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Left}"
*!L::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Right}"
*!U::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Home}"
*!O::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{End}"
*!h::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Del}"