我在Windows 10上,但我在Windows(WSL)上使用Bash在Ubuntu上熟悉Linux命令行。
我正在尝试充分利用其功能,并且认为能够在Notepad ++中从CLI打开index.html
是很棒的。这可能吗?如果是这样,我将如何进行设置?
我对命令行很新,更不用说Linux命令了。
答案 0 :(得分:3)
绝对可以在WSL中使用Notepad ++。实际上,您可以像在普通Windows环境中一样使用它。
您需要创建一个bash 别名,以便更轻松地使用以下命令:
<path_to_textEditor> <path_to_textfile>
要为Notepad ++创建别名,请在WSL bash中执行以下操作:
打开.bashrc
启动脚本(启动bash时运行):
vim ~/.bashrc
将别名定义添加到脚本中:
alias np='<path_to_textEditor>'
对于Notepad ++,它将是:
alias np='/mnt/c/Program\ Files\ \(x86\)/Notepad++/notepad++.exe'
如果未在默认目录中安装Notepad ++,则可能必须调整路径。
确保使用escape chatacter \
(反斜杠)转义任何特殊字符,例如空格。
现在,像平常一样使用它:
要打开Notepad ++,请执行np
要在Notepad ++中打开特定文件,请执行np <text_file>
根据用户@ericpeters的建议,您可能希望将几个有用的Notepad++ startup options添加到别名中。
这些启动选项附加到别名字符串的末尾,并以空格分隔。
alias np='<path_to_textEditor> <startup_option_1> <startup_option_2> ...'
以下是一些例子:
-multiInst
:打开一个与当前打开的Notepad ++会话分开的新Notepad ++实例(如果存在)。
-nosession
:请勿加载上一个会话,也不要将会话保存到session.xml
。
-notabbar
:关闭标签界面。
以下是启动选项的示例:
alias np='/mnt/c/Program\ Files\ \(x86\)/Notepad++/notepad++.exe -multiInst -notabbar -nosession'
就个人而言,我有两个单独的别名,一个没有启动选项,一个带有上面的三个启动选项。这允许我选择是否要:
答案 1 :(得分:1)
很抱歉,在我之前的回答中误解了这个问题。 我找不到Windows bash支持运行Windows应用程序的提示 http://www.howtogeek.com/265900/everything-you-can-do-with-windows-10s-new-bash-shell/
许多Ubuntu Notepad ++替代品中没有一个可以解决这个问题吗? https://itsfoss.com/notepad-alternatives-for-linux/
答案 2 :(得分:0)
我通常将所有工作文件放在Windows目录中
/mnt/d/ubuntu/
然后在WSL Ubuntu Shell中,我创建一个指向目录的符号链接
ln -s /mnt/d/ubuntu ~/win
无论我在WSL中使用什么文件,我都将它们放置在此目录中,除了Linux特定的文件(通常不需要在Windows应用程序中打开这些文件)。
现在,当您要使用Windows应用程序来处理文件时,只需浏览该应用程序即可
D:/ubuntu/.../your/files
答案 3 :(得分:0)
对于WSL2,我只需将Notepad ++目录添加到PATH
并放置该脚本:
#!/bin/bash
params=()
args=($@)
argslength=${#args[@]}
for (( i=0; i<${argslength}; i++ ));
do
param=${args[$i]}
if [[ ${param:0:1} == "/" ]]; then
params[$i]=$(wslpath -w $param)
else
params[$i]=$param
fi
done
notepad++.exe ${params[@]}
它将绝对路径(以一种简单但简单的方式)转换为Windows格式,以便Notepad ++可以理解它们。
我通常只将脚本命名为npp
,然后我的git ecg
再次起作用。
git config --global alias.ecg "config --global -e"
git config --global core.editor "npp -multiInst -notabbar -nosession -noPlugin"