Tôi biết CTRLghiển thị tệp hiện tại bạn đang làm việc. Có cách nào để sửa đổi của tôi .vimrc
để tên tệp / đường dẫn luôn được hiển thị không?
Câu trả lời:
Trong dòng trạng thái của bạn, hãy thêm một %F
để hiển thị đường dẫn đầy đủ:
:help statusline
" Add full file path to your existing statusline
set statusline+=%F
Lưu ý, %F
sẽ là đường dẫn đầy đủ. Để lấy một đường dẫn liên quan đến thư mục làm việc, hãy sử dụng%f
.
Nếu dòng trạng thái của bạn chưa hiển thị, trước tiên bạn có thể cần phải định cấu hình dòng trạng thái đó để luôn hiển thị, thông qua laststatus=2
set laststatus=2
Xem :help laststatus
các tùy chọn có ý nghĩa gì. Thông thường, dòng trạng thái có thể bị ẩn hoặc bị ẩn trừ khi có nhiều bộ đệm được mở, nhưng tôi thấy nó cực kỳ hữu ích khi luôn có các tùy chỉnh như thế này, rất đáng để bỏ một khoản dự trữ dòng màn hình cho nó.
:set statusline=%F
mà không cần+
:set statusline=%F
? Nhìn cách trên bên phải hoặc bên trái để xem nếu tên tập tin được ẩn đằng kia trong statusline
set laststatus=2
để dòng trạng thái luôn hiển thị. Tôi quên rằng tôi đã có điều đó trên.
đặt ls = 2
thêm cái này vào vimrc, và bạn sẽ luôn thấy tên tệp ở dưới cùng.
set modeline
hơi nguy hiểm và không liên quan gì đến câu hỏi. Nó cho phép thực hiện các lệnh Vim trong 5 dòng đầu / cuối của tệp. Nó chỉ nên được bật bởi những người biết tại sao và thực sự muốn điều này. (Đó là lý do tại sao tôi -1 câu trả lời này)
Tôi đã tìm thấy 2 cách để hiển thị đường dẫn tệp trong thanh Tiêu đề của gnome-terminal trong khi chỉnh sửa tệp bằng Vim.
Cách đơn giản hơn (và tốt hơn): Thêm dòng sau vào ~/.vimrc
:
set title
Cái nào sẽ hiển thị cho bạn ở trên cùng:
filename.ext (~/path_to_directory_where_your_file_is/) - VIM
Cách phức tạp hơn sẽ hiển thị cho bạn đường dẫn tệp tuyệt đối. Nó được ghi lại một cách chi tiết hơn trong bài đăng blog này mà tôi đã viết gần đây.
Cách duy nhất tôi tìm thấy để có được đường dẫn đầy đủ của tập tin Tôi đang làm việc tại là: :echo expand('%:p')
. Bạn có thể ánh xạ lại ctrl + g nếu muốn, nhưng cá nhân tôi không thích thay đổi quá nhiều tiêu chuẩn. Tôi đã lập bản đồ F7 như vậy:
map <F7> <Esc>:echo expand('%:p')<Return>
:help CTRL-G
và tìm hai đoạn văn CTRL-G
có đếm.
1 CTRL-G
hiển thị tên tệp đầy đủ. Tôi đã tìm kiếm tùy chọn này.
~
.
Nếu bạn đang sử dụng vim-airline , hãy nhập .vimrc
:
let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'
Đây là một sửa đổi của mặc định của hãng hàng không, thay đổi %f
bởi %F
.
Tôi nghĩ rằng dòng trạng thái rất mạnh mẽ và tiện dụng. Strait ra khỏi hộp, nó sẽ hiển thị tên tệp, vị trí con trỏ và một số cờ. Nhưng bạn muốn làm như tôi và thay thế tên tệp -part bằng đường dẫn đầy đủ đến tệp.
Vì vậy, trong khi chỉnh sửa dòng trạng thái của .vimrc
tôi có thể trông giống như mặc định:
.vimrc 26,16 7%
Bạn có thể xem cài đặt của dòng trạng thái với:
:set statusline?
Nhưng nếu bạn chưa thực hiện bất kỳ thay đổi nào và không có mô-đun nào thay đổi thì nó sẽ trống. Nhưng bằng các ví dụ trong phần trợ giúp ( :help statusline
), bạn có thể thấy rằng mặc định là:
:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
Vì vậy, hãy bao gồm điều này trong của bạn .vimrc
và thay đổi %f
thành %F
. Tôi cũng đã thêm cờ loại tệp ( %y
) vào dòng trạng thái của mình vì tôi thấy nó thuận tiện. Vì vậy, cấu hình kết quả của tôi trông như thế này:
:set statusline=%<%F\ %h%m%r%y%=%-14.(%l,%c%V%)\ %P
Và kết quả sẽ giống như sau:
~/.vimrc [vim] 26,16 7%
Đọc tốt:
Tái bút. Tôi chạy vim 7.3
Nếu bạn muốn đường dẫn bao gồm các liên kết tượng trưng đã phân giải, hãy sử dụng như sau:
set statusline +=%{resolve(expand('%:p'))}\ %*
Để giữ chữ viết tắt '~' cho thư mục chính của bạn, hãy bao gồm fnamemodify
set statusline +=%{fnamemodify(resolve(expand('%:p')),':~')}\ %*
set statusline+=%F
của tôi~/.vimrc
dường như không làm những gì bạn nói. Mặc dù các tài liệu chắc chắn có vẻ đồng ý với bạn ...