bash - Windows 上的 Emacs 从脚本启动时会打开 emtpy 缓冲区
问题描述
背景
我正在重写我的newNote
脚本,我正在使用 runemacs.exe Windows,而不是像过去那样直接调用二进制文件。以前我会让启动终端挂在后台,我意识到 runemacs.exe 避免了这种烦恼。
问题:
该脚本从原始文件的角度工作,但是当 emacs 启动时,我得到一个空缓冲区,我希望在其中看到一个标题和一些定义的 TODO 标记。如果我.org
直接打开文件,我会看到内容符合我的预期。任何帮助,将不胜感激!
#!/bin/bash
BASE_NOTES_DIR="${USER_DESKTOP}/Notes"
CURRENT_DATE=`date "+%Y_%m_%d_%s"`
TODO_OPTIONS='TODO InProgress(i) Rejected(R) | BackBurner(B) DONE(D) Cancelled(c)'
function spaceToUnderscore()
{
RESULT="`echo "$@" | sed 's/ /_/g'`"
}
function getPromptResponseEscaped()
{
read -p "$@" answer
spaceToUnderscore $answer
}
getPromptResponseEscaped "Which Project is this for?: "
Project=$RESULT
read -p "What title for this new note?: " user_title
spaceToUnderscore $user_title
Title=$RESULT
Folder="${BASE_NOTES_DIR}/${Project}/${Title}"
if [ ! -d $Folder ]
then
mkdir -p $Folder
fi
fileName="${CURRENT_DATE}_${Title}.org"
filePath="${Folder}/${fileName}"
touch $filePath && \
echo "#+TITLE: ${user_title}" >> $filePath && \
echo "#+TODO: ${TODO_OPTIONS}" >> $filePath && \
sync && \
"C:\Program Files\Emacs\x86_64\bin\runemacs.exe" "$fileName"
笔记:
执行
USER_DESKTOP
在运行此代码之前,需要将其定义为环境变量或新行。
重击版本
GNU bash, version 4.4.23(1)-release (x86_64-pc-msys)
解决方案
推荐阅读
- java - Java获取数组类型的类
- javascript - 如何在 ngFor 中实现固定的 div 列?
- java - 在 Oracle 12c 中实现读锁的任何方法?
- flutter - 如何用过时的上下文关闭 SearchDelegate?
- https - IIS 上的 Core 2.1 站点未重定向到 SSL
- java - 如何暂存大量数据,等待,然后在 Cucumber 中运行测试?
- itext - 如何在 Itext7 中使用自定义颜色和自定义字体
- android - 如何使用 AWS C++ SDK 为 Android 构建 Qt 应用程序?
- netty - Netty SctpMultiChannel
- android - IONIC 3 android应用程序启动延迟