2015-06-27 14 views
6

Tiêu đề về bao gồm nó: Tôi biết rằngLàm thế nào để lưu một tập tin với một cái tên mới trong VIM khi chuyển sang mà đệm mới (và đóng bản gốc)

w! newFileName 

sẽ viết thư cho newfilename trong khi tiếp tục chỉnh sửa tệp gốc.

Nhưng tôi muốn

  1. ghi vào newfilename
  2. mở rằng newfilename mới trong bộ đệm hiện
  3. (Do đó có nghĩa là: đóng file gốc mà không làm cho bản cập nhật cho nó)

Cảm ơn.

+0

Bạn có thể làm ': e newFileName' sau khi lưu vào tệp đó – Cratylus

+0

true .. có một lệnh không? – javadba

+0

có thể trùng lặp của [Đổi tên tệp hiện tại trong Vim] (http://stackoverflow.com/questions/1205286/renaming-the-current-file-in-vim) – glts

Trả lời

14

Lệnh sav sẽ thực hiện những gì bạn muốn.

+0

Có vẻ như vậy. cám ơn! – javadba

2

Một cách khác để hoàn thành việc này là :w newName và sau đó CTRL-^ (tương tự như CTRL-6) để chuyển sang tên mới.

Khi bạn :w đặt tên mới, tên này đặt làm tên tệp "thay thế" và CTRL-^ chuyển đổi thành chính. Xem :help alternate để biết thêm thông tin về điều này. Cũng hữu ích là :f newName mà chỉ cần đổi tên bộ đệm (lưu tên cũ như là thay thế) mà không lưu bất cứ điều gì.

Tôi thích điều này tốt hơn một chút so với lệnh :saveas vì lệnh này không giới thiệu một lệnh mới, chỉ một lối tắt mới, đôi khi cũng hữu ích trong các ngữ cảnh khác. Tôi luôn ngạc nhiên khi chuyển sang tên mới không phải là hành vi mặc định của :w newName bất cứ khi nào tôi gặp; thật khó cho tôi để nghĩ về một trường hợp sử dụng mà hành vi hiện tại sẽ thích hợp hơn.

+0

mẹo hay: sẽ dùng thử. – javadba

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