2010-09-30 38 views
7

Tôi đang sử dụng cscope để làm quen với tất cả các từ khóa được sử dụng trong lập trình socket. Tôi đã đi đến thư mục với các tập tin c. Tôi đã sử dụng cscope. và sau đó tôi đã tìm AF_INET. Tôi nhận được điều này:Cách sử dụng cscope?

#define AF_FILE   PF_FILE 
#define AF_INET   PF_INET 
#define AF_AX25   PF_AX25 

Đây là trang đầy đủ. Tôi chỉ xuất bản một phần của nó. Bây giờ tôi muốn biết từ nơi PF_INET này đang đến? những gì lệnh tôi nên sử dụng. Tôi đã thấy một chàng trai nhấp đúp chuột vào PF_INEt và sử dụng một số lệnh để tìm nó. Tôi không biết lệnh này là gì? Vui lòng giúp tôi trong việc này.

Điều thứ hai là khi tôi thoát trang bằng lệnh: q. Tôi đến trang này:

Global definition: AF_INET 

    File  Line 
0 socket.h 119 #define AF_INET PF_INET 










Find this C symbol: 
Find this global definition: 
Find functions called by this function: 
Find functions calling this function: 
Find this text string: 
Change this text string: 
Find this egrep pattern: 
Find this file: 
Find files #including this file: 

tại đây con trỏ nhấp nháy ở 0. Nếu tôi muốn tìm kiếm lại thứ gì đó, tôi sẽ làm gì? Cách điều hướng từ đây. Tôi đã cố gắng để google nó nhưng không thể hiểu bất cứ điều gì từ tutoials. Xin hãy giúp tôi trong vấn đề này khi tôi hoàn thành noob để hệ điều hành Linux và lập trình c. Cảm ơn trước.

+0

Chỉ cần một mẹo nhanh chóng và hữu ích: Cscope sử dụng vi làm trình chỉnh sửa mặc định. Điều đó có nghĩa là không có màu sắc, không tô sáng cú pháp ... Để thay đổi điều đó và sử dụng VIM thay vào đó: xuất CSCOPE_EDITOR = vim – pbn

Trả lời

10

Tôi đồng ý rằng tài liệu cscope không rõ ràng.

Sử dụng tab để di chuyển đến phần tương tác. Nhập tên biểu tượng của bạn vào "tìm biểu tượng C này" hoặc "Tìm mẫu này" và xác thực nhấn RETURN.

Nếu bạn muốn gọi nó từ vim, hãy nhập :help if_cscop.txt; hy vọng nó sẽ giúp!

:cscope add your_cscope_database 
:cscope find s [your_symbol] 

Thao tác này sẽ tạo danh sách nhanh mới. sử dụng :cn:cp để điều hướng, :cnf:cpf để điều hướng từ tệp đến tệp trong kết quả và :colder:cnewer để khôi phục danh sách nhanh trước đó.

+0

Cảm ơn bạn thân. Tôi đã nhận được câu trả lời cho câu hỏi thứ hai của mình. nhưng bạn có thể cho tôi biết làm thế nào để trực tiếp tìm kiếm từ đó như tôi đã đề cập trong câu hỏi của tôi, nhấp đúp vào từ đó và đưa ra một lệnh để tìm từ đó. Lệnh đó là gì? – narayanpatra

+0

trong Vim? Không nhấp đúp. Đặt con trỏ của bạn trên từ đó và nhập: cscope find s . Bạn có thể remap nó với: noremap : cscope find s (điều này sẽ ánh xạ F3 vào nó). – Benoit

11

Để thoát khỏi lời nhắc tương tác cscope, nhập Ctrl-d. Nếu bạn chỉ muốn xây dựng lại cơ sở dữ liệu của cscope, và không gọi lời nhắc tương tác của cscope, hãy chuyển nó sang tùy chọn -b. Tôi thường gọi cscope là cscope -bcqR.

Để nhảy xung quanh trong vim bằng cscope, nó thực sự phụ thuộc vào cấu hình vim của bạn.

Có thể, chuyển đến thẻ (Ctrl-]) sẽ sử dụng cscope trước, sau đó ctags (xem :help cst:help csto). Sử dụng Ctrl-T để quay lại.

Có một số ánh xạ hữu ích cho cscope mà bạn có thể tìm thấy bằng cách nhập :help cscope-suggestions trong vim. Sau khi thêm những ánh xạ Vimrc của bạn, bạn sẽ có thể nhảy đến những biểu tượng sử dụng Ctrl-_ s, chức năng gọi điện thoại sử dụng Ctrl-_ c, vv ...

Bạn có thể truy cập vào tài liệu cscope vim bằng cách gõ :help cscope.

0

Tôi chỉ chủ yếu sử dụng những điều sau đây. Đây là những điều rất cơ bản để hiểu cscope.

  1. "cscope -R" Sau đó, bạn có tùy chọn.
  2. Nhấn mũi tên xuống. Sau đó, bạn sẽ chuyển sang tùy chọn bắt buộc của mình.Nhập bất cứ điều gì bạn muốn theo tùy chọn tương ứng.
  3. Từ kết quả tìm kiếm. Sử dụng các mũi tên (Lên và xuống) rồi nhấn "enter key" để xem tập tin chi tiết.
  4. ": q" để thoát khỏi tệp.
  5. Bấm "phím Tab" để đi đến các tùy chọn cscope.
  6. "ctrl + d" để thoát khỏi cscope.