Làm thế nào để bạn tìm thấy nơi một biến được gán cuối cùng?


11

Tôi đang cố gắng thiết lập g:netrw_list_hidevà nó dường như không hoạt động. Không có vấn đề gì tôi đặt nó trong tôi .vimrcnó luôn có giá trị ,^\.\.\=/\=$. Chỉ khi tôi lấy vimrclại tệp của mình , thì nó mới giữ đúng giá trị.

Làm thế nào để tôi gỡ lỗi này? Tôi đoán có một số plugin đang thiết lập biến đó? Có thể sau khi tôi vimrcđược tải, vì vậy tôi muốn xem nó được đặt ở đâu.


2
:vim netrw_list_hide **/*
romainl

3
hiện tại không thực sự có thể ngoài việc kiểm tra nguồn bằng tay. Tôi đã tạo ra PR này sẽ cho phép điều này.
Christian Brabandt

Không có lệnh verbose giúp trong trường hợp này?
SibiCoder

Câu trả lời:


11

Bạn có thể chụp nhật ký đầy đủ của một phiên Vim với vim -V20vimlog. Sau khi thoát Vim, kiểm tra (tìm kiếm grep) vimlogtệp nhật ký cho :let g:netrw_list_hide.


14

Nếu bạn đang tìm kiếm điểm cuối cùng nơi tùy chọn được đặt (thay vì biến), bạn có thể sử dụng :verboselệnh:

:4verbose set is?
  incsearch
        Last set from ~/.vim/vimrc

Nhưng hiện tại không có lệnh tương đương cho các biến.

Bạn có thể kiểm tra mã, hoặc sử dụng tìm kiếm trong nguồn, có thể sử dụng :vimgrep, :vim netrw_list_hide **/*(như đã đề cập trong các ý kiến).

Một cách khác là sử dụng 'verbose'tùy chọn để lặp lại mọi thứ được thực thi sau khi bạn đặt biến. Vì nó sẽ là một đầu ra lớn lặp lại trong màn hình, bạn sẽ cần lưu nó (vào một thanh ghi chẳng hạn):

" in your .vimrc, after you set the variable
redir @b
set verbose=15

Sau khi quá trình khởi tạo kết thúc, khôi phục verbose về giá trị mặc định và dừng chuyển hướng:

:set vbs&
:redir end

Bạn có thể cần phải nhấn Ctrl-C một số lần, tùy thuộc vào autocmds / plugin bạn đang sử dụng.

Sau đó, bạn có thể dán nội dung của thanh ghi bằng cách sử dụng "bpvà phân tích " nhật ký khởi tạo ".

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.