Surround.vim是一个漂亮的vim扩展,允许你用括号,括号和几乎任意"环绕"字符环绕文本块.它支持段落和单词环绕,但我经常在可视模式下使用它.我正在玩Emacs并想知道是否有类似的东西; 让我突出显示一个区域,然后用括号,括号或标签括起来的标记区域(或矩形).
键入代码时,我通常会关闭括号,返回内部,外出,键入分号等:
我可以从(|是插入符号)开始:
System.out.println()|
Run Code Online (Sandbox Code Playgroud)
然后左转:
System.out.println(|)
Run Code Online (Sandbox Code Playgroud)
然后这个:
System.out.println(foo()|)
Run Code Online (Sandbox Code Playgroud)
再次回溯空间:
System.out.println(foo(|))
Run Code Online (Sandbox Code Playgroud)
输入引号类似:
System.out.println(foo(""|))
Run Code Online (Sandbox Code Playgroud)
...等等.
我的右手在主行和箭头键之间不断移动.我尝试过vim,虽然我知道基础知识,但对我来说仍然感觉很尴尬.
我该怎么做?我应该从左到右键入(打开括号,然后是内容,然后关闭括号,然后是分号)?
谢谢.
在textmate中,当有当前选择时,我点击"键并且选择被引号包围.同样的事情发生在其他平衡字符上,如(,{,[和'.
我是否遗漏了Emacs配置中明显的东西,这些东西在使用瞬态标记模式时会产生类似的行为,或者我是否需要打破elisp并写一些东西?
我刚刚开始使用emacs,并且有一个我非常喜欢的功能,并且搜索一下也没用.我希望其他人这样做是因为我还不想学习elisp.
void foo()<cursor>
Run Code Online (Sandbox Code Playgroud)
我想输入一个"{"来导致这种情况发生
void foo(){
<cursor>
}
Run Code Online (Sandbox Code Playgroud)
我希望这只发生在cc模式中,并且只在不在字符串/ comment/etc中的行尾
我想到的第一件事是重新绑定"{"来做到这一点(我可以弄清楚如何自己做),但很难让它只在恰当的时间发生.
任何提示将不胜感激.