我刚刚使用 (setq erc-nick "name") 为 ERC 配置了我的 IRC 用户名。
Magit 是否有类似的变量,所以它知道我的 Github 用户名。如果没有,我可以写一些 ELisp 来为 Magit 添加一个钩子或类似的东西吗?
以下是使用命令行设置配置的方法:
/usr/local/git/bin/git config --global github.token 123456789
/usr/local/git/bin/git config --global github.user tiago
/usr/local/git/bin/git config --global user.name tiago
/usr/local/git/bin/git config --global user.email tiago@stackoverflow.com
;; for OSX
/usr/local/git/bin/git config --global credential.helper osxkeychain
/usr/local/git/bin/git config --global core.excludesfile ~/.gitignore_global
在 magit.el 中查找用户名,我发现了以下函数:
(defun magit-process-username-prompt (proc string)
"Forward username prompts to the user."
(let ((prompt (magit-process-match-prompt
magit-process-username-prompt-regexps string)))
(when prompt
(process-send-string proc
(concat (read-string prompt nil nil
(user-login-name))
"\n")))))
如果您将变量 user-login-name 设置为您的 github 昵称,您至少会将其作为默认选择(只需按 Enter 键)。
您还可以重新定义 magit-process-username-prompt,将 (read-string...) - 替换为您的用户名。请注意,在这种情况下,如果您必须使用其他用户名登录,则必须重新激活原始版本。
@abo-abo 确实给出了最好的建议:ssh 密钥让一切变得更容易。