Vim biên tập, làm thế nào tôi có thể lưu một tập tin trong thư mục khác


41

Tôi là người mới trong thế giới của trình soạn thảo Ubuntu và vim.
Câu hỏi của tôi là: làm thế nào tôi có thể lưu một tệp trên localhost của mình bằng vim?
Khi tôi sử dụng lệnh :wtôi lưu tệp, nhưng ở đâu? Và làm thế nào tôi có thể thay đổi vị trí tập tin thành /var/www/?


@ElderGeek, điều này hoạt động rất tốt, nếu bạn đưa ra câu trả lời tôi sẽ chấp nhận nó.
thạch vào

Câu trả lời:


49

Bạn có thể nhập :pwdđể hiển thị thư mục làm việc hiện tại. Đây là nơi tập tin của bạn sẽ được lưu nếu chỉ cần nhập :w filename. Bạn có thể thay đổi thư mục làm việc với :cd path/to/new/directory. Hoặc bạn có thể nhập đường dẫn đầy đủ đến vị trí bạn muốn lưu tệp bằng lệnh ghi, ví dụ : :w /var/www/filename.


18

Lệnh wvim hỗ trợ như tham số tên tệp, có thể chứa đường dẫn, vì vậy

:w /var/www/filename

nên hoạt động, miễn là bạn có quyền ghi vào thư mục đó.
Bạn cũng có thể sử dụng hoàn thành tab để xây dựng tên đường dẫn.

Lệnh trần :wchỉ hoạt động nếu bạn đã bắt đầu vimcung cấp cho nó một tên tệp.


1
Có, khi tôi sử dụng lệnh: w tôi đã đặt tên cho tệp ... Tôi đã cố lưu tệp vào thư mục localhost của mình bằng mẹo bạn đưa cho tôi và nó đã hoạt động! Cảm ơn bạn rất nhiều, nếu một ngày tôi có thể giúp bạn, tôi sẽ không ngần ngại!
berga007

11

Điều hướng đến thư mục bạn muốn lưu tệp mới vào, mở tệp bạn muốn chỉnh sửa và sau đó sử dụng

Esc:sav newfilenamehoặc Esc:w newfilenameĐiều đó sẽ làm việc cho bạn.

Để biết thêm về các mẹo với vim bạn có thể tìm thấy điều này cheatsheet hữu ích.

Chỉnh sửa theo yêu cầu.

:sav lưu tệp với tên mới và mở tệp mới trong Vim.

Lưu ý :: sav sẽ không đóng bộ đệm ban đầu, nó sẽ ẩn nó. Theo mặc định, bộ đệm ẩn được tải.

:w lưu tập tin với một tên mới nhưng vẫn mở bản gốc để chỉnh sửa.

Chỉnh sửa nguồn: https://stackoverflow.com/questions/4980168/how-to-save-as-a-new-file-and-keep-work-on-the-origen-one-in-vim


Có lẽ bạn nên giải thích thẳng trong câu trả lời về sự khác biệt giữa :sav:w, nó khá hữu ích để biết.
Matteo Italia

1
@MatteoItalia điểm tốt. Làm xong.
Anh Cả Geek

Hoàn hảo, nâng cao!
Matteo Italia

6

Tôi tin rằng bạn muốn thử một cái gì đó như thế này. (đừng quên dấu gạch chéo ở cuối.)

:w /var/www//%:t

Vâng, tôi đã thử một cái gì đó như thế và nó đã làm việc. Cảm ơn
berga007

1
@ berga007 xin vui lòng không đăng bình luận "cảm ơn", thay vào đó hãy chấp nhận câu trả lời .
guntbert

6

Bên trong Vim, bất kể tập tin hiện đang được lưu ở đâu, bạn có thể đưa đường dẫn đến vị trí mới mà bạn muốn lưu nó. Ví dụ: để lưu tệp trên Màn hình của bạn:

nhấn escđể chuyển sang chế độ bình thường, sau đó gõ

:w ~/Desktop/filename

Điều này hoạt động cho bất kỳ đường dẫn mà bạn có quyền viết trên thư mục. Nếu bạn muốn lưu ở một nơi mà bạn không có quyền viết, bạn có thể làm điều này:

:w !sudo tee /path/to/my/filename

3

Nếu bạn đã tạo một tệp mới bằng Vim, nhấn chuỗi phím Esc- :- w- q- Entersẽ lưu tệp vào vị trí hiện tại nơi bạn đã khởi chạy Vim. Ví dụ: nếu bạn ở / home / $ USER, tệp sẽ được tạo trong thư mục này. Cách dễ dàng là khởi chạy vim bằng cách sử dụng:

vim myFile.txt

Điều này sẽ tạo một tệp mới hoặc ghi đè lên một tệp có tên myFile.txtở vị trí hiện tại.


2

Trên launcher của bạn, biểu tượng thứ hai là hình ảnh của một tủ hồ sơ. Đây được gọi là Nautilus (Trình quản lý tệp của Ubuntu).

Chọn Nautilus và thư mục nhà của bạn sẽ mở. Bạn sẽ thấy tập tin của bạn ở đó.

Nhấp chuột phải vào tập tin của bạn và chọn 'sao chép'. Mở email của bạn, soạn một tin nhắn mới, bấm vào thân tin nhắn. Sau đó, nhấp chuột phải 'và lần này chọn' Dán '.

Các hướng dẫn này hoạt động cho Ubuntu 14.04 và 16.04 nhưng tôi không biết nếu 12.04 bao gồm Nautilus.


2
12.04 bao gồm Nautilus. Xem ở đây: packages.ubuntu.com/search?keywords=nautilus
wjandrea

3
-1 Câu trả lời này không liên quan gì đến Vim. Tôi nghĩ rằng bạn đã đăng một câu trả lời hợp pháp cho câu hỏi sai.
wjandrea

@wjandrea Vào thời điểm tôi viết bài này trên điện thoại, OP có một câu hỏi đa phần "hoặc có thể gửi email cho chính tôi". Câu trả lời này cho OP biết cách xử lý phần email của câu hỏi. Cảm ơn đã bình luận về lý do tại sao bạn bỏ phiếu. Không phải ai cũng mở rộng phép lịch sự đó.
WinEunuuchs2Unix
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.