Làm cách nào để lưu tệp được chỉnh sửa bằng vim?


66

Tôi không thể lưu các thay đổi sau khi chỉnh sửa

sudo vi /etc/network/interfaces

Văn bản trước khi chỉnh sửa:

auto lo
iface lo inet ...

Đã chỉnh sửa thành:

auto eth0
iface eth0 inet dhcp

Tôi phải nhấn tổ hợp phím hoặc chuỗi nào để lưu cái này?


7
Nếu bạn không thoải mái với việc chỉnh sửa các tệp trong trình chỉnh sửa dựa trên thiết bị đầu cuối như vihoặc vim, tôi khuyên bạn nên sử dụng trình chỉnh sửa dựa trên đồ họa geditđể mở chúng. Thay thế sudo vibằng gksu gedit.
Aditya

5
Hoặc sử dụng sudo nanodòng lệnh của nó nhưng trực quan hơn vi.
Warren Hill

Câu trả lời:


125

Bạn có thể đang ở chế độ chỉnh sửa / chèn. Bạn cần gõ trình tự sau:

  1. Esc, để thoát chế độ chỉnh sửa và chuyển sang chế độ lệnh;
  2. :+ w+ q, bắt đầu bằng :dấu hai chấm, sau đó nhấn wvà cuối cùng qđể w rite và q uit (hoặc chỉ :wđể viết mà không bỏ)
  3. sau đó nhấn Enterđể hợp lệ.

18

Tôi thường nhấn ESCvà sau đó giữ Shiftvà nhấn zhai lần. Giống như bạn muốn nhập hai chữ Z viết hoa trong trình soạn thảo văn bản :) Điều đó sẽ lưu tài liệu của bạn và đóng trình soạn thảo của bạn.


4
Ôi trời, ca làm việc và nhân đôi z, logic thiết kế đằng sau mà tôi tự hỏi, "mệnh lệnh ít trực quan nhất mà chúng ta có thể tạo ra là gì?", Ubuntu đôi khi làm tôi bực mình như điên
S ..

4
@Sam, tôi chỉ muốn nitpick rằng vi không có gì đặc biệt để làm với Ubuntu. Ubuntu được phát hành lần đầu tiên vào năm 2004, trong khi vi được Bill Joy tạo ra vào khoảng năm 1976, lấy cảm hứng từ ed (có từ năm 1971). Điều này có nghĩa là các phím tắt trong vi có trước hầu hết các tiện ích vẫn được sử dụng phổ biến khác hiện nay. Trong một sự trùng hợp ngẫu nhiên, phiên bản đầu tiên của emacs, có các phím tắt kỳ lạ hoàn toàn khác nhau, cũng được phát hành vào năm 1976. Những nỗ lực tiêu chuẩn hóa đã xuất hiện nhiều sau đó.
yoniLavi

Wow cảm ơn vì thông tin @yoniLavi, điểm của tôi vẫn như vậy, vì vậy, hy vọng những nỗ lực tiêu chuẩn hóa tiếp tục phát triển .. :)
S ..

@Sam, vi keybindings thực sự chuẩn hơn rất nhiều so với bạn nghĩ; chúng hầu như có mặt khắp nơi. Thực tế, bất kỳ chương trình nào cũng có thể được thực hiện để mô phỏng các keybindings vi. Ngay cả các tổ hợp phím mặc định của Gmail rõ ràng là (đối với người dùng Vim) dựa trên các tổ hợp phím vi.
tự đại diện

Điều gì về khóa esc không hoạt động? Chế độ chèn, chỉ dừng lại.
người tạo

3

Kiểm tra xem bạn có đặc quyền quản trị (root) để chỉnh sửa tệp không. sử dụng lệnh này

whoami

Nếu kết quả không phải là "root", thì bạn không cần phải chỉnh sửa tệp.

Để đăng nhập như người dùng root, sử dụng lệnh dưới đây

sudo su

hoặc là

su

Chỉnh sửa tập tin,

vi /etc/network/interfeces

Sau khi thay đổi, lưu tệp bằng

  1. Nhấn Escđể thay đổi chế độ
  2. :x lưu và thoát tập tin

Đó là tất cả


0

Câu hỏi này đã được trả lời từ lâu, nhưng trong trường hợp nó xuất hiện trở lại trong công cụ tìm kiếm, liên kết này là một chiếc áo vim đẹp mà bạn có thể muốn đánh dấu nếu bạn sử dụng vim rất nhiều.

Nhân tiện, bạn có thể sử dụng :wqđể lưu và thoát tệp (trước tiên bạn nên nhấn phím esc để thoát chế độ chèn hoặc thay thế, sau đó nhấn lệnh) và sử dụng :q!để thoát mà không lưu.

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.