Visual studio 在文本编辑器中删除代码行
编辑:鉴于我写作的质量和篇幅,这个问题被贴上了“托尔斯泰”的标签:)只要读第一段和最后一段就足够了:)如果你倾向于用鼠标选择和移动代码,中间的东西可能会让你感兴趣 这个问题是关于一般如何使用文本编辑器的。我正在寻找删除多行代码的最佳方法(无意申请专利:)这扩展到了换位代码行,即删除代码行并将其添加到其他地方。最重要的是,我不想创建任何必须单独删除的空行。有点像VisualStudio的SHIFT+DELETE功能,但可以同时处理多行 假设您想从下面的代码中删除第3行(也可以可视化选项卡和换行符)。天真的方法是在尖括号之间选择文本: if (true) {\n \t int i = 1;\n \t <i *= 2;>\n \t i += 3;\n }\n if (true) {\n \t int i = 1;<\n \t i *= 2;>\n \t i += 3;\n }\n 如果(真){\n \t int i=1;\n \t\n \ti+=3;\n }\n 然后点击backspace。这将创建一个空行。再按两次backspace可删除\t和\n 你最终会得到: if (true) {\n \t int i = 1;\n \t i += 3;\n }\n 如果(真){\n \t int i=1;\n \ti+=3;\n }\n 当您尝试选择整行时,VisualStudio不允许您选择尾随的换行符。例如,将光标放置在一行上并按SHIFT+END不会选择末尾的换行符。如果你使用你的鼠标,也就是说,你也不会选择换行,也就是说,点击中间的一行,并拖动光标一直到右边。如果所做的选择至少跨越两行,则只能选择尾随的换行符。我使用的大多数编辑器都是这样做的;Microsoft WordPad和Word是反例(我在删除文本时经常会出现换行错误;至少Word可以显式显示行尾和段落结尾字符) 在使用Visual Studio和其他编辑器时,以下是目前最适合我的解决方案: 使用鼠标选择放在尖括号之间的字符: if (true) {\n \t int i = 1;\n \t <i *= 2;>\n \t i += 3;\n }\n if (true) {\n \t int i = 1;<\n \t i *= 2;>\n \t i += 3;\n }\n 如果(真){\n \t int i=1;\n \ti+=3;\n }\n 现在点击backspace,您可以一次删除该行,而不必删除任何其他字符。这可以同时适用于多个连续的行。此外,它还可用于换位线路。可以将尖括号之间的选择拖动到用插入符号标记的点: if (true) {\n \t int i = 1;<\n \t i *= 2;>\n \t i += 3;^\n }\n 如果(真){\n \t int i=1;\n \ti+=3;^\n }\n 这就给您留下了: if (true) {\n \t int i = 1;\n \t i += 3;<\n \t i *= 2;>\n }\n 如果(真){\n \t int i=1;\n \ti+=3;\n }\n 其中3号线和4号线已切换位置 这个主题有很多变化。要删除第3行时,还可以选择以下字符: if (true) {\n \t int i = 1;\n <\t i *= 2;\n >\t i += 3;\n }\n 如果(真){\n \t int i=1;\n \ti+=3;\n }\n 事实上,如果您让VisualStudio选择一个完整的行,它就是这样做的。您可以通过单击代码和红色圆圈所在列之间的空白处来执行此操作,红色圆圈表示断点。鼠标指针镜像在该区域,以便更好地区分它,但我认为它太窄,并且与我想要选择的代码的物理距离太远 也许这个方法对其他人也很有用,即使它只是让他们知道在选择/删除文本时如何处理换行:)它对大多数非专业文本编辑器都很有效。然而,考虑到VisualStudio的大量特性和插件(我使用最多),我确信有更好的方法可以使用它来删除和移动代码行。在不同块之间移动代码时,自动获得正确的缩进是很好的(即,不点击“格式化文档/选择”)。我期待着你的建议;请不要对微优化吹毛求疵:)Visual studio 在文本编辑器中删除代码行,visual-studio,eclipse,vim,emacs,text-editor,Visual Studio,Eclipse,Vim,Emacs,Text Editor,编辑:鉴于我写作的质量和篇幅,这个问题被贴上了“托尔斯泰”的标签:)只要读第一段和最后一段就足够了:)如果你倾向于用鼠标选择和移动代码,中间的东西可能会让你感兴趣 这个问题是关于一般如何使用文本编辑器的。我正在寻找删除多行代码的最佳方法(无意申请专利:)这扩展到了换位代码行,即删除代码行并将其添加到其他地方。最重要的是,我不想创建任何必须单独删除的空行。有点像VisualStudio的SHIFT+DELETE功能,但可以同时处理多行 假设您想从下面的代码中删除第3行(也可以可视化选项卡和换行符)
答案摘要 关于VisualStudio:使用光标键进行良好导航 最适合我查看和编辑代码风格的解决方案是Eclipse方式: 您可以选择多个连续的代码行,其中第一行和最后一行只能部分选择。按ALT+{up,down}可上下移动完整的行(不仅仅是选择项),同时固定缩进。按CTRL+D键将完全删除行(不仅仅是所选内容),而不留下任何不需要的空行。我很想在VisualStudio中看到这个 在Emacs中:
- 压井管线C-k
- 换位线C-x C-t
通过C-S-backspace删除整行代码)
C-u C-k——终止行(包括换行)
C-y——在Eclipse中拉回最近被删除的文本(也称为粘贴),您可以-↓ 或ALT-↑ 移动一条线。我发现这和ALT-SHIFT一样非常有用-{↓, ↑} 复制行。此外,它不会破坏剪贴板。它甚至会在行移动时更正缩进!在VIM中:
- 删除整行,包括换行:
dd
- 转置行:
ddp
您始终可以在任何命令前面加上一个数字以重复该命令,因此要删除10行,请执行以下操作:
10 dd
10日
您还可以指定要删除的行的范围。例如,要删除第10-15行:
:10,15d
:10,15d
也可以移动线,例如,将线10-15移动到第20行下方:
:10,15m20
:10,15m20
或者您可以复制以下行:
:10,15t20
:10,15t20
学习使用光标键 对于移动线,我执行以下操作: