2012-11-05 31 views
31

Tôi tìm thấy chính mình ở vị trí mà tôi muốn tạo tệp mới trong cùng thư mục với tệp đang mở. Làm cách nào để tạo tệp mới trong thư mục của tệp mở trong vim? Ngoài ra, có một nơi mà tôi có thể tự mình học những điều này không? Googling đã không giúp đỡ.Tạo tệp mới trong thư mục của tệp mở trong vim?

+0

Bạn đang nói về vim, trình soạn thảo văn bản trên Linux phải không? – ianaz

Trả lời

80

Từ trong Vim, các tệp mới được tạo như các tệp hiện có được chỉnh sửa, thông qua các lệnh như :edit filename hoặc :split filename. Để lưu chúng vào đĩa, bạn cần (tùy chọn nhập nội dung và) tồn tại chúng qua :write.

Giống như lời nhắc lệnh, Vim có khái niệm về thư mục hiện tại (:pwd liệt kê danh sách). Tất cả các đường dẫn tệp đều liên quan đến nó. Bạn không cần phải lặp lại đường dẫn đến tệp hiện tại của mình, có một số phím tắt đẹp cho chúng: % là tệp hiện tại, :h là công cụ sửa đổi cho thư mục của nó, trừ tên tệp (cp. :help filename-modifiers). Vì vậy,

:e %:h/filename 
:w 

sẽ tạo một tệp mới có tên filename trong cùng thư mục với tệp hiện đang mở và ghi nó.

Ngoài ra, một số người thích Vim luôn thay đổi thành thư mục của tệp hiện tại. Điều này có thể được định cấu hình bằng cách đặt

:set autochdir 

vào tệp ~/.vimrc (được đọc khi khởi động Vim). Sau đó, ở trên trở thành chỉ đơn giản là

:e filename 
:w 

Cuối cùng, Vim có sẵn tuyệt vời :help. Tìm hiểu cách điều hướng và tìm kiếm!

+1

+1, câu trả lời tuyệt vời. Ngày của tôi sử dụng 'cd' đã kết thúc! – RocketDonkey

+1

'autochdir' là flaky, thật không may, và tôi thấy tôi không thể phụ thuộc vào nó. Thay vào đó tôi đặt một autocmd trong vimrc của tôi: 'autocmd BufEnter * im lặng! lcd%: p: h: gs// \\/' –

+0

Dawg cũng muốn bình chọn câu trả lời của bạn nhưng Dawg không có đại diện cần thiết. Cảm ơn lời giải thích tốt bằng văn bản! – Dawg

3

Nếu bạn muốn tạo một tập tin mới và cũng hiển thị nó trong cửa sổ bên cạnh tập tin hiện tại của bạn, bạn có thể thử này:

:vsp newfile 

Các vsp đứng cho vertical split, và nó chia màn hình trong nửa , một tệp hiển thị tệp hiện tại của bạn, tệp còn lại hiển thị tệp mới của bạn (cũng chỉ hoạt động với sp, đây là một phân tách ngang).

Nhận xét của mỗi @ MartinLyne ở trên, điều này sẽ tạo tệp trong thư mục của tệp mà bạn đã mở vim. Để điều chỉnh cho điều này, bạn có thể thay đổi thư mục làm việc hiện tại như sau:

:cd %:p:h 

Lệnh này thay đổi thư mục làm việc hiện hành vào thư mục của tập tin tích cực, có nghĩa là chạy lệnh vsp (hoặc bất kỳ của các lệnh trên) sẽ tạo tệp trong thư mục đó.

2

bạn nên thử với plugin "nerdtree". Trong cửa sổ nerdtree, bạn đã nhập phím m và lựa chọn hoạt động tệp sẽ hiển thị cho bạn

Các vấn đề liên quan