
Tối Ưu Hóa Windows: 10 Script AutoHotkey V2 Đỉnh Cao Nâng Tầm Năng Suất Làm Việc
Với vai trò là một người say mê công nghệ và thường xuyên làm việc với máy tính, tôi đã dành nhiều năm để tạo ra các script PowerShell nhằm tự động hóa các tác vụ lặp đi lặp lại trên chiếc PC Windows của mình. Tuy nhiên, điểm hạn chế là nhiều script trong số đó đòi hỏi phải chạy thủ công, đôi khi lại tốn thêm thời gian không cần thiết. Đó là lúc AutoHotkey (phiên bản 2) trở thành “vị cứu tinh”. Công cụ mạnh mẽ này đã giúp tôi tái tạo lại những script cũ, đồng thời gán chúng vào các tổ hợp phím tắt riêng biệt. Kết quả là những tính năng này giờ đây hoạt động mượt mà, nhanh chóng và tự nhiên đến mức bạn sẽ cảm thấy như chúng là những tính năng tích hợp sẵn mà Microsoft “quên” không nhắc đến trong Windows.
AutoHotkey không chỉ đơn thuần là một công cụ tạo phím tắt. Nó là một ngôn ngữ kịch bản mạnh mẽ, cho phép bạn điều khiển mọi khía cạnh của Windows, từ việc mở ứng dụng, tự động điền văn bản, cho đến sắp xếp file hay ngăn máy tính ngủ đông. Đối với cộng đồng người dùng công nghệ tại Việt Nam đang tìm kiếm giải pháp tối ưu hóa trải nghiệm sử dụng máy tính, AutoHotkey mang đến tiềm năng vô hạn để nâng cao hiệu suất và sự tiện lợi. Trong bài viết này, chúng ta sẽ cùng khám phá 10 script AutoHotkey V2 cực kỳ hữu ích mà tôi đã tích hợp vào quy trình làm việc hàng ngày, giúp tôi tiết kiệm thời gian và công sức đáng kể.
1. Menu Ứng Dụng Khởi Chạy Nhanh Cá Nhân
Các ứng dụng cơ bản như Notepad, Calculator hay Paint thường không xuất hiện trên màn hình desktop của tôi vì chúng không quá quan trọng. Tuy nhiên, đôi khi tôi vẫn cần tìm đến chúng để phục vụ các tác vụ nhanh gọn. Thay vì phải lục lọi trong Start Menu hoặc tìm kiếm các biểu tượng trên màn hình, tôi đã tạo một menu tùy chỉnh xuất hiện ngay lập tức chỉ với tổ hợp phím Windows Key + M bằng script dưới đây.
Menu ứng dụng nhanh tùy chỉnh với AutoHotkey hiển thị Notepad, Calculator và Sticky Notes
Script tôi sử dụng có sẵn các ứng dụng như Calculator, Sticky Notes, MS Paint và Notepad. Bạn hoàn toàn có thể dễ dàng sửa đổi script này để thêm vào các ứng dụng yêu thích của riêng mình. Ví dụ, nếu bạn muốn thêm Notion vào menu, chỉ cần sao chép một dòng hiện có, thay đổi tên thành “Notion”, tìm file .exe của ứng dụng Notion, sao chép đường dẫn đầy đủ của nó và dán vào bên trong dấu ngoặc đơn của hàm Run()
.
#Requires AutoHotkey v2.0
#m::{
MyMenu := Menu()
MyMenu.Add("Calculator", (*) => Run("calc.exe"))
MyMenu.Add("Sticky Notes", (*) => Run("explorer.exe shell:AppsFolderMicrosoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App"))
MyMenu.Add("Notepad", (*) => Run("notepad.exe"))
MyMenu.Add("Paint", (*) => Run("mspaint.exe"))
MyMenu.Show()
}
Tôi thực sự yêu thích menu tùy chỉnh này. Chỉ cần nhấn Windows + M, nhấp vào ứng dụng tôi muốn mở, và xong. Không còn phải cuộn qua danh sách chương trình dài dằng dặc hoặc cố gắng nhớ xem tôi đã ghim ứng dụng ít dùng kia ở đâu. Tôi sử dụng tính năng này nhiều lần mỗi ngày và nó giúp tôi tiết kiệm những khoảnh khắc nhỏ tích lũy lại thành lợi ích đáng kể.
2. Cuộn Ngang Nhất Quán Hơn
Việc giữ phím Shift + Cuộn Chuột để cuộn ngang không phải lúc nào cũng hoạt động nhất quán trên tất cả các ứng dụng mà tôi sử dụng. Đáng tiếc là tôi thường xuyên thực hiện hành động này, đặc biệt là khi xem các đoạn mã lập trình hoặc thiết kế trong CAD. Vì vậy, tôi đã tạo script riêng để đảm bảo cuộn ngang hoạt động trong mọi ứng dụng mà tôi cần.
Hãy tạo một script với đoạn mã sau để có phiên bản của riêng bạn:
#Requires AutoHotkey v2.0
#HotIf GetKeyState("Shift", "P")
WheelUp::Send("{WheelLeft}")
WheelDown::Send("{WheelRight}")
#HotIf
Bằng cách giữ Shift và cuộn bánh xe chuột, tôi có thể cuộn sang trái và phải thay vì lên hoặc xuống. Tính năng này hoạt động trong bất kỳ chương trình nào hỗ trợ cuộn ngang, từ bảng tính Excel, trình chỉnh sửa ảnh cho đến các trình duyệt web với nội dung rộng. Đây là một cải tiến nhỏ nhưng mang lại sự thuận tiện lớn cho những ai thường xuyên làm việc với các tài liệu hoặc giao diện rộng.
3. Truy Cập Tức Thì Mọi Thư Mục
Tôi thường xuyên tổ chức các file của mình bằng cách sử dụng nhiều thư mục và thư mục con. Tuy nhiên, đôi khi tôi tạo quá nhiều thư mục phụ đến nỗi việc truy cập một thư mục dự án cụ thể lại tốn của tôi vài cú nhấp chuột để mở. Sau đó, tôi nhận ra mình có thể dễ dàng tạo một script gán vào tổ hợp phím Ctrl + ALT + D để ngay lập tức mở một thư mục dự án đã được chỉ định.
Đây là script:
#Requires AutoHotkey v2.0
^!d::Run('explorer.exe "C:UsersjricmDownloads"')
Bạn có thể dễ dàng sửa đổi script này bằng cách thêm đường dẫn thư mục của bạn (trong dấu ngoặc kép) ngay sau 'explorer.exe'
. Tất nhiên, bạn cũng có thể thay đổi các gán phím bằng cách sử dụng các ký hiệu bổ trợ của AutoHotkey.
Điều tôi thích ở phương pháp này là khả năng tùy biến của nó trở nên rất cao khi bạn đã hiểu được quy luật. Tôi đã tạo ra nhiều biến thể để mở thư mục Desktop, thư mục Documents và thậm chí cả các thư mục dự án cụ thể mà tôi đang làm việc. Nó giúp tôi tiết kiệm đáng kể thời gian tìm kiếm và điều hướng, đặc biệt khi làm việc với các dự án phức tạp có cấu trúc thư mục sâu.
4. Mở Rộng Văn Bản Nhanh Chóng Cho Các Cụm Từ Hàng Ngày
Tôi rất thích ý tưởng sử dụng các mã Alt của Windows để dễ dàng và nhanh chóng chèn các ký tự đặc biệt. Tôi đã áp dụng cùng một cách tiếp cận đó với một script AHK cho phép tôi sử dụng các phím tắt cho các cụm từ thông dụng mà tôi thường xuyên sử dụng. Hãy tạo script này để tự mình trải nghiệm:
#Requires AutoHotkey v2.0
#SingleInstance Force
::gm::Good morning
::ty::Thank you
::brb::Be right back
Với ví dụ này, bất cứ khi nào tôi gõ “gm” theo sau là một khoảng trắng (hoặc Enter), nó sẽ ngay lập tức mở rộng thành “Good morning.” Điều tương tự cũng xảy ra với “ty”, mở rộng thành “Thank you”, và “brb” cho “Be right back.” Tính năng này hoạt động trong bất kỳ ứng dụng nào bạn có thể gõ văn bản và tôi thấy nó đặc biệt hữu ích khi tôi phản hồi tin nhắn trong suốt cả ngày.
Nếu bạn muốn tùy chỉnh, chỉ cần thêm các từ viết tắt và cụm từ của riêng bạn theo cùng định dạng. Đây là một bổ sung nhỏ nhưng mang lại sự trang trọng hơn cho giao tiếp hàng ngày của tôi và giúp các phản hồi của tôi nhất quán. Có nhiều cách khác để bạn có thể chèn các ký tự đặc biệt bằng phím tắt Windows, nhưng tôi thấy rằng AutoHotkey cung cấp khả năng tùy chỉnh tốt nhất.
5. Điều Khiển Âm Lượng Tùy Chỉnh Cho Bàn Phím
Các điều khiển âm lượng của Windows luôn gây khó chịu cho tôi. Bạn phải nhấp vào biểu tượng loa nhỏ xíu trong khay hệ thống hoặc tìm kiếm các nút âm lượng trên bàn phím, vốn rất khó tìm, đặc biệt nếu bạn làm việc trong bóng tối như tôi. Tôi muốn một cái gì đó nhanh hơn và trực quan hơn.
Điều khiển âm lượng Windows tiện lợi bằng phím tắt tùy chỉnh trên bàn phím
Vì các ngón tay của tôi luôn dính chặt vào các phím home row, nên việc gán điều khiển âm lượng với CTRL + Dấu phẩy hoặc CTRL + Dấu chấm để điều khiển âm lượng, và CTRL + M để bật/tắt tiếng là hợp lý. Đây là script tôi đã sử dụng:
#Requires AutoHotkey v2.0
#SingleInstance Force
^,::Send("{Volume_Down}") ; Ctrl + ,
^.::Send("{Volume_Up}") ; Ctrl + . (period)
^m::Send("{Volume_Mute}") ; Ctrl + M
Tôi đã chọn các tổ hợp này vì chúng không xung đột với các phím tắt phổ biến trong hầu hết các chương trình và chúng luôn nằm trong tầm với của ngón tay. Khi tôi đang trong một cuộc gọi video và âm thanh của ai đó quá lớn, tôi có thể nhanh chóng nhấn Ctrl + Dấu phẩy vài lần mà không làm gián đoạn quy trình làm việc hoặc lúng túng với chuột.
Trong khi có nhiều cách để thiết lập các điều khiển âm lượng tùy chỉnh trên bàn phím của bạn, tôi thích sử dụng AutoHotkey hơn. Nó mô phỏng các tín hiệu mà các phím âm lượng chuyên dụng gửi, đảm bảo khả năng tương thích với mọi thiết bị âm thanh và tất cả các cài đặt âm thanh Windows của bạn. Nó thậm chí còn hiển thị lớp phủ âm lượng giống như khi bạn nhấn các nút âm lượng vật lý. Nếu bạn thích các tổ hợp phím khác, bạn có thể dễ dàng sửa đổi script. Có lẽ Ctrl + Dấu cộng và Ctrl + Dấu trừ sẽ tự nhiên hơn với bạn, hoặc có thể bạn muốn sử dụng các phím chức năng.
6. Định Tâm Con Trỏ Chuột Ngay Lập Tức
Tính năng này nghe có vẻ đơn giản, nhưng nó lại cực kỳ hữu ích, đặc biệt nếu bạn làm việc với nhiều màn hình hoặc một thiết lập màn hình siêu rộng duy nhất. Phím nóng này sẽ định tâm con trỏ chuột của bạn khi bạn nhấn Ctrl + Alt + C. Tôi ban đầu tạo ra nó cho mục đích chơi game, nhưng tôi đã thấy mình sử dụng nó suốt cả ngày. Đây là script bạn cần tạo:
#Requires AutoHotkey v2.0
^!c:: {
WinGetPos(&x, &y, &w, &h, "A")
MouseMove(x + w/2, y + h/2)
}
Script này tìm điểm trung tâm chính xác của cửa sổ đang hoạt động và di chuyển chuột đến đó ngay lập tức. Nó hoạt động với bất kỳ chương trình và kích thước cửa sổ nào, ngay cả khi cửa sổ bị lệch khỏi màn hình một phần. Tôi sử dụng tính năng này thường xuyên nhất khi tôi chuyển đổi giữa các ứng dụng khác nhau và muốn nhanh chóng tập trung vào cửa sổ mới mà không cần phải suy nghĩ xem con chuột của mình đã dừng lại ở đâu.
Bạn có thể sửa đổi script này để định tâm con trỏ trên toàn bộ màn hình thay vì chỉ cửa sổ đang hoạt động, hoặc tạo các biến thể di chuyển con trỏ đến các vị trí cụ thể như góc trên bên trái hoặc góc dưới bên phải. Một số người thích có con trỏ của họ tự động di chuyển đến nút đóng trên Windows, điều này bạn có thể thực hiện với một sửa đổi nhỏ đối với vị trí.
7. Tự Động Sắp Xếp Thư Mục Tải Xuống (Downloads)
Thư mục Downloads của tôi trước đây là một mớ hỗn độn. Ảnh chụp màn hình lẫn lộn với file PDF, file nhạc nằm cạnh các trình cài đặt ngẫu nhiên, mọi thứ chỉ đơn giản là bị đổ vào một đống khổng lồ. Tôi đã cố gắng tự sắp xếp thủ công, nhưng ai có thời gian để sắp xếp file khi bạn đang bận làm việc?
Thư mục tải xuống lộn xộn với nhiều loại tập tin chưa được sắp xếp
- Sau khi sắp xếp
Script phím nóng này chạy ẩn và tự động sắp xếp các file tải xuống mới vào các thư mục có tổ chức dựa trên loại file. Tôi nhấn F12 để bật nó, và cứ sau năm giây, nó sẽ quét thư mục Downloads của bạn và di chuyển các file đến các thư mục con phù hợp. Các file PDF và tài liệu Word đi vào thư mục “Docs”, hình ảnh vào “Images”, file nhạc vào “Music”, v.v. Đây là cách tôi thiết lập nó:
#Requires AutoHotkey v2.0
downloads:="C:UsersjricmDownloads", interval:=5000
ext:=Map("pdf","Docs","docx","Docs","xlsx","Docs","txt","Text","jpg","Images","png","Images","mp3","Music","mp4","Videos","exe","Programs","zip","Archives")
F12:: {
static on:=false
on:=!on, SetTimer(MoveFiles, on?interval:0)
ToolTip("AutoSort: " (on?"ON":"OFF")), SetTimer(() => ToolTip(), -1500)
}
MoveFiles() {
Loop Files downloads "*.*", "F"
if ext.Has(e:=A_LoopFileExt) {
d:=downloads "" ext[e]
if !DirExist(d)
DirCreate(d)
try
FileMove(A_LoopFilePath, d "" A_LoopFileName, 1)
}
}
Script sẽ tự động tạo các thư mục này nếu chúng chưa tồn tại, vì vậy bạn không cần phải thiết lập bất cứ điều gì trước. Nó cũng đủ thông minh để xử lý xung đột file. Nếu bạn tải xuống hai file có cùng tên, nó sẽ không ghi đè lên file hiện có.
Nếu bạn cũng muốn sử dụng script tôi đã cung cấp, trước tiên bạn sẽ phải thay đổi đường dẫn thư mục bên cạnh biến “downloads”. Bạn cũng có thể thay đổi và thêm các phần mở rộng file khác bằng cách thêm loại phần mở rộng vào biến “ext”.
Có một chú thích nhỏ xuất hiện khi bạn bật hoặc tắt nó, nhưng ngoài ra nó chỉ âm thầm thực hiện công việc của mình ở chế độ nền. Khoảng thời gian năm giây có nghĩa là nó bắt kịp các bản tải xuống mới một cách nhanh chóng mà không liên tục quét và làm chậm máy tính của bạn.
8. Khởi Chạy Nhiều Ứng Dụng Cho Các Quy Trình Làm Việc Cụ Thể
Tôi rất thích sử dụng Virtual Desktops của Windows để tổ chức các tác vụ khác nhau. Thật tiếc là nó không cho phép bạn tự động mở các ứng dụng nhất định hoặc thay đổi ứng dụng theo từng màn hình ảo. Để khắc phục điều này, tôi đã sử dụng AutoHotkey để mở nhiều ứng dụng chỉ bằng một lần nhấn phím. Đây là script tôi sử dụng:
#Requires AutoHotkey v2.0
+1:: {
Run('"C:UsersjricmAppDataLocalProgramsMicrosoft VS CodeCode.exe"')
Run('"C:Program FilesJetBrainsDataGrip 2023.3.4bindatagrip64.exe"')
Run('"C:Program FilesDockerDockerDocker Desktop.exe"')
}
Bằng cách nhấn Shift + 1, script sẽ khởi chạy đồng thời các ứng dụng Visual Studio Code, DataGrip và Docker. Các ứng dụng này thường mất khá nhiều thời gian để tải (ngay cả khi không có script), vì vậy đây là cơ hội hoàn hảo để tôi đi pha cà phê hoặc sắp xếp không gian làm việc. Đến khi tôi sẵn sàng làm việc, cả ba chương trình đã mở và sẵn sàng. Điều này giúp tôi tiết kiệm được gánh nặng tinh thần khi phải nhớ những chương trình nào tôi cần cho các dự án nhất định, và thời gian nhấp chuột để khởi chạy từng cái một.
Tôi đã tạo ra nhiều biến thể của script này cho các loại công việc khác nhau. Shift + 2 khởi chạy thiết lập viết lách của tôi với Notion, Google và Asana. Shift + 3 mở thiết lập thiết kế 3D của tôi, bao gồm Fusion 360, Creality Print và YouTube Music. Việc có những phím tắt khởi chạy quy trình làm việc một chạm này loại bỏ sự cản trở khi bắt đầu các loại dự án khác nhau, giúp tôi duy trì dòng chảy công việc liền mạch.
9. Giữ Các Cửa Sổ Quan Trọng Luôn Hiển Thị
Có rất nhiều lúc tôi muốn một cửa sổ nào đó luôn hiển thị, chẳng hạn như khi tôi đang theo dõi một hướng dẫn, kiểm tra ghi chú hoặc trò chuyện với mọi người. Windows không cung cấp một cách dễ dàng để làm điều này. Vì vậy, tôi đã tạo một script cho mục đích cụ thể này.
#Requires AutoHotkey v2.0
ScrollLock:: {
try {
activeHwnd := WinGetID("A")
isTopMost := WinGetExStyle(activeHwnd) & 0x8 ; 0x8 = WS_EX_TOPMOST
WinSetAlwaysOnTop(!isTopMost, activeHwnd)
SetScrollLockState(isTopMost ? "Off" : "On")
ToolTip("Always On Top: " (isTopMost ? "OFF" : "ON"))
SetTimer(() => ToolTip(), -1000)
}
}
Với script trên, tôi chỉ cần nhấn phím Scroll Lock khi cửa sổ của tôi đang hoạt động, và nó sẽ luôn nằm trên mọi thứ khác. Script cung cấp cho tôi một chú thích nhanh và bật hoặc tắt đèn Scroll Lock trên bàn phím của tôi, vì vậy tôi luôn biết cửa sổ nào đang được ghim. Tôi sử dụng thủ thuật này mọi lúc khi tôi cần một cửa sổ tham chiếu tiện dụng mà không cần phải di chuyển mọi thứ xung quanh hoặc chuyển đổi qua lại. Scroll Lock là một lựa chọn tốt vì hầu hết mọi người không sử dụng nó cho bất cứ điều gì khác, nhưng bạn có thể thay đổi nó thành một phím khác nếu muốn.
10. Ngăn Máy Tính Của Bạn Ngủ Đông
Tôi đôi khi tải xuống và chuyển các file lớn trên máy tính của mình. Toàn bộ quá trình có thể mất vài phút đến vài giờ. Vấn đề của tôi là các bản tải xuống của tôi thường bị gián đoạn do PC của tôi chuyển sang chế độ ngủ sau vài phút. Điều này luôn khiến tôi bực mình vì việc thử lại hoặc tiếp tục tải xuống thường thất bại. Để giải quyết vấn đề, tôi đã tạo một script gán vào các phím Ctrl + Alt + Shift + S để bỏ qua hệ thống ngủ của máy tính một cách hiệu quả.
Hộp thoại AutoHotkey cho phép người dùng nhập thời gian để chống ngủ đông máy tính
#Requires AutoHotkey v2.0
#SingleInstance Force
global on := false, endTime := 0
^!+s::{
global on, endTime
if !on {
hrs := InputBox("Enter hours (0 = infinite):", "Anti-Sleep").Value
if !IsNumber(hrs) || hrs return MsgBox("Invalid input.")
endTime := hrs ? A_TickCount + hrs*3600000 : 0
SetTimer(AntiSleep, 300000), SetTimer(CheckEnd, 1000), on := true
ToolTip("Anti-Sleep: ON" (hrs ? "`n" hrs "h" : ""), 500, 500), SetTimer(() => ToolTip(), -1500)
} else {
; Required braces for multi-line else block
SetTimer(AntiSleep, 0), SetTimer(CheckEnd, 0), on := false
ToolTip("Anti-Sleep: OFF", 500, 500), SetTimer(() => ToolTip(), -1000)
}
}
AntiSleep() => (MouseMove(1,0,0,"R"), MouseMove(-1,0,0,"R"))
CheckEnd() => endTime && A_TickCount >= endTime && Send("^!+s")
^!+x::Send("^!+s")
Script hoạt động bằng cách di chuyển chuột một chút mỗi năm phút. Bằng cách này, PC của tôi không chuyển sang trạng thái nhàn rỗi và ngủ. Gần đây tôi cũng đã mở rộng script để bao gồm một bộ đếm thời gian để hủy kích hoạt script sau một thời gian nhất định. Script cũng hiển thị một chú thích nhỏ khi bạn kích hoạt hoặc hủy kích hoạt nó, vì vậy bạn luôn biết liệu nó có đang chạy hay không.
Kết Luận
AutoHotkey thoạt nhìn có vẻ đáng sợ, nhưng bạn không cần phải hiểu từng dòng code để tận dụng lợi ích từ nó. Quan trọng nhất, công cụ này mở ra một thế giới mới của khả năng tùy chỉnh và tự động hóa, biến các tác vụ lặp đi lặp lại thành những trải nghiệm mượt mà và liền mạch. Bằng cách tích hợp các script như đã trình bày ở trên, bạn không chỉ tiết kiệm thời gian mà còn giảm thiểu sự gián đoạn, cho phép bạn tập trung vào những công việc quan trọng hơn.
Nếu bạn muốn bắt đầu hành trình nâng cao năng suất của mình, hãy tải xuống AutoHotkey và thử một hoặc hai script giải quyết vấn đề thực tế mà bạn đang gặp phải. Một khi bạn đã quen với cách chúng hoạt động, hãy dần dần thêm nhiều script hơn khi bạn khám phá những cách mới để cải thiện quy trình làm việc của mình. AutoHotkey không chỉ là một công cụ; nó là một cánh cửa mở ra tiềm năng tối ưu hóa vô hạn cho chiếc máy tính Windows của bạn. Hãy chia sẻ ý kiến của bạn về những script này hoặc các ý tưởng AutoHotkey độc đáo mà bạn đang sử dụng!