使用 Notepad++,可以使用选项“-n”和目标文件名跳转到源文件的某个行号。现在,我想从命令行启动 Notepad++ 并直接跳转到某个函数定义块,例如通过在命令行上指定某个文本字符串。这样就可以直接链接到起始行号可能经常变化的源代码块。这有可能吗?
答案1
首先尝试找出行号,然后将其作为参数传递给 Notepad++。
设置结果 = find /n“我们正在寻找的字符串”C:\path-to-file.txt
/n 在结果开头添加行号
findstr 可能有助于在您使用 find 后提取行号:echo %results%|findstr /R some_pattern
也可以看看:
答案2
最好的方法是创建一个小脚本(批处理,Perl,无论什么),检索行号并运行 Notepad++。
这是一个 Windows 批处理的示例;要运行它,你只需要执行
Notepad_jumpline.bat <filename> <section>
@REM --Notepad_jumpline.bat--
@echo off
for /f "tokens=1" %%i in ('findstr /n %2 %1') do (
set n_lines=%%i
goto _Run_Notepad_
)
:_Run_Notepad_
set n_lines=%n_lines::=%
"C:\Program Files (x86)\Notepad++\notepad++.exe" %1 -n%n_lines%