Notepad ++多重编辑

时间:2010-08-10 20:30:39

标签: notepad++

如何在Notepad ++中使用多个游标?

我将有几个制表符分隔值。我需要为所有这些值编写查询。例如,如果我得到一个Excel文件,其值如下:

1234 xyz pqr
2345 sdf kkk
...

我想将整段数据复制到Notepad ++中并编写查询,一次插入所有值。

像这样:

Insert into tbl (1234, xyz) where clm = 'pqr'
Insert into tbl (2345, sdf) where clm = 'kkk'
...

我曾经使用我以前的文本编辑器Ultraedit。可以使用Notepad ++完成吗?

9 个答案:

答案 0 :(得分:151)

是:只需按住 Alt 键,单击并拖动即可选择要编辑其列的行,然后开始输入。

您还可以转到设置>首选项... ,在修改标签中,启用多重编辑功能,以便同时选择多个单独的区域或文本列进行编辑。

它更直观,因为您可以在键入时看到您的编辑。

答案 1 :(得分:27)

在您要添加文字的位置,执行:

Shift + Alt + down arrow

并选择所需的行。然后输入。您键入的文本将插入您选择的所有行中。

答案 2 :(得分:19)

您可以使用Edit > Column Editor...在当前行和后续行插入文字。快捷方式是 Alt + C

答案 3 :(得分:18)

  

Notepad ++现在也可以处理多个游标。

进入设置=>首选项=>编辑和检查"启用"在"多种编辑设置" 然后,只需使用Ctrl +单击即可使用多个游标。

官方网站上的功能演示https://notepad-plus-plus.org/features/multi-editing.html

答案 4 :(得分:14)

您可以使用控制按钮在多行上添加/编辑内容。这是Notepad ++中的多编辑功能,我们需要从设置中启用它。按住控件,选择要输入文本的位置,释放控件并开始输入,这将更新之前选择的所有位置的文本。

enter image description here

参考:http://notepad-plus-plus.org/features/multi-editing.html

答案 5 :(得分:7)

Notepad ++具有强大的正则表达式引擎,能够随意搜索和替换模式。

在您的方案中:

  1. 单击菜单项Search \ Replace ...

  2. 使用搜索模式填写“查找内容”字段:

    ^(\d{4})\s+(\w{3})\s+(\w{3})$
    
  3. 填写替换模式:

    Insert into tbl (\1, \2) where clm = \3
    
  4. 点击Replace All按钮。

  5. 就是这样。

    NotePad++ replace window screenshot

答案 6 :(得分:5)

解决问题的最简单方法(无需使用其他编辑器或学习正则表达式)是录制宏。

  • 将光标放在文本的开头,单击功能区中的“记录”按钮,然后只编辑那一行文本。您只能使用箭头键或ctrl +箭头键移动字符/单词而不是用鼠标单击。 “主页”和“结束”键也很有用。
  • 当你完成这一行后,将光标(再次不使用鼠标)移动到下一行的开头。
  • 点击“停止录制”按钮。
  • 单击“播放宏”按钮以检查它是否按预期在下一行上工作。
  • 单击“多次运行宏”再次执行,然后再次执行...:P
这种“多编辑”游标的一个优点是您不必手动点击并在每一行上放置游标。第二个优点是您可以使用不具有一致大小/长度的制表符分隔数据 - 只需使用ctrl + left / right跳过单词。

老实说,N ++中的宏已经节省了大约一年的时间。

答案 7 :(得分:1)

Notepad ++只有列编辑。这与多个游标不完全相同。

Sublime Text有一个奇妙的实现,可能值得一试...... 这是一个相对较新的编辑(2011年),它正在迅速普及: http://www.google.com/trends/explore#q=Notepad%2B%2B%2C%20Sublime%20Text&cmpt=q

编辑:显然在Notepad ++版本6.x多光标编辑的某处已添加,但在Sublime中仍有一些更高级的功能,如“选择下一次出现”。

答案 8 :(得分:0)

您可以使用插件ConyEdit来执行此操作。 在后台运行ConyEdit的情况下,请执行以下步骤:

  1. 使用命令行cc.spc /\t/ a将文本分成几列,然后将它们存储在二维数组中。
  2. 使用命令cc.p进行打印,并使用数组的内容。