Ý nghĩa của 'g' là gì?


10

Lưu ý: câu hỏi này có hai loại câu trả lời trên StackOverflow nhưng tôi nghĩ có lẽ câu trả lời tốt hơn sẽ đến từ đây, và nếu không, ít nhất nó sẽ được ghi lại ở nơi cần có:


Ý nghĩa ngữ nghĩa của chữ cái gtrong các lệnh chế độ bình thường là gì? Tôi đã sử dụng các heck ra khỏi gg, G<n>G, nhưng đến ngày hôm nay, tôi chưa bao giờ nghĩ để tìm ra những ngữ nghĩa của gđang trong lớn hơn Zen của Vi .

Hôm nay tôi phải viết thường một loạt các hằng số trong mã của mình và tôi nghĩ rằng phải có một cách tốt hơn so với từng ký tự (vì <n>~không hoạt động, vì bất kỳ lý do kỳ lạ nào mà tôi không biết). Tôi tìm thấy nó trong g~, đặc biệt g~iw.

Điều này khiến tôi tìm thấy các câu trả lời được liên kết, nhưng chúng có ít hơn những lời giải thích thỏa mãn và nằm trên StackOverflow chứ không phải vi.SE để khởi động.

Vì thế,

Ý nghĩa ngữ nghĩa của vi là ggì?

Theo ý nghĩa ngữ nghĩa vi, tôi mong mọi người hiểu, ciwcó nghĩa là thay đổi từ, vì vậy ccó nghĩa là thay đổi i, có nghĩa là mục văn bản bên trong và wcó nghĩa là từ được phân định bằng dấu cách hoặc dấu chấm trừ _.

PS, làm thế nào để tôi gắn thẻ này?

Câu trả lời:


12

glà một chút của một chìa khóa kỳ lạ trong vim. Rất nhiều khóa khác có một từ cụ thể để mô tả danh mục của chúng:

  • h, j, k, l, }, {, w, e, Vv là tất cả chuyển động . Họ bảo con trỏ của bạn di chuyển.

  • d, c, y, Vv là tất cả các nhà khai thác . Họ thay đổi văn bản họ vận hành theo một cách cụ thể và bạn cho họ biết văn bản nào sẽ hoạt động bằng cách đưa ra một chuyển động .

gkhông có tên như thế này Nếu tôi phải đưa ra một cái tên, tôi sẽ gọi nó là một không gian tên . Bram Moolenaar và Bill Joy Tôi chắc chắn có nhiều thao tác hữu ích (chẳng hạn như bắt đầu / kết thúc tệp hoặc đi đến [line]) có ý nghĩa để tạo một lối tắt cho vim mặc định, nhưng chúng sẽ không được sử dụng thường đủ để biện minh cho họ một phím tắt một phím, vì những phím này được dành riêng cho những thứ hữu ích hơn / thường được sử dụng như hjkl, dp, và chỉ có 95 phím để chọn. hàng tấn phím tắt mà tất cả bắt đầu bằng g. Họ có đặc điểm gì chung? Hoàn toàn không có gì. Chúng chỉ là những thứ hữu ích để có một phím tắt một phím cho.

Vì vậy, thực sự, gglà một chuyển động giống như tất cả các chuyển động khác mà tôi đã liệt kê, nó chỉ xảy ra để sử dụng một chuỗi hai phím. g~là một toán tử giống như tất cả các toán tử khác mà tôi đã liệt kê, nó chỉ sử dụng một chuỗi hai khóa.

Có một số "không gian tên" khác như các khóa trong vim. Ví dụ, tìm kiếm sự giúp đỡ

  • :h z (Các lệnh bắt đầu bằng 'z')
  • :h [ (Các lệnh bắt đầu bằng '[')

2
Vì vậy, ggiống như một nhà lãnh đạo hệ thống, trái ngược với một nhà lãnh đạo người dùng. Chỉ cần ghi nhớ các combo. Cảm ơn bạn.
malan

7
g và z và thực sự thích không gian tên cho nhân vật tiếp theo. Đó là bởi vì chúng tôi đã dần cạn kiệt các phím trên bàn phím, vì vậy các lệnh hữu ích, đã được thêm vào các phím đó
Christian Brabandt

1
@ChristianBrabandt Vâng, không gian tên là một từ tuyệt vời cho điều đó.
James

1
IMHO câu trả lời này không nên dùng từ lãnh đạo kể từ khi một chìa khóa lãnh đạo tồn tại trong vim và không nên nhầm lẫn với g, z, [, ], và <C-w>. Tôi sẽ sử dụng namespace keytheo đề nghị.
Hotschke

1
Quan trọng hơn, gzhai phím không được sử dụng trong chế độ bình thường bởi vi . Dựa vào số lượng khóa có sẵn, sử dụng chúng làm tiền tố cho các lệnh dành riêng cho Vim thực sự là cách duy nhất để thêm rất nhiều lệnh chế độ thông thường mới mà không cần dùng đến từ.
jamessan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.