#vi
#sao-chep
#dan
Cách nhân đôi một dòng văn bản bằng cách sao chép và dán.
Đặt con trỏ vào dòng bạn muốn nhân bản, ở chế độ bình thường, dùng lệnh để sao chép (yank) dòng đó, sau đó di chuyển xuống vị trí mới và dùng lệnh dán (put).
#vim
#navigation
#co-ban
Hướng dẫn cách di chuyển con trỏ trong Vim mà không cần dùng phím mũi tên.
Trong Vim, bạn nên sử dụng các phím sau để di chuyển
#triết-học
#tâm-thần
#ý thức
Phân tích ranh giới giữa cơ chế vật lý và trải nghiệm chủ quan.
Hãy thảo luận chi tiết về 'Vấn đề khó khăn của ý thức' (Hard Problem of Consciousness) được đưa ra bởi David Chalmers. Tại sao việc giải thích đầy đủ các chức năng nhận thức của não bộ (như xử lý thông tin) không giải thích được tại sao và như thế nào chúng ta có trải nghiệm chủ quan về những quá trình đó? Hãy so sánh quan điểm vật lý luận và nhị nguyên luận trong ngữ cảnh này.
#vi
#linux
#co-ban
#luu-file
Hướng dẫn cách lưu thay đổi và thoát khỏi trình soạn thảo vi.
Bạn đang ở chế độ dòng lệnh (command mode) của trình soạn thảo vi sau khi đã chỉnh sửa nội dung. Hãy liệt kê các lệnh cụ thể để thực hiện các tác vụ sau: 1. Lưu file và tiếp tục làm việc. 2. Lưu file và thoát khỏi chương trình. 3. Thoát khỏi chương trình mà không lưu các thay đổi. Giải thích ngắn gọn ý nghĩa của ký tự ! trong các lệnh này.
#vi
#dieu-huong
#ban-phim
Thực hành các phím tắt để di chuyển con trỏ mà không dùng chuột.
Trong trình soạn thảo vi, việc di chuyển nhanh bằng bàn phím là rất quan trọng. Hãy mô tả cách di chuyển con trỏ để thực hiện các yêu cầu sau: 1. Di chuyển xuống dưới 5 dòng. 2. Di chuyển sang phải 10 ký tự. 3. Nhảy đến đầu dòng hiện tại. 4. Nhảy đến cuối dòng hiện tại. 5. Nhảy đến dòng đầu tiên và dòng cuối cùng của tệp tin.
#vi
#xoa
#thay-the
#chinh-sua
Sử dụng các lệnh x, dd, r, và cw để sửa văn bản.
Bạn có một dòng văn bản: 'Toi la mot lap trinh vien'. Hãy cung cấp chuỗi các thao tác trong vi để: 1. Xóa ký tự đầu tiên của dòng. 2. Xóa từ 'mot'. 3. Thay thế từ 'lap trinh vien' bằng 'ky su phan mem' mà không cần xóa từng ký tự một. 4. Xóa toàn bộ dòng đó nếu cần thiết.
#macro
#q-register
#automation
#text-processing
Sử dụng thanh ghi q để ghi lại chuỗi thao tác chuẩn hóa dữ liệu và áp dụng lặp lại.
Bạn có một cột dữ liệu bị lỗi định dạng: các dòng chứa mã sản phẩm, sau đó là nhiều khoảng trắng và giá tiền. Hãy ghi một macro vào thanh ghi 'a' để xóa tất cả khoảng trắng thừa giữa mã và giá, chèn một dấu tab vào giữa, sau đó áp dụng macro này cho 100 dòng tiếp theo trong tệp mà không cần thao tác thủ công từng dòng.
#:g
#regex
#global-command
#pattern-matching
Kết hợp lệnh :g với biểu thức chính quy để xóa các dòng thỏa mãn điều kiện phức tạp.
Trong tệp log hiện tại, hãy tìm và xóa tất cả các dòng có chứa từ 'DEBUG' nhưng KHÔNG chứa từ 'ERROR'. Viết lệnh :g (global) phù hợp để thực hiện việc này chỉ trong một lần duy nhất, làm sạch tệp log chỉ giữ lại các thông báo quan trọng.
#visual-block
#column-edit
#ctrl-v
#bulk-edit
Sử dụng chế độ Visual Block (Ctrl-v) để chèn hoặc sửa đổi văn bản ở vị trí cột cụ thể trên nhiều dòng.
Bạn có một danh sách 20 đường dẫn file tuyệt đối cần được chuyển thành đường dẫn tương đối. Hãy sử dụng chế độ Visual Block để xóa phần tiền tố '/home/user/project/' ở đầu mỗi dòng một cách đồng thời, đảm bảo cấu trúc đường dẫn còn lại không bị sai lệch.
#vi
#vim
#macro
#automation
#csv
Ghi lại và thực thi Macro để sửa lỗi định dạng trong một tệp CSV lớn.
Bạn có một tệp CSV trong đó các trường bị thiếu dấu ngoặc kép hoặc phân cách bằng dấu chấm phẩy không đồng nhất. Nhiệm vụ của bạn là sử dụng lệnh 'q' để ghi lại một Macro thao tác trên dòng đầu tiên. Macro này cần chuẩn hóa lại dòng đó (thêm dấu ngoặc kép, sửa dấu phân cách). Sau khi ghi xong, hãy áp dụng Macro này cho toàn bộ tệp một cách nhanh nhất có thể để sửa tất cả các dòng lỗi. Hãy mô tả các bước thực hiện macro cụ thể bạn đã sử dụng.
#vi
#vim
#regex
#substitution
Sử dụng lệnh thay thế nâng cao với biểu thức chính quy để hoán đổi vị trí tham số.
Trong tệp mã nguồn hiện tại, có nhiều lời gọi hàm có dạng 'function_name(arg1, arg2)'. Nhiệm vụ của bạn là viết một lệnh thay thế (substitute command) trong vi sử dụng grouping (nhóm) để tự động hoán đổi vị trí của arg1 và arg2 thành 'function_name(arg2, arg1)' cho tất cả các lần xuất hiện trong tệp. Cung cấp chính xác cú pháp lệnh :s bạn đã sử dụng.
#vi
#vim
#registers
#copy-paste
Sử dụng các Register có tên và Register Black Hole để thao tác văn bản phức tạp.
Bạn cần di chuyển một đoạn văn bản cụ thể đến một vị trí khác trong tệp mà không làm mất nội dung hiện đang lưu trong clipboard mặc định. Đồng thời, bạn cần xóa một đoạn văn bản khác mà không muốn ghi đè lên bất kỳ register nào. Hãy giải thích cách bạn sử dụng register có tên (ví dụ: 'a') để copy và register black hole ('_') để xóa, sau đó dán nội dung từ register 'a' vào vị trí mong muốn.
#vi
#vim
#global-command
#ex-mode
Áp dụng lệnh :global để thực thi các lệnh Ex trên các dòng khớp mẫu.
Tệp code chứa nhiều dòng print/debug và các dòng trống scattered khắp nơi. Nhiệm vụ của bạn là sử dụng lệnh :g (global) để tìm tất cả các dòng chứa từ khóa 'debug' hoặc 'print' và xóa chúng. Sau đó, sử dụng tiếp một lệnh :g khác để tìm tất cả các dòng trống và xóa chúng. Hãy cung cấp chuỗi lệnh chính xác để thực hiện cả hai thao tác này.
#thơ
#mô tả
#ban đêm
#thành phố
Viết một bài thơ mô tả vẻ đẹp lung linh và sự tĩnh lặng của thành phố vào ban đêm.
Hãy viết một bài thơ tự do gồm 4 khổ, mô tả khung cảnh một thành phố lớn khi màn đêm buông xuống. Tập trung vào sự tương phản giữa ánh đèn đường rực rỡ và sự yên tĩnh của những con phố vắng. Sử dụng các hình ảnh ẩn dụ về ánh sáng và bóng tối để truyền tải cảm giác cô đơn nhưng cũng đầy hy vọng.
#vi
#linux
#navigation
Hướng dẫn cách di chuyển con trỏ trong vi bằng phím tắt.
Hãy mở trình soạn thảo vi. Sử dụng các phím h để di chuyển sang trái, l để di chuyển sang phải, j để đi xuống và k để đi lên. Thực hiện di chuyển con trỏ đến giữa màn hình và sau đó quay về đầu tệp bằng cách nhấn gg.