从 Git Bash 调用 notepad++

Posted

技术标签:

【中文标题】从 Git Bash 调用 notepad++【英文标题】:Invoking notepad++ from Git Bash 【发布时间】:2013-02-24 06:39:01 【问题描述】:

我在 Windows 7 中使用msysgit。如何,就像我们使用默认记事本一样?

例如

name@usename 记事本文本文件.txt

相反,我希望使用 notepad++ 打开文件。

注意:我已将 notepad++ 添加到我的 PATH,但仍无法从命令行调用它。

编辑

我在 .gitconfig 中试过这个 -->

[别名] notepad='C:/Program Files/Notepad++/notepad++.exe'

但不工作。

【问题讨论】:

写别名很困难,因为所有特殊字符都需要转义——“程序文件”中的空格、“(x86)”中的括号和“notepad++”中的加号。 @ColonelPanic ***.com/questions/892555/… 【参考方案1】:

我相信 git-bash 是一个真正的 bash shell,所以当它启动时,它会从某个地方运行一个 .bashrc 文件(很可能是您的主目录或 git-bash 启动的目录)。查找该文件,找到时,在某处为 notepad++ 添加别名行:

alias notepad="/c/Program\ Files/Notepad++/notepad++.exe"

当然使用你的实际路径到 Notepad++ 那里。

【讨论】:

所有这些都是正确的,但很可能他还没有 .bashrc 文件,因为他从未使用过它。阅读我的评论或在您的用户主目录中创建一个 .bashrc 文件并将适当的路径添加到应用程序 你也可以在双引号周围使用单引号,所以:alias np='"C:\Program Files (x86)\Notepad++\notepad++.exe"'【参考方案2】:

我将 Notepad++ 文件夹添加到我的路径中,因此我只需键入 notepad++

$ which notepad++
/c/Program Files (x86)/Notepad++/notepad++

【讨论】:

@Andi Then notepad++ isn't 在 git shell 使用的 PATH 中。你是如何将它添加到你的路径中的?【参考方案3】:

别名与git 命令一起使用,因此使用OP 中的别名,您应该能够运行git notepad。不过,我认为这不是您想要的。如果您正确地将 notepad++ 添加到您的 PATH 变量中,那么您应该能够执行 notepad++。您可以通过运行which notepad++ 来检查这一点。如果这没有给出notepad++ 的完整路径,则说明 PATH 设置不正确。

【讨论】:

【参考方案4】:

因此,默认情况下您不会有 .bashrc 文件,因此只需键入以下内容导航到您的主目录:

cd ~

使用 vim(或您喜欢的任何编辑器)创建或编辑 .bashrc:

vim .bashrc

这是我必须添加到我的行(我运行的是 64 位操作系统,所以如果你不是,请不要完全复制)

alias notepad="/c/Program\ Files\ \(x86\)/Notepad++/notepad++.exe"

如果您的 Windows 副本是 32 位,那么它应该如下所示

alias notepad="/c/Program\ Files/Notepad++/notepad++.exe"

最后,关闭并重新打开您的终端/bash(或者,如前所述,运行 source ~/.bashrc),瞧!

【讨论】:

哇,这改变了游戏规则!超好的!我用过:alias open="/c/Program\ Files\/Notepad++/notepad++.exe" 你确定吗?它仍然说我找不到该命令。 如果您尚未关闭并重新打开 bash 客户端,它可能看不到新增内容。这让我为打开 VS 解决方案而编写的其他一些脚本感到头疼。 @JoshGust 或者你可以source 它。 (`source ~/.bashrc')【参考方案5】:

@SageMage 的回答很到位。

只是一个提醒。在 .bashrc 中进行更改后,您需要关闭并重新打开 GitBash 才能激活它。

PS:两年后,我希望这会有所帮助!

【讨论】:

【参考方案6】:

我用 32 位 Notepad++ 为我的 64 位机器添加了这个。

$ cd ~
$ vim .bash_profile

将此添加到文件中然后保存:

64 位系统

alias npp="/c/Program\ Files\ \(x86\)/Notepad++/notepad++.exe"

32 位系统

alias npp="/c/Program\ Files/Notepad++/notepad++.exe"

现在你应该可以用notepad++打开任何文件了

$ npp [file_name]

【讨论】:

觉得应该添加到这个文件.bashrc?【参考方案7】:

首先, 如果您还没有创建任何 .bashrc 配置文件或 .bash_profile 使用 vim 或其他人提到的任何其他编辑器创建其中一个

或者

如果您没有任何可以与 git bash 一起使用的编辑器,但通过打开记事本或 notepad++ 编辑器并将文件保存在主目录中手动创建一个。

注意:您可以使用

检查您的主目录
 cd ~

 pwd

我的 Notepad++ 路径是 C:\Program Files\Notepad++\notepad++.exe

所以要转到notepad++目录的任何目录,我必须转到根目录,然后转到所需的路径。 所以这是我必须添加到我的 .bash_profile 的行

alias note="//\/c/Program\ Files/Notepad++/notepad++.exe"

'//' 把它带到根目录

附注:

您可能需要根据您的目标目录(notepad++ 目录)更改路径 “Program Files”目录应该写成“Program\ Files”。 如果您的 Notepad++ 目录位于 Program Files (x86) 中,则使用“Program\ Files\ (x86)”

【讨论】:

【参考方案8】:

这些是实现目标的更快方法

start notepad++ 
start notepad++ <filename>
alias np='start notepad++'
np <filename>

尝试和测试,就去做吧!

【讨论】:

【参考方案9】:

在您的 .bash 个人资料中添加

别名 myeditor="'C:\\Program Files (x86)\\Notepad++\\notepad++.exe'"

用“\\”代替“\”。

【讨论】:

【参考方案10】:

下面是 Git 和 GitHub 上的 listed on Udacity's course。它对我有用:

    检查位置后在 Git Bash 中运行以下命令 您的 PC 上的记事本++。

    echo 'alias npp="C:/Program\ Files\ \(x86\)/Notepad\+\+/notepad\+\+.exe"' >> ~/.bashrc
    

    请注意我必须如何转义空格和括号等字符。如果您不确定是否应该转义,您可以转义任何字符。还要确保使用您想要的别名;我选择了npp

    关闭并重新打开 Git Bash

    在 Git Bash 中输入 npp如果它打开了,那么您就可以开始了。 如果没有,请尝试以下几点:

    通过在 Git Bash 中运行以下命令来测试 .bashrc

    source ~/.bashrc
    

    重试输入 npp 以启动 Notepad++。如果 Notepad++ 没有启动,请检查步骤 1 中创建的文件 ~/.bashrc 的内容。

    要确保每次打开 Git Bash 时都加载 .bashrc 文件内容,请编辑 ~/.bash_profile 并添加以下两行。 (参考)

    if [ -r ~/.profile ]; then . ~/.profile; fi
    
    case "$-" in *i*) if [ -r ~/.bashrc ]; then . ~/.bashrc; fi;; esac
    

    关闭并重新打开 Git Bash。在 Git Bash 中输入 npp 以检查它是否正确启动。

【讨论】:

我会在@Amgad 的回答中补充一点,您可能还必须在括号周围添加转义字符!【参考方案11】:

这个配置适合我

editor = \"/c/Program Files (x86)/Notepad++/Notepad++.exe\" -multiInst

multiInst 参数只是为了使其对您已经打开 notepad++ 的交互式编辑更友好。 (如果 Notepad++ 已经打开并且您再次运行该进程,它会将文件添加到您现有的实例中,然后立即退出,这意味着您已经完成了 git)

【讨论】:

【参考方案12】:

我遇到了找不到命令的问题。 我发现那是因为我在我的工作目录下做所有那些 vim .bashrc 。 看来我必须在 Git Bash 主目录下这样做......

【讨论】:

【参考方案13】:

在你的 git bash 中添加:

alias npp='notepad++ -multiInst -nosession'

我希望这行得通。

【讨论】:

【参考方案14】:

    在您的系统/项目上打开 Git Bash 并在 Git Bash 中键入以下命令

    git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

    按 Enter 键,如果没有出现错误,您已成功将 Notepad++ 设置为 Git Bash 中的文本编辑器。 你也可以通过输入命令来检查它

    git config --global core.editor

【讨论】:

您解释了如何设置 core.editor(这是不必要的),而不是如何打开/调用与要从 git bash 中打开的文件相关的应用程序,这是通过键入 @ 来实现的987654325@,start会打开与文件扩展名关联的程序

以上是关于从 Git Bash 调用 notepad++的主要内容,如果未能解决你的问题,请参考以下文章

错误 - 在Windows 7中使用“Git Bash Here”时,“文件扩展名.vbs没有脚本引擎”

使用 Git Bash 从 Shell 脚本调用批处理脚本

Git bash如何调用不同版本的python

Git bash如何调用不同版本的python

Git bash Error: Could not fork child process: There are no available terminals (-1)

git报错remote: error: cannot run hooks/post-receive: No such file or directory