scoopwhichfindC: ">
在window10上運行emacs-27.1會因為路徑問題而導致有些命令不能正常應用,比如find。
PS C:\Users\gaowei> scoop which find
C:\Windows\system32\find.exe
無論用find還是用find.exe全部調用的是windows的命令,如果直接在emacs中用grep-find命令會報錯:
find . -type f -exec grep -nH -e diary "{}" ";"
Access denied - .
File not found - -TYPE
File not found - F
File not found - -EXEC
File not found - GREP
File not found - -NH
File not found - -E
File not found - DIARY
File not found - ;
迂回的解決方案是安裝busybox,用grep-find的時候加前綴:
Grep started at Thu Aug 27 13:24:07
busybox find . -type f -exec grep -nH -e diary "{}" ";"
./01.Screen.org:113:On a display that supports a mouse, you can use the mouse to choose a command from the menu bar. An arrow on the right edge of a menu item means it leads to a subsidiary menu, or submenu. A '...' at the end of a menu item means that the command will prompt you for further input before it actually does anything.
然而反復輸入busybox著實影響效率。
有沒有更優的解決方案呢?
我們可以用getenv函數參與emas的路徑:
ELISP> (getenv "PATH")
"C:\ProgramData\scoop\shims;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;C:\Users\gaowei\scoop\shims;C:\Users\gaowei\AppData\Local\Microsoft\WindowsApps"
注意其中的反斜杠,真讓人頭疼。
我們同時會注意到,emacs中有71中與path相關的變量。
我們調用函數setenv修改環境變量PATH。
(setenv VARIABLE &optional VALUE SUBSTITUTE-ENV-VARS)
我們在上文中苦惱于冗余的反斜杠,emacs提供了便捷的解決方案,直接用/替代\。因此最總的路徑,我們可以修改為:
"C:/ProgramData/scoop/shims;C:/Users/gaowei/scoop/shims;C:/Users/gaowei/.emacs.d/bin;C:/Users/gaowei/AlphaApps;C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C:/Windows/System32/WindowsPowerShell/v1.0;C:/Windows/System32/OpenSSH/;C:/Users/gaowei/AppData/Local/Microsoft/WindowsApps")
nil)
由于我們的配置要適配于多種系統,因此要加上選擇語句:
(if (eq system-type 'windows-nt)
(setenv
"PATH"
"C:/ProgramData/scoop/shims;C:/Users/gaowei/scoop/shims;C:/Users/gaowei/.emacs.d/bin;C:/Users/gaowei/AlphaApps;C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C:/Windows/System32/WindowsPowerShell/v1.0;C:/Windows/System32/OpenSSH/;C:/Users/gaowei/AppData/Local/Microsoft/WindowsApps")
nil)
其中變量”system-type"記錄了當前操作系統種類。
ELISP> (eval 'system-type)
windows-ntELISP> (eval 'system-type)
windows-nt
此時,grep-find就能無礙運行。
以上,變量修改完成,我的機器信息為:
gaowei@alpha
------------
OS: Windows 10 專業版 x86_64
Host: TIMI RedmiBook 16
Kernel: 10.0.19041
Uptime: 7 hours, 57 mins
Packages: 27 (scoop)
Shell: bash 4.4.23
Resolution: 1920x1080
DE: Aero
Terminal: Windows Terminal
CPU: AMD Ryzen 5 4500U with Radeon Graphics (6) @ 2.370GHz
GPU: Caption
GPU: AMD Radeon(TM) Graphics
GPU
Memory: 8640MiB / 15741MiB
Emacs相關問題,期待留言交流。
Windows 10 現在越來越普及了,身邊的人新買電腦都預裝了 Win10 系統,因為嫌麻煩,所以買回來后也沒有重裝成 Windows 7。用著用著,也就習慣了。作為技術人員,感覺自己卻還在“堅守”在 Windows 7 陣營里,有時候朋友遇到什么 Win10 上的問題,自己操作起來也不順手,是時候系統地學習一下 Windows 10了。
本文整理了 Win10 幾乎所有的鍵盤快捷鍵,全部來自微軟官網,讓我們一起學習一下:
Windows 徽標鍵鍵盤快捷方式 | |
按鍵 | 操作 |
Windows 徽標鍵 | 打開或關閉“開始”屏幕 |
Windows + A | 打開操作中心 |
Windows + B | 將焦點放在通知區域上 |
Windows + C | 在偵聽模式下打開 Cortana 注意 此快捷方式在默認情況下處于關閉狀態。若要打開它,請從任務欄上的搜索框打開“Cortana”,然后選擇“設置”。當我按下 Windows + C 時啟動切換 鍵,讓 Cortana 聽從我的命令。 Cortana 僅在某些國家/地區可用,并且某些 Cortana 功能可能無法隨時隨地使用。如果 Cortana 不可用或已關閉,你仍然可以使用搜索。 |
Windows + Shift + C | 打開超級按鈕菜單 |
Windows + D | 顯示和隱藏桌面 |
Windows + Alt + D | 顯示和隱藏桌面上的日期和時間 |
Windows + E | 打開“文件資源管理器” |
Windows + F | 打開“反饋中心” |
Windows + G | 當游戲處于打開狀態時打開“游戲欄 |
Windows + I | 打開“設置” |
Windows + J | 請將焦點設置到可用的 Windows 提示。 當出現 Windows 提示時,請將焦點移到提示上。 再次按下鍵盤快捷方式,將焦點放在屏幕上 Windows 提示所固定的元素上。 |
Windows + K | 打開“連接”快速操作 |
Windows + L | 鎖定你的電腦或切換賬戶 |
Windows + M | 最小化所有窗口 |
Windows + O | 鎖定設備方向 |
Windows + P | 選擇演示顯示模式 |
Windows + R | 打開“運行”對話框 |
Windows + S | 打開“搜索” |
Windows + T | 循環瀏覽任務欄上的應用 |
Windows + U | 打開“輕松使用設置中心” |
Windows + V | 循環瀏覽通知 |
Windows + Shift + V | 以相反順序循環瀏覽通知 |
Windows + X | 打開“快速鏈接”菜單 |
Windows + Z | 以全屏模式顯示應用中可用的命令 |
Windows + 逗號 (,) | 臨時速覽桌面 |
Windows + Pause 鍵 | 顯示“系統屬性”對話框 |
Windows + Ctrl + F | 搜索電腦(如果已連接到網絡) |
Windows + Shift + M | 還原桌面上的最小化窗口 |
Windows + 數字 | 打開桌面,然后啟動固定到任務欄的應用(位于數字所指明的位置)。如果應用已處于運行狀態,則切換至該應用。 |
Windows + Shift + 數字 | 打開桌面,然后啟動固定到任務欄的應用新實例(位于數字所指明的位置) |
Windows + Ctrl + 數字 | 打開桌面,然后切換至固定到任務欄的應用的最后活動窗口(位于數字所指明的位置) |
Windows + Alt + 數字 | 打開桌面,然后打開固定到任務欄的應用的“跳轉列表”(位于數字所指明的位置) |
Windows + Ctrl + Shift + 數字 | 打開桌面,然后以管理員身份打開位于任務欄上指定位置的應用新實例 |
Windows + Tab | 打開任務視圖 |
Windows 向上鍵 | 最大化窗口 |
Windows 向下鍵 | 刪除屏幕上的當前應用并最小化桌面窗口 |
Windows + 向左鍵 | 最大化屏幕左側的應用或桌面窗口 |
Windows + 向右鍵 | 最大化屏幕右側的應用或桌面窗口 |
Windows + Home | 最小化活動桌面窗口之外的所有窗口(在第二個筆劃時還原所有窗口) |
Windows + Shift + 向上鍵 | 將桌面窗口拉伸至屏幕頂部和底部 |
Windows + Shift + 向下鍵 | 在垂直方向上還原/最小化活動桌面窗口,而寬度保持不變 |
Windows Shift + 向左鍵或向右鍵 | 將桌面上的應用或窗口從一臺顯示器移動至另一臺顯示器 |
Windows + 空格鍵 | 切換輸入語言和鍵盤布局 |
Windows + Ctrl + 空格鍵 | 對之前選擇的輸入所做的更改 |
Windows + Ctrl + Enter | 打開“講述人” |
Windows + 正斜杠 (/) | 開始輸入法復原流程 |
Windows + 加號 (+) 或減號 (-) | 使用放大鏡放大或縮小 |
Windows + Esc | 退出“放大鏡” |
復制、粘貼及其他常規的鍵盤快捷方式 | |
Ctrl + X | 剪切選定項 |
Ctrl + C(或 Ctrl + Insert) | 復制選定項 |
Ctrl + V(或 Shift + Insert) | 粘貼選定項 |
Ctrl + Z | 撤消操作 |
Alt + Tab | 在打開的應用之間切換 |
Alt + F4 | 關閉活動項,或者退出活動應用 |
Windows + L | 鎖定你的電腦 |
Windows + D | 顯示和隱藏桌面 |
F2 | 重命名選定項 |
F3 | 在文件資源管理器中搜索文件或文件夾 |
F4 | 在文件資源管理器中顯示地址欄列表 |
F5 | 刷新活動窗口 |
F6 | 循環瀏覽窗口中或桌面上的屏幕元素 |
F10 | 激活活動應用中的菜單欄 |
Alt + F8 | 在登錄屏幕上顯示你的密碼 |
Alt + Esc | 按項目打開順序循環瀏覽 |
Alt + 帶下劃線的字母 | 執行該字母相關的命令 |
Alt + Enter | 顯示所選項目的屬性 |
Alt + 空格鍵 | 打開活動窗口的快捷方式菜單 |
Alt + 向左鍵 | 返回 |
Alt + 向右鍵 | 前進 |
Alt + Page Up | 向上移動一個屏幕 |
Alt + Page Down | 向下移動一個屏幕 |
Ctrl + F4 | 關閉活動文檔(在可全屏顯示并允許你同時打開多個文檔的應用中) |
Ctrl + A | 選擇文檔或窗口中的所有項目 |
Ctrl + D(或 Delete) | 刪除所選的項目,將其移至回收站 |
Ctrl + R(或 F5) | 刷新活動窗口 |
Ctrl + Y | 恢復操作 |
Ctrl + 向右鍵 | 將光標移動到下一個字詞的起始處 |
Ctrl + 向左鍵 | 將光標移動到上一個字詞的起始處 |
Ctrl + 向下鍵 | 將光標移動到下一段落的起始處 |
Ctrl + 向上鍵 | 將光標移動到上一段落的起始處 |
Ctrl + Alt + Tab | 使用箭頭鍵在所有打開的應用之間進行切換 |
Ctrl + Alt + Shift + 箭頭鍵 | 當組或磁貼的焦點放在“開始”菜單上時,可將其朝指定方向移動 |
Ctrl + 箭頭鍵(移至某個項目)+ 空格鍵 | 選擇窗口中或桌面上的多個單獨項目 |
Ctrl + Shift(及箭頭鍵) | 選擇文本塊 |
Ctrl + Esc | 打開“開始”屏幕 |
Ctrl + Shift + Esc | 打開任務管理器 |
Ctrl + Shift | 如果多種鍵盤布局可用,則可切換鍵盤布局 |
Ctrl + 空格鍵 | 打開或關閉的中文輸入法編輯器 (IME) |
Shift + F10 | 顯示所選項目的快捷方式菜單 |
按 Shift 與任何箭頭鍵 | 在窗口中或桌面上選擇多個項目,或在文檔中選擇文本 |
Shift + Delete | 刪除選定項,無需先移動到回收站 |
向右鍵 | 打開右側的下一個菜單,或打開子菜單 |
向左鍵 | 打開左側的下一個菜單,或關閉子菜單 |
Esc | 停止或離開當前任務 |
命令提示符鍵盤快捷方式 | |
Ctrl + C(或 Ctrl + Insert) | 復制選定文本 |
Ctrl + V(或 Shift + Insert) | 粘貼選定文本 |
Ctrl + M | 輸入標記模式 |
Alt + 所選擇的鍵 | 開始在塊模式下選擇 |
箭頭鍵 | 按指定方向移動光標 |
Page up | 將光標向上移動一個頁面 |
Page down | 將光標向下移動一個頁面 |
Ctrl + Home(標記模式) | 將光標移動到緩沖區起始處 |
Ctrl + End(標記模式) | 將光標移動到緩沖區結尾處 |
Ctrl + 向上鍵 | 在輸出歷史記錄中上移一行 |
Ctrl + 向下鍵 | 在輸出歷史記錄中下移一行 |
Ctrl + Home(歷史記錄導航) | 如果命令行為空,則將視區移動到緩沖區頂部。否則,請刪除命令行中光標左側的所有字符。 |
Ctrl + End(歷史記錄導航) | 如果命令行為空,則將視區移動到命令行。否則,請刪除命令行中光標右側的所有字符。 |
對話框鍵盤快捷方式 | |
F4 | 顯示活動列表中的項目 |
Ctrl + Tab | 在選項卡中向前移動 |
Ctrl + Shift + Tab | 在選項卡中向后移動 |
Ctrl + 數字(數字 1–9) | 移動到第 n 個選項卡 |
Tab | 在選項中向前移動 |
Shift + Tab | 在選項中向后移動 |
Alt + 帶下劃線的字母 | 執行可與該字母結合使用的命令(或選擇該選項) |
空格鍵 | 如果活動選項為復選框,則選擇或清除復選框 |
Backspace | 如果在“另存為”或“打開”對話框中選擇文件夾,則打開上一級別的文件夾 |
箭頭鍵 | 如果活動選項是一組選項按鈕,請選擇一個按鈕 |
文件資源管理器鍵盤快捷方式 | |
Alt + D | 選擇地址欄 |
Ctrl + E | 選擇搜索框 |
Ctrl + F | 選擇搜索框 |
Ctrl + N | 打開新窗口 |
Ctrl + W | 關閉活動窗口 |
Ctrl + 鼠標滾輪 | 更改文件和文件夾圖標的大小和外觀 |
Ctrl + Shift + E | 顯示選定文件夾上所有級別文件夾 |
Ctrl + Shift + N | 新建文件夾 |
Num Lock + 星號 (*) | 顯示選定文件夾下所有子文件夾 |
Num Lock + 加號 (+) | 顯示選定文件夾中的內容 |
Num Lock + 減號 (-) | 折疊選定文件夾 |
Alt + P | 顯示預覽面板 |
Alt + Enter | 打開選定項目的“屬性”對話框 |
Alt + 向右鍵 | 查看下一個文件夾 |
Alt + 向上鍵 | 查看該文件夾所在的文件夾 |
Alt + 向左鍵 | 查看上一個文件夾 |
Backspace | 查看上一個文件夾 |
向右鍵 | 顯示當前選擇內容(如果已折疊),或選擇第一個子文件夾 |
向左鍵 | 折疊當前所選內容(如果已展開),或選擇該文件夾所在的文件夾 |
End | 顯示活動窗口底部 |
Home | 顯示活動窗口頂部 |
F11 | 最大化或最小化活動窗口 |
文件資源管理器鍵盤快捷方式 | |
Windows + Tab | 打開“任務視圖” |
Windows + Ctrl + D | 添加虛擬桌面 |
Windows + Ctrl + 向右鍵 | 在你于右側創建的虛擬桌面之間切換 |
Windows + Ctrl + 向左鍵 | 在你于左側創建的虛擬桌面之間切換 |
Windows + Ctrl + F4 | 關閉你正在使用的虛擬桌面 |
任務欄鍵盤快捷方式 | |
Shift + 單擊任務欄按鈕 | 打開應用或快速打開另一個應用實例 |
Ctrl + Shift + 單擊任務欄按鈕 | 以管理員身份打開應用 |
Shift + 右鍵單擊任務欄按鈕 | 顯示應用的窗口菜單 |
Shift + 右鍵單擊分組任務欄按鈕 | 顯示組窗口菜單 |
Ctrl + 單擊分組任務欄按鈕 | 循環瀏覽組窗口 |
設置鍵盤快捷方式 | |
Windows + I | 打開設置 |
Backspace | 返回至設置主頁 |
使用搜索框在任何頁面上鍵入 | 搜索設置 |
歡迎大家提議、分享、交流、共同學習進步