Chia sẻ cấu hình Sublime Text

Sublime Text là trình soạn thảo văn bản tôi dùng thay thế Notepad già nua của Windows. Tuy có giao diện đơn giản nhưng Sublime Text lại ẩn chứa những tính năng cao cấp. Trong bài này, tôi chia sẻ cấu hình cài đặt và một vài package mà tôi không thể sống thiếu khi dùng Sublime Text.

Các package hữu ích

Sau khi cài Sublime Text, nó vẫn chưa có tính năng quản lý package. Để cài thêm, ta vào trang Package Control để copy đoạn code cài đặt. Sau đó, ta quay lại Sublime Text, vào menu View > Show Console để dán đoạn code trên vào. Từ giờ, để cài package mới, ta gõ Ctrl + Shift + P, rồi gõ tiếp từ khóa install. Lúc này, Sublime Text hiển thị tùy chọn Package Control:Install Package. Ta chọn mục này để hiển thị danh sách package có trong kho. Để cài một package, ta gõ vài kí tự đầu của tên nó để lọc danh sách. Sublime Text sẽ hiển thị các package có tên gần giống nhất với từ khóa đã nhập. Nếu thấy package cần cài trong danh sách, ta chọn nó rồi nhấn Enter.

Thay áo mới với Boxy

Giao diện mặc định của Sublime Text tuy không đến nỗi tệ nhưng do dùng nó lâu ngày nên tôi đâm ra chán. Dạo quanh kho package của Sublime Text, tôi phát hiện ra một theme mới nổi tên là Boxy. Tôi tò mò cài thử và cảm thấy rất hài lòng. Kiểu dáng của Boxy đơn giản mà hiện đại, lại hợp tông với phong cách của Windows 10, nên tôi quyết định dùng theme này cho Sublime Text.

Sau khi cài xong, ta phải kích hoạt theme mới. Trước tiên, ta vào trang Wiki của Boxy để copy thông số cấu hình. Lướt qua danh sách kiểu dáng của Boxy, tôi cảm thấy bị kích thích bởi cái phong cách mang tên Ocean nên quyết định dùng nó. Tôi vào trong Preferences > Settings - Users, rồi dán đoạn code sau:

{
    "theme": "Boxy Ocean.sublime-theme",
    "color_scheme": "Packages/Boxy Theme/schemes/Boxy Ocean.tmTheme"
}

Cuối cùng, tôi save file cấu hình này lại. Ngay lập tức, khung cửa sổ của Sublime Text thay đổi sang theme mới. Ngoài ra, Boxy còn cung cấp thêm rất nhiều tùy chọn cấu hình khác. Bạn có thể tham khảo thêm tại trang gallery. Dưới đây là các cấu hình bổ sung tôi dùng cho theme Boxy:

{
    "color_scheme": "Packages/Boxy Theme/schemes/Boxy Ocean.tmTheme",
    "theme": "Boxy Ocean.sublime-theme",
    "theme_accent_purple": true,
    "theme_bar": true,
    "theme_find_panel_close_hidden": true,
    "theme_size_md": true,
    "theme_tab_line_size_lg": true,
    "theme_tab_selected_transparent": true,
    "theme_tab_selected_underlined": true
}

Gợi ý code với SublimeCodeIntel

Mặc định, Sublime Text sẽ gợi ý khi ta viết code. Tuy nhiên, tính năng này khá sơ sài vì nó chỉ gợi ý cho code HTML, CSS và JavaScript. Với các loại code khác, nó chỉ hiển thị các từ đã xuất hiện trong file. Để bổ sung tính năng gợi ý cho ngôn ngữ khác, tôi cài thêm package SublimeCodeIntel. Sau khi cài xong, tôi chẳng cần cấu hình gì cả. Từ giờ, khi viết code, khung gợi ý sẽ hiện ra.

Viết HTML nhanh với Emmet

Emmet khá nổi tiếng trong cộng đồng Sublime Text. Viết code HTML rất tốn thời gian vì các thẻ HTML hay lặp đi lặp lại. Với lập trình viên, làm công việc mang tính máy móc như thế là một cực hình. Do vậy, sự xuất hiện của Emmet như là vị cứu tinh cho cái sự lười biếng của tôi. Vì bài viết có hạn nên tôi không hướng dẫn cách dùng tại đây. Bạn có thể tham khảo cách sử dụng tại trang documentation. Ngoài ra, nó còn có một trang tra cứu nhanh (cheat sheet) để tham khảo khi cần.

Viết lách bằng Markdown với MarkdownEditing

Từ hồi tôi biết đến cái thứ gọi là Markdown, hầu như tôi chẳng thèm mở Word lên nữa. Giờ đây, hễ đụng tới viết lách, tôi lại dùng Markdown. Nó nhanh, gọn, và đỡ tốn thời gian định dạng này nọ. Sau khi viết xong, tôi chạy một dòng lệnh đơn giản trong Command Prompt để gọi Pandoc dịch sang HTML, hoặc nếu muốn, tôi cũng có thể gõ thêm dòng lệnh thứ hai để gọi wkhtmltopdf chuyển sang PDF. Phương pháp này rất tiện lợi vì nó giải phóng tôi khỏi thao tác định dạng nhàm chán. Nhờ vậy, tôi có thể tập trung vào viết lách nhiều hơn. Các kiểu dáng (style) đã được lưu trong file CSS. Khi biên dịch sang HTML, nó sẽ được chèn vào HTML. Thế là văn bản của tôi được định kiểu trong chớp mắt.

MarkdownEditing đẩy trải nghiệm Markdown trong Sublime Text lên tầm cao mới. Trong lúc tôi gõ các kí tự đánh dấu của Markdown, nó hiển thị kiểu định dạng lúc chuyển sang HTML. Khi mở một file có đuôi là .md hoặc .markdown, Sublime Text tự động chuyển giao diện cho phù hợp với công việc viết lách.

Nếu dùng Sublime Text để viết lách, ta có thể bổ sung tính năng đếm từ bằng package WordCount. Sau khi cài đặt, nó sẽ hiển thị ở góc dưới bên trái màn hình số từ và số trang hiện có trong văn bản.

Nâng cấp sidebar với SideBarEnhancements

Sidebar là nơi ta thao tác với thư mục và file của dự án. Khi click phải vào một file, menu ngữ cảnh hiện ra cung cấp những tùy chọn cơ bản. Đối với người dùng chuyên nghiệp, nhiêu đó là quá ít. Để bổ sung các tính năng “khủng” cho sidebar, tôi cài thêm package SideBarEnhancements. Package này chèn thêm một loạt những tính năng hữu ích vào menu ngữ cảnh.

Tạo file và thư mục mới trong chớp mắt với AdvancedNewFile

Để tạo file mới, ta phải làm một loạt các thao tác rườm rà: tạo một tab mới bằng tổ hợp phím Ctrl + N, sau đó nhấn Ctrl + S để hiển thị hộp thoại lưu file. Tiếp theo, ta phải chọn thư mục rồi gõ tên file. Với người có máu lười như tôi, đây quả là cơn ác mộng. Do vậy, tôi phải cài thêm package AdvancedNewFile. Từ giờ, để tạo file mới, tôi bấm Ctrl + Alt + N, rồi gõ đường dẫn gồm cả tên thư mục và tên file, sau đó nhấn Enter. Nếu trong đường dẫn có thư mục không tồn tại, AdvancedNewFile sẽ tạo giúp tôi. Vậy là chỉ cần một thao tác duy nhất, tôi có thể tạo cả thư mục lẫn file mới.

Các cấu hình tiện dụng

Sublime Text tuy có nhiều tùy chọn, nhưng chúng không được trưng bày như những ứng dụng khác. Vì theo trường phát tối giản, các thông số cấu hình được đơn giản hóa bằng một file text. Để mở file này, ta vào Preferences > Settings. Dưới đây là cấu hình tôi dùng cho Sublime Text trên cả desktop và laptop.

{
    "bold_folder_labels": true,
    "default_encoding": "UTF-8",
    "default_line_ending": "unix",
    "font_size": 11,
    "highlight_line": true,
    "highlight_modified_tabs": true,
    "translate_tabs_to_spaces": true,
    "trim_trailing_white_space_on_save": true,
    "line_padding_bottom": 2,
    "line_padding_top": 2,
    "show_encoding": true,
    "show_line_endings": true,
    "always_show_minimap_viewport": true,
    "detect_indentation": true,
    "font_options":
    [
        "subpixel_antialias"
    ],
    "tab_size": 4,
    "auto_complete": true,
    "auto_complete_commit_on_tab": true,
    "auto_complete_with_fields": true
}

Để cho tiện, tôi copy file này vào Dropbox để khi cần chỉnh thì tôi chỉ sửa một lần. Mọi thay đổi sẽ được đồng bộ qua các máy còn lại.