我正在对一个旧的 HTML 网站进行一些语言翻译,因此我只是将 Word 文档中的新翻译粘贴到旧文件中。
因此,我必须选择标签之间的所有内容(、、h2
等),然后从 Word 文件中粘贴新文本。要选择标签之间的所有内容,我必须选择内部标签的一侧,然后按住,然后选择下一侧以突出显示所有内容...我的手指真的很累,我总共有 40 个文件(页面)需要处理,其中包含 3 种语言。p
li
p
Shift
Notepad++ 中是否有选择所有内容的快捷方式之间两个标签(不包括标签;例如当您双击一个单词时它会选择整个单词)。
<p>This is some English that needs to be translated here.
I want to just click in this area to select all of this
text between these two paragraph tags.</p>
<p>This would be another block of translation to do</p>
<ul>
<li>I want to click here and select everything between the li tags</li>
</ul>
答案1
直接回答:不。
能做到吗?能。
简单吗?能。
变成一个快捷方式吗?能
需要什么?N++ PythonScript 和 HTML 标签插件。
为什么?我们将使用 Python 脚本中的 HTML 标签,Select Tag and Contents
通过将开始移动到第一个“>”之后,将结束移动到最后一个“<”之前,来调整 HTML 标签所做的选择。
安装 N++ PythonScript 插件后,使用以下代码创建一个新脚本:
# Reduce selection to omit the outer most tags selected by the 'HTML Tag' plugin.
from Npp import *
def omit_tag( args ):
editor.clearCallbacks()
SelText = editor.getSelText()
if SelText:
orig_Start = editor.getSelectionStart()
new_Start = orig_Start + SelText.find(">")
orig_End = editor.getSelectionEnd()
new_End = orig_Start + SelText.rfind("<")
if new_Start > orig_Start and new_End < orig_End:
editor.setSel( new_Start + 1, new_End )
def main():
editor.callback( omit_tag, [SCINTILLANOTIFICATION.UPDATEUI] )
notepad.runMenuCommand("HTML Tag", "Select Tag and Contents")
main()
创建脚本后,使用 PythonScript 配置对话框将脚本添加到“菜单项”列表(这将允许我们分配快捷方式)。重新启动,然后使用设置->快捷方式映射器::插件对话框,将 + Shift+Alt快捷方式添加T到您刚创建的脚本的新条目中。再次重新启动以写出新的快捷方式条目 N++ 配置。
所以现在(使用您的示例文本),从您想要点击的行开始::
CTRL+跳转到T另一个标签。
CTRL++选择整个标签块。++选择内部文本Shift。T
ShiftAltT
如果您尝试选择块的“内容”部分,您会注意到行尾也被捕获。根据您的观点,这可以看作是优点还是缺点……
一个建议,利用SCI_SWAPMAINANCHORCARET
来允许您使用常规移动和选择修改器调整选择的任一端。您可以从 Scintilla 面板(靠近底部)上的快捷键映射器中设置它。我已将我的设置为CTRL+ Shift.,效果很好,因为当已经修改选择时Shift通常已经按下了。
希望对您有帮助。玩得开心!
答案2
如果插件安装不打扰您,我强烈建议安装 HTML 标签,特别是如果您是 html 爱好者。
设置完成后,只需将光标放在开始或结束标签上,然后按 ctrl+shift+t
答案3
我会使用“折叠全部”(Alt-0)功能,这样每个段落都会显示为单独的一行。在 Word 中,我会<p>
在每行的开头和</p>
结尾添加,然后使用 Shift-Down 选择一行并按 Ctrl-V 粘贴 Word 中翻译的行来覆盖整行。完成后,展开全部(Alt-Shift-0)会展开所有内容。
答案4
我知道这个帖子已经有 4 年了,但由于我曾经处于同样的情况,所以我认为它仍然有用。
您还可以使用宏,它将自动为符号 > 和 < 之间的文本添加下划线。
要创建宏:
-单击标签< p >之前,使闪烁的条位于标签的左侧。
-在菜单中,单击“宏”-“开始录制”
-按 CRTL+F。找到符号 >,然后关闭窗口。标签的最后一部分将被加下划线。
-按下键盘上的右箭头(一次)。
- 按住 Shift,然后在键盘上按两次 End 按钮(如果激活了“自动换行”功能,则按两次;否则,只需按一次按钮)。
- 按住 Shift 键,同时按下左箭头,这样最后一个标签就不会有下划线。现在,只有标签之间的文本才会有下划线。
-单击停止录制,然后单击保存当前录制的宏。
我使用 CTRL+SHIFT+NUMBPAD+ 来激活宏。从一个部分转到另一个部分变得非常容易,只需粘贴新文本即可。