Làm thế nào để bạn hiển thị tên tệp của tệp bạn đang làm việc trong vim?
Làm thế nào để bạn hiển thị tên tệp của tệp bạn đang làm việc trong vim?
Câu trả lời:
:f
( :file
) sẽ làm tương tự như <C-G>
. :f!
sẽ đưa ra một phiên bản chưa được đánh dấu, nếu có.
:f!
không phải lúc nào cũng hoạt động, nhấn 1, sau đó Ctrl-G để có đường dẫn đầy đủ.
~/dev/file.py
và thực thi :f
trong vim, tôi nhận file.py
làm đầu ra thay vì ~/dev/file.py
.
ctrl-g
để trả về đường dẫn + tập tin. :f
sẽ trả về tên tệp mà không có đường dẫn ctrl-g
. Một 1
trước ctrl-g
sẽ hiển thị đường dẫn & tên (không nhất thiết phải mở rộng mặc dù). tức là nó sẽ hiển thị ~/dev/file.py
thay vì file.py
. 2
tiếp theo ctrl-g
sẽ bao gồm bộ đệm nào : buf 1: "~/dev/file.py"
.
ctrl+ gsẽ làm điều đó.
Ngoài ra, tôi muốn có:
set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
Sản xuất:
foo.c [C] [0x23] <code / foo.c 1, 1 2% của 50
Ngoài ra, như ai đó đã đề cập (nhưng hiện đã bị xóa) %
sẽ được thay thế bằng tên tệp hiện tại. Ví dụ:
:! echo "tệp hiện tại:%" tập tin hiện tại: foo.c Nhấn ENTER hoặc gõ lệnh để tiếp tục
[C]
và [0x23]
các bộ phận có nghĩa là gì?
'statusline'
là một chuỗi, nhưng bạn không bao gồm các trích dẫn trong tập hợp: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
cũng cần các khoảng trắng được thoát
đặt dòng trạng thái. thêm thông tin với:help statusline
Các lệnh này có thể đi vào tệp .vimrc của bạn hoặc bạn có thể nhập chúng dưới dạng các lệnh trong khi ở vim bằng cách nhập ':' trong chế độ lệnh.
Đầu tiên, đặt trạng thái cuối cùng thành 2 bằng cách sử dụng như sau:
set laststatus=2
Sau đó đặt dòng trạng thái thành% f cho tên tệp ngắn.
set statusline=%f
Đối với đường dẫn đầy đủ đến tệp, sử dụng% F.
Để hiển thị đường dẫn đầy đủ cho bất kỳ tệp nào, bao gồm các liên kết tượng trưng được giải quyết, hãy sử dụng như sau.
:echo resolve(expand('%:p'))
Điều này có thể được thêm vào thanh trạng thái của bạn bằng cách thêm dòng dưới đây vào ~./vimrc
set statusline +=%{resolve(expand('%:p'))}\ %*
Một trong những gợi ý trên phải được đổi thành
set statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
để làm cho nó hoạt động. Cũng thế
set laststatus=2
đã được dùng.
Tôi sử dụng tuyệt vời vimrc
từ amix: https://github.com/amix/vimrc
Nó sử dụng lightline.vim
phích cắm và hiển thị tên tệp trên thanh trạng thái.
Điều tuyệt vời khi sử dụng amix/vimrc
là plugin này đảm nhiệm hầu hết các tùy chỉnh, rất ổn định và đã được 1000 người thử nghiệm, vì bạn có thể kiểm tra bằng cách xem số lượng sao github .. và các vấn đề không thường xuyên.
Nó cũng được cập nhật khá thường xuyên.
PS: không phải là tác giả của một trong hai plugin .. chỉ là một người hâm mộ :)
Tôi cũng cần phải đặt cái này trong tệp .vimrc của mình:
set noruler
set laststatus=2
Sau đó, tôi có thể đặt một cái gì đó giống như set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
trong tệp .vimrc của mình và sau khi khởi động lại thiết bị đầu cuối của mình, dòng trạng thái hiển thị đúng.
'statusline'
là một chuỗi, nhưng bạn không bao gồm các trích dẫn trong tập hợp: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
cũng cần các khoảng trắng được thoát