Mac 終端神器 iTerm2 新增 Python API
(給Python開發者加星標,提升Python技能)
轉自:開源中國
www.oschina.net/news/105404/iterm2-python-api
iTerm2 的文件頁面顯示,其最新測試版增加了 Python API。具體來說就是,iTerm2 提供了一個 Python 包,通過它我們可以輕鬆編寫控制 iTerm2 並擴充套件其行為的 Python 指令碼。
當然,該功能目前尚處於 Beta 階段,API 可能偶爾會發生變化。
示例程式碼
Function Key Tabs(通過功能鍵切換選項卡)
#!/usr/bin/env python3
import asyncio
import iterm2
async def main(connection):
app = await iterm2.async_get_app(connection)
keycodes = [ iterm2.Keycode.F1,
iterm2.Keycode.F2,
iterm2.Keycode.F3,
iterm2.Keycode.F4,
iterm2.Keycode.F5,
iterm2.Keycode.F6,
iterm2.Keycode.F7,
iterm2.Keycode.F8,
iterm2.Keycode.F9,
iterm2.Keycode.F10,
iterm2.Keycode.F11,
iterm2.Keycode.F12 ]
async def keystroke_handler(connection, keystroke):
if keystroke.modifiers == [ iterm2.Modifier.FUNCTION ]:
try:
fkey = keycodes.index(keystroke.keycode)
if fkey >= 0 and fkey < len(app.current_terminal_window.tabs):
await app.current_terminal_window.tabs[fkey].async_select()
except:
pass
pattern = iterm2.KeystrokePattern()
pattern.forbidden_modifiers.extend([iterm2.Modifier.CONTROL,
iterm2.Modifier.OPTION,
iterm2.Modifier.COMMAND,
iterm2.Modifier.SHIFT,
iterm2.Modifier.NUMPAD])
pattern.required_modifiers.extend([iterm2.Modifier.FUNCTION])
pattern.keycodes.extend(keycodes)
async def monitor():
async with iterm2.KeystrokeMonitor(connection) as mon:
while True:
keystroke = await mon.async_get()
await keystroke_handler(connection, keystroke)
# Run the monitor in the background
asyncio.create_task(monitor())
# Block regular handling of function keys
filter = iterm2.KeystrokeFilter(connection, [pattern])
async with filter as mon:
await iterm2.async_wait_forever()
iterm2.run_forever(main)
使用該指令碼,我們可以通過按下功能鍵來選擇選項卡。F1 表示選擇第一個選項卡,F2 表示選擇第二個選項卡等。
官方還提供了關於該功能的教程,包含了編寫指令碼的詳細指南,並描述了 iTerm2 指令碼系統的架構。
iTerm2 是 iTerm 的後繼者,也是 Terminal 的替代者。這是一款用於 macOS 的終端模擬器,支援視窗分割、熱鍵、搜尋、自動補齊、無滑鼠複製、歷史貼上、即時重播等功能特性,適用於 macOS 10.10 及以上版本。
推薦閱讀
(點選標題可跳轉閱讀)
覺得本文對你有幫助?請分享給更多人
關注「Python開發者」加星標,提升Python技能
喜歡就點一下「好看」唄~
相關文章
- mac必備終端神器iTerm2 中文漢化版!Mac
- 強大的Mac終端神器_iTerm2 3.4.10 漢化版Mac
- Mac 終端利器 - iTerm2Mac
- 【Mac】iTerm2 一個更好用的終端Mac
- Mac最好用的終端iterm2使用教程分享Mac
- iTerm2 v3.4.9中文版,mac必備的一款終端神器Mac
- Mac終端最好的體驗之 iTerm2 + Oh My ZshMac
- 隱藏在Mac OS中7年的漏洞終於被修復,終端利器iTerm2已更新Mac
- Linux終端記錄神器Linux
- 玩轉Mac終端:Mac 終端常用知識Mac
- 如何使用Mac終端登出MacMac
- Mac 常用終端命令Mac
- Mac終端命令大全Mac
- mac膝上型電腦的終端iterm2儲存ssh登入密碼快速登入Mac密碼
- Linux環境搭建 | 全能終端神器——MobaXtermLinux
- Linux終端複用神器-Tmux使用梳理Linux
- SecureCRT for mac(終端SSH工具)SecurecrtMac
- 終端SSH工具:SecureCRT MacSecurecrtMac
- SecureCRT for mac 終端SSH工具SecurecrtMac
- 終端SSH工具:SecureCRT for macSecurecrtMac
- MAC常用終端命令列Mac命令列
- MAC 終端 命令 記錄Mac
- mac下常用終端命令Mac
- Asciinema - 終端日誌記錄神器,開發者的福音ASCII
- Putty for Mac(終端模擬器)Mac
- SecureCRT Mac_終端SSH工具SecurecrtMac
- 終端模擬器:Serial for MacMac
- Mac 常用的終端命令 《一》Mac
- 【Mac】Termius for mac(終端模擬器/SSH/SFTP客戶端)MacFTP客戶端
- 終端如何退出pythonPython
- Mac 使用 iTerm2 的 Profiles 快捷登入遠端伺服器Mac伺服器
- Mac蘋果電腦終端命令合集Mac蘋果
- Mac終端Terminal呼叫Sublime TextMac
- Mac 終端執行 shell 指令碼Mac指令碼
- 同一終端新增多個 git 賬號Git
- SecureCRT for Mac(終端模擬器/SSH客戶端)SecurecrtMac客戶端
- 終端模擬器ZOC7 for MacMac
- SecureCRT for Mac 強大的終端SSH工具SecurecrtMac