Làm thế nào để bạn thay đổi tất cả các dòng trong python?

Sau khi viết mã một thời gian, bạn có thể thấy rằng có một số thứ lặp đi lặp lại chiếm thời gian không cần thiết. Ví dụ: tìm kiếm và cập nhật tên biến có vẻ tốn nhiều công sức. May mắn thay, Replit có một số công cụ năng suất tích hợp sẵn mà chúng ta sẽ xem xét trong hướng dẫn này

Cụ thể, bạn sẽ thấy cách

  • Thực hiện các thay đổi đồng thời trong một số phần của tệp của bạn bằng nhiều con trỏ
  • Sử dụng phím tắt để nhanh chóng thực hiện các tác vụ mà không bị chậm trễ khi với tới con chuột của bạn
  • Chuyển sang tổ hợp phím Vim hoặc Emacs để kiểm soát hoàn toàn mà không cần chuột

Tương tự như học cách gõ phím, thường có một đường cong học tập dốc khi bạn bắt đầu sử dụng các tính năng chỉnh sửa mã nâng cao. Chúng thậm chí có thể làm bạn chậm lại đáng kể lúc đầu, nhưng một khi bạn thành thạo chúng, bạn sẽ vượt qua giới hạn của những gì bạn có thể đạt được mà không cần những hỗ trợ này

Ghi chú. Tài liệu này trình bày các phím tắt Windows. Nếu bạn đang sử dụng máy Mac, hãy sử dụng phím cmd thay vì phím ctrl và phím option thay vì phím alt

Sử dụng bảng lệnh toàn cầu​

Nếu bạn nhấn Ctrl+. [hoặc Cmd+K trên MacOS], bạn sẽ thấy cửa sổ bật lên theo phương thức sau, cho phép bạn điều hướng qua các phần khác nhau của Replit với tốc độ cực nhanh chỉ bằng bàn phím của mình

Sử dụng bảng lệnh chỉnh sửa mã​

Bảng lệnh mã tương tự như bảng lệnh chung, nhưng nó dành riêng cho việc chỉnh sửa và điều hướng mã của bạn, cho phép bạn thực hiện các quy trình tìm+thay thế nâng cao, chuyển đến các chức năng cụ thể, v.v.

Để truy cập bảng lệnh mã, nhấn F1 hoặc Ctrl+Shift+P. Lưu ý rằng nếu bạn đang sử dụng Firefox, tùy chọn thứ hai sẽ mở một cửa sổ ẩn danh thay vào đó

Phím tắt được chỉ định ở bên phải của mỗi tùy chọn cho biết cách kích hoạt tùy chọn đó trực tiếp mà không cần mở bảng lệnh chung, nhưng sau khi mở, bạn có thể nhập một phần của bất kỳ tùy chọn nào để kích hoạt tùy chọn đó

Nếu bạn có nhiều tệp, việc mở chúng như thế này thường hữu ích hơn là cuộn qua cấu trúc thư mục trong ngăn tệp [tùy chọn Files tìm kiếm các tệp theo tên của chúng trong khi tùy chọn cmd0 tìm kiếm các tệp theo nội dung của chúng. ] Ví dụ: trong ứng dụng dự án thời tiết của chúng tôi, tôi có thể nhập cmd1 rồi nhập cmd2 [bắt đầu từ Files] và nhấn cmd4 rồi nhập cmd5 [bắt đầu từ cmd6] và nhấn lại cmd4 để mở nhanh nhật ký thời tiết cho Luân Đôn

Tất nhiên, chỉ với sáu tệp, việc tiếp cận chuột của bạn có thể nhanh hơn, nhưng khi tìm kiếm tìm kiếm qua tất cả các tệp trong tất cả các thư mục, phương pháp này có thể nhanh hơn đáng kể cho các dự án lớn hơn

Mở bảng nhiều người chơi, kiểm soát phiên bản và cài đặt bằng phương pháp này cũng nhanh hơn một khi thói quen đã ăn sâu so với việc di chuyển chuột đến các biểu tượng nhỏ trên thanh bên trái. Và trong khi nhấn cmd8 hoặc cmd9 để chạy mã của bạn nhanh hơn việc chọn "Chạy" từ bảng lệnh chung này, thì Ctrl+. chỉ là một phím tắt duy nhất cần nhớ và nó sẽ nhắc bạn về bất kỳ phím tắt nào khác mà bạn không thể nhớ

Bạn có thể sử dụng các phím tắt trực tiếp từ bảng lệnh bằng cách chọn mã bạn muốn chỉnh sửa và nhấp vào lệnh trong menu thả xuống hoặc sử dụng nó để làm mới bộ nhớ của bạn trên các tổ hợp phím được liên kết với các phím tắt bạn thường sử dụng

Hãy xem cách chúng hoạt động bằng cách chỉnh sửa dự án tung hứng PyGame mà chúng tôi đã trình bày trong hướng dẫn trước

Thay vì thực hiện các hoạt động được đề xuất như bạn thường làm, hãy sử dụng các tính năng năng suất của Replit để thay thế

Sao chép toàn bộ dòng

Đôi khi bạn cần hai dòng mã rất giống nhau ngay sau nhau. Thay vì sao chép và dán dòng hoặc nhập lại dòng, bạn có thể sử dụng tính năng hàng trùng lặp, tính năng này sẽ sao chép dòng hiện tại ở trên hoặc dưới

Ví dụ: dự án tung hứng của chúng tôi bao gồm đoạn mã sau để khởi tạo ba quả bóng ban đầu

ball1 = Ball[]
ball2 = Ball[]
ball3 = Ball[]

Thay vì gõ cả ba dòng, bạn có thể gõ dòng đầu tiên, để nguyên vị trí con trỏ trên dòng đó và nhấn ctrl1 hai lần. Điều này sẽ tạo ra hai bản sao của dòng, ngay bên dưới bản gốc, và sau đó bạn có thể chỉ cần thay đổi số trong biến để giải thích cho hai quả bóng thứ hai

Xóa toàn bộ dòng

Có thể có những trường hợp bạn muốn xóa một đoạn mã lớn cùng một lúc [điều đó xảy ra với chúng ta. ]

Nhấn ctrl2 sẽ xóa dòng bên dưới con trỏ của bạn [hoặc nếu bạn chọn nhiều dòng, thao tác này sẽ xóa tất cả các dòng đó. ]

Thay vì xóa toàn bộ dòng, bạn cũng có thể xóa từ con trỏ đến cuối dòng hoặc từ con trỏ đến đầu dòng. Các phím tắt cho những điều này là

  • ctrl3 để xóa ngược
  • ctrl4 [ctrl5 trên MacOS] để xóa chuyển tiếp

Ví dụ: bên dưới, bạn có thể thấy cách chúng tôi có thể sử dụng điều này để xóa một trong các khối ctrl6 của chúng tôi trước tiên bằng cách thực hiện hai thao tác "xóa dòng". Sau đó, chúng tôi thay đổi tốc độ ngẫu nhiên của mình thành hằng số bằng cách sử dụng thao tác "xóa đến cuối dòng" từ ký hiệu ctrl7 và sau đó nhập hằng số của chúng tôi

Chèn dòng trống​

Việc cần thêm một dòng mã mới bên trên hoặc bên dưới dòng mã hiện tại cũng là điều bình thường. Thay vì sử dụng chuột hoặc các phím mũi tên để đến đúng vị trí rồi nhấn cmd4, thay vào đó, bạn có thể sử dụng thao tác "chèn dòng"

Dòng thụt lề và dedenting

Khi viết Python, có lẽ bạn sẽ chú ý đến khoảng trắng [dấu cách hoặc tab] nhiều hơn so với các ngôn ngữ khác, vốn sử dụng dấu ngoặc nhọn để xử lý logic. Có thể bạn đã quen với việc thụt lề và thụt lề bằng cách sử dụng ctrl9 và option0, điều này yêu cầu bạn đặt con trỏ trước tiên ở đầu dòng

Thay vào đó, bạn có thể sử dụng option1 để thụt lề và sử dụng option2 để thụt lề dòng cho dù con trỏ của bạn ở đâu. Ví dụ: nếu bạn cần sửa lỗi thụt đầu dòng trong đoạn mã sau, bạn có thể

  • đặt con trỏ của bạn trên dòng option3
  • nhấn option1
  • nhấn option5
  • nhấn option6
  • nhấn lại option1 hai lần

Bây giờ thụt lề mã của bạn sẽ được sửa

Di chuyển các khối mã trong một tệp

Đôi khi bạn cần di chuyển một khối mã lên hoặc xuống trong tệp. Ví dụ: chức năng option8 của chúng tôi sử dụng chức năng option9 của chúng tôi, nhưng option9 chỉ được xác định sau. Để dễ đọc, bạn nên thử đảm bảo rằng các hàm của bạn chỉ gọi các hàm đã được định nghĩa sâu hơn [giả sử rằng người khác đang đọc mã từ trên xuống, họ sẽ nhớ định nghĩa của hàm option9 trước khi thấy nó được sử dụng]

Thay vì cắt và dán một khối, bạn có thể chuyển hướng khối đó bằng cách nhấn alt2 hoặc alt3. Như với những cái khác, cái này hoạt động trên dòng bên dưới con trỏ của bạn hoặc vùng chọn lớn hơn

Thêm con trỏ

Đôi khi, thật hữu ích khi thực hiện các thay đổi giống hệt nhau ở nhiều nơi cùng một lúc. Ví dụ: chúng tôi có thể muốn đổi tên thuộc tính alt4 của mình thành alt5. Đặt con trỏ vào bất cứ đâu trên từ mà bạn muốn thay đổi và nhấn alt6. Nhấn liên tục alt6 để chọn từng từ phù hợp, mỗi từ có con trỏ riêng. Bây giờ bạn có thể áp dụng các chỉnh sửa và chúng sẽ xuất hiện ở mỗi vùng chọn, như bên dưới

Nếu bạn muốn nhiều con trỏ trên các dòng liên tiếp, hãy nhấn alt8 và dùng chuột chọn vùng để thêm con trỏ mới. Ví dụ: nếu chúng ta muốn một trò chơi hình vuông, chúng ta có thể thay đổi đồng thời cả chiều rộng và chiều cao thành alt9 như sau

Điều hướng đến các đoạn mã cụ thể​

Đôi khi, đặc biệt là trong các dự án lớn hơn, bạn sẽ gọi một hàm hoặc khởi tạo một đối tượng ở xa nơi hàm hoặc đối tượng đó được xác định [cách xa hàng nghìn dòng trong cùng một tệp hoặc trong một tệp khác hoàn toàn]

Nếu bạn đang đọc một đoạn mã gọi một hàm và bạn muốn nhanh chóng xem chức năng đó thực sự làm gì, bạn có thể sử dụng liên kết phím đi tới định nghĩa Ctrl+.0. Thao tác này sẽ chuyển đến định nghĩa của hàm hoặc lớp đã chọn. Định nghĩa peek có chức năng tương tự, nhưng thay vì chuyển đến định nghĩa, nó sẽ mở theo một phương thức riêng. Ví dụ, bên dưới, con trỏ đang khởi tạo của Ctrl+.1 và chúng ta có thể nhanh chóng thấy lớp này được định nghĩa như thế nào

Thao tác chuyển đến dòng [Ctrl+.2] cho phép bạn điều hướng đến một dòng bằng cách nhập số dòng của nó. Điều này rất hữu ích để theo dõi nguồn gốc của những thông báo lỗi cho bạn biết dòng nào gặp sự cố hoặc nếu bạn đang thực hiện cuộc gọi với ai đó nói rằng "Tôi đang xem dòng 23" và bạn có thể nhanh chóng chuyển đến cùng

Cuối cùng, bạn có thể mở một tệp cụ thể bằng cách tìm kiếm một phần của tên bằng cách nhấn Ctrl+.3, thao tác này có thể nhanh hơn việc cuộn qua ngăn tệp nếu bạn có nhiều tệp

Các ràng buộc chính của Vim và Emacs​

Khi bạn đã quen với các phím tắt, bạn có thể tự hỏi liệu mình có cần sử dụng lại chuột không. Hầu hết thời gian nó chỉ làm bạn chậm lại. May mắn thay, mọi người đã nghĩ ra điều này từ nhiều thập kỷ trước. Trước khi có chuột, tất cả chỉnh sửa văn bản chỉ được thực hiện bằng bàn phím và nhiều nhà phát triển vẫn thích các trình chỉnh sửa được tạo trong cài đặt này hơn các trình chỉnh sửa hiện đại hơn

Hai trình soạn thảo văn bản tập trung vào bàn phím chính được gọi là Vim và Emacs. Cả hai đều có đường cong học tập dốc [và có một truyền thống lâu đời là người dùng của một trong hai sẽ tranh luận gay gắt về việc cái nào vượt trội hơn], nhưng một khi bạn đã dành thời gian để thành thạo chúng, bạn có thể loại bỏ con chuột của mình mãi mãi.

Nếu bạn đã quen với một trong hai cách này, bạn có thể mô phỏng trải nghiệm trong Replit bằng cách chuyển đổi các tổ hợp phím của mình. Chuyển đến tab "Cài đặt" và cuộn xuống nơi bạn có thể chuyển đổi giữa "mặc định", "emacs" và "vim"

Biến nó thành của riêng bạn

Nếu bạn muốn tiếp tục hack dự án PyGame bằng kỹ năng bàn phím mới của mình, bạn có thể tiếp tục từ nơi chúng tôi đã dừng lại bên dưới

Tiếp theo ở đâu?

Bạn đã xem hết bộ sưu tập hướng dẫn này để dạy cho bạn kiến ​​thức cơ bản về Replit và bạn sẽ có thể xây dựng bất kỳ dự án nào mà bạn có thể tưởng tượng ngay bây giờ

Nếu bạn bế tắc về ý tưởng, hãy tiếp tục đến Phần 3, nơi chúng tôi sẽ hướng dẫn bạn qua tám dự án thực tế, tập trung nhiều hơn vào các khái niệm mã hóa hơn là các tính năng của Replit

Chủ Đề