Tôi có thể sử dụng trình chỉnh sửa nào để thay thế vi / vim đơn giản?


17

Tôi là người dùng Windows đến với Bash của Ubuntu nhờ vào WSL . Bây giờ tôi cần chỉnh sửa một số tập tin và tôi thực sự ghét Vi. Tôi chỉ phải đối phó với nó, hoặc có một sự thay thế đơn giản hơn?

Các tính năng tôi đang tìm kiếm là:

  • Dựa trên CLI
  • dễ sử dụng (gõ và chỉnh sửa phải tương tự Notepad)
  • khả năng chỉnh sửa đơn giản là đủ

Tôi sẽ cố gắng thành thạo Vim, nhưng tôi cần chỉnh sửa nhanh ngay bây giờ!


Đó là một vấn đề của ý kiến. Người mới bắt đầu sử dụng nano howtogeek.com/howto/42980/ . vim (vi cải thiện) có một chút về đường cong học tập nhưng nó rất mạnh mẽ - Xem linux.com/learn/vim-101-beginners-guide-vim hoặc bất kỳ hướng dẫn vim hoặc hướng dẫn vim, vimtutor (có trong vim)
Panther

Xin lưu ý rằng câu hỏi này có thể được đóng lại dưới dạng khá dựa trên quan điểm. Bạn có thể muốn điều chỉnh lại nó để phù hợp với các quy tắc của trang web (ví dụ: tôi có thể sử dụng cái gì thay thế cho vim?)
Andrea Lazzarotto

3
Bỏ phiếu để đóng này là câu hỏi dựa trên ý kiến. Lời khuyên: bắt đầu với nano, và sau đó chuyển sang vim với các bước bé. Về cơ bản, nó sẽ được đền đáp vì vim có trên bất kỳ hệ thống Linux nào
Sergiy Kolodyazhnyy

1
Theo nhận xét của tôi, tiêu đề hiện tại vẫn còn gây tranh cãi và có thể dẫn đến việc đóng cửa. Mọi người có thể coi vim là "tốt", và điều này là chủ quan. Tôi có thể đề nghị sử dụng từ "dễ dàng hơn" không? Cũng chỉ định một số tính năng mong muốn có thể giúp thu hẹp câu hỏi.
Andrea Lazzarotto

2
@Jos chúng ta đang nói về WSL nơi chạy các chương trình GUI có thể được thực hiện nhưng không tầm thường. Ngoài ra, câu hỏi sẽ không tồn tại đối với các biên tập viên GUI vì tất cả đều dễ hơn vim.
Andrea Lazzarotto

Câu trả lời:


24

Nếu bạn đang tìm kiếm một biên tập viên thay thế, bạn không đơn độc. Về cơ bản cuộc sống quá ngắn để học vivà tôi nói đây là một nhà phát triển phần mềm để kiếm sống. Tuy nhiên, bạn nên học cách thoát nó vì đó là một vấn đề đối với một trong số 20k lập trình viên . Ngoài ra thực hiện một số thao tác bổ sung / chèn cơ bản có thể đáng để học, bởi vì trên một số máy chủ cứng đầu, bạn sẽ không tìm thấy bất kỳ trình soạn thảo nào khác.

Bây giờ, câu trả lời cho câu hỏi của bạn có lẽ nano.

Nếu bạn đang chạy một số tập lệnh xây dựng tự động, sử dụng githoặc chạy các lệnh khác, chúng có thể mở vimmà bạn không muốn. Bạn có thể ngăn chặn điều này bằng cách chạy như sau trước khi tiếp tục:

export EDITOR=nano

1
cảm ơn! thêm điểm cho tiền EDITORboa
sebagomez

3
"Về cơ bản cuộc sống quá ngắn để học vi". Không cần phải dành cả cuộc đời, mặc dù người ta có thể nếu họ yêu vim. Tôi đã dành 2 giờ để xem một hướng dẫn tốt trên YouTube và chỉ tiếp tục thực hành những điều cơ bản mà tôi đã học được từ video. Bây giờ 70% tất cả các câu trả lời của tôi trên Ask Ubuntu được viết bằng vim.
Sergiy Kolodyazhnyy

7
Về "cuộc sống quá ngắn", tôi nghĩ bài tiểu luận này có một điểm tốt. Một trong những rào cản (nhân tạo) lớn nhất trong việc học Vim là tiền đề sai lầm mà bạn cần ngay lập tức lao vào để trở thành người dùng "lõi cứng". Bạn không. Dùng các phím mũi tên. Sử dụng các phím tắt GUI để sao chép / dán. Hang out trong chế độ chèn. Bỏ qua các tab và thanh ghi và chuông và còi (bây giờ). Việc truy cập chức năng cấp nano trong Vim tương đối nhanh và bạn có thể từ từ thêm các tính năng nâng cao sau này khi bạn cần chúng.
RM

@RM GUI tắt?
Andrea Lazzarotto

1
@Sergiy vim có ý nghĩa nếu bạn muốn sử dụng các tính năng nâng cao. Nếu tôi sử dụng vim như tôi sử dụng nano, tôi sẽ tiếp tục sử dụng nano (thực tế, tôi làm ... Tôi sử dụng vim khi tôi ở trên máy chủ mà tôi không thể thêm phần mềm, như máy của khách hàng).
Andrea Lazzarotto

11

Đó là một vấn đề của ý kiến.

Người mới bắt đầu sử dụng nano .

vim ("vi cải thiện") có một chút đường cong học tập nhưng nó rất mạnh mẽ. Xem hướng dẫn cho người mới bắt đầu này để biết vim hoặc bất kỳ hướng dẫn vim nào khác hoặc hướng dẫn vim vimtutor(có trong vim).

Bây giờ tôi rất đề nghị nano

nano -B /path/to/file/to/edit

-B tạo bản sao lưu

Các lệnh được ban hành với phím điều khiển và được liệt kê ở dưới cùng của cửa sổ soạn thảo.

Có một hướng dẫn về tô sáng cú pháp xem: Làm cách nào để bật tính năng tô sáng cú pháp trong nano?

nano

emacslà một thay thế cho cả hai vimnanocũng có nhiều lợi ích. emacsphức tạp hơn nano. Bạn có thể xem tour của emac .

Chỉ để hoàn thiện, các chủ đề vim + như Zenburn có thể khá hữu ích

Zenburn


2
Không chỉ người mới bắt đầu, về cơ bản tất cả con người không muốn tham gia vào cuộc chiến vim vs emacs. : P
Andrea Lazzarotto

1
+1 Tôi cũng sẽ sử dụng nano, ngay cả trong thời gian dài, người dùng vi trông giống như một số crap cũ
xavier_fakerat

Chà, công bằng mà nói, bạn có thể tạo chủ đề cho vim và .vimrc đi một chặng đường dài. vim và emacs có các tính năng nâng cao không có sẵn trong nano, nhưng thật lãng phí nếu bạn không sử dụng các tính năng nâng cao. Để chỉnh sửa cơ bản nhanh chóng, tôi sử dụng nano mặc dù tổng thể tôi là một fanboi vim. kippura.org/zenburnpage
Panther

1
Tìm hiểu vi/vim. :) Nó có trên mọi thiết bị nix. :) Cơ bản không khó lắm.
chạy trốn

3
"emacs phức tạp hơn nano." : p đây có thể là sự đánh giá thấp trong năm.
Daniel Jour

3

Là một người cung cấp năng lượng cho windows, sau khi thử vimnanotôi phát hiện ra rằng tôi cần một cái gì đó ở giữa, sự phức tạp khôn ngoan. Vì vậy, tôi đã thử tát và đó là điều mà tôi đang tìm kiếm.

hình ảnh tát

slap là một trình soạn thảo văn bản dựa trên thiết bị đầu cuối giống như Sublime, cố gắng để chỉnh sửa từ thiết bị đầu cuối dễ dàng hơn.


cài đặt:

curl -sL https://raw.githubusercontent.com/slap-editor/slap/master/install.sh | sh

1
Bạn đã quên đề cập đến điểm bán hàng chính, hỗ trợ chuột hạng nhất (thậm chí qua kết nối SSH)
blueray

2

Bạn đã bao giờ thất vọng vì trình soạn thảo văn bản của bạn không làm những gì bạn muốn? Tức giận vì bạn không thể nhớ ...

  • ... Làm thế nào để tìm sự giúp đỡ?
  • ... những gì: wq có nghĩa là gì?
  • ... có ai trong số những người nói dối mà bạn đọc là sinh viên chưa?

Một thế giới nhỏ bé, dũng cảm đang chờ đợi!

Trong khi chúng tôi ủng hộ các trình soạn thảo văn bản nhẹ yêu thích của mình, hãy để tôi giới thiệu eX Wonderful, nhỏ và nhanh xo(exofrills) .

Đó là một tệp Python 3 duy nhất và nó có hỗ trợ tốt cho việc tô sáng cú pháp thông qua Pygments (mặc dù không hoàn hảo với non-Python):

nhập mô tả hình ảnh ở đây

Nó cũng có các tổ hợp phím cực kỳ đơn giản và hữu ích, có thể dễ dàng và dễ dàng thay đổi theo nội dung trái tim của bạn:

nhập mô tả hình ảnh ở đây

Các tính năng khác:

  • Ít hơn 850 dòng mã trong một tệp!
  • Cú pháp làm nổi bật!
  • Kết hợp biểu thức chính quy và thay thế!
  • Tìm kiếm bộ nhớ cache lịch sử!
  • WTFPL được cấp phép!
  • Hoàn toàn tùy biến!
  • Bắt đầu tại các địa điểm không có nguồn gốc!
  • Nhảy giữa các từ trên một dòng!
  • Nhảy đến bất cứ nơi nào trong tập tin!
  • Toàn bộ tập tin chèn!
  • Người mới bắt đầu thân thiện - có thể bạn chưa quen với từ này!
  • Sao chép và dán văn bản!
  • Trạng thái dòng và cột!
  • Chỉ có một hàng không gian chỉnh sửa phi văn bản!
  • Cả tiết kiệm và tải!

Nguồn Python3 có trên github và bạn có thể cài đặt nó dễ dàng hơn bằng cách sử dụng:

sudo apt install python3-pip
sudo pip3 install exofrills 

exofrills: văn bản của bạn đã được chỉnh sửa ... nhưng bạn vẫn đói.

Tuyên bố miễn trừ trách nhiệm: Tôi không có cách nào liên kết với dự án exofrills.


1
Cái này trông rất gọn gàng, +1 từ tôi. Mặc dù số lượng dấu chấm than đó là đáng lo ngại. : P
Andrea Lazzarotto

0

Mặc dù tôi không thể phủ nhận rằng tôi đã quá vật lộn với vi ngay từ đầu, tôi nghĩ rằng một lập luận có thể được đưa ra rằng vi thực sự rất đơn giản để học. . chỉ sử dụng một tập hợp con rất nhỏ của các tính năng của nó.

Đây là một đối số để sử dụng vi: vi tồn tại trên tất cả các hệ thống, sử dụng rất ít tài nguyên và có thể sử dụng được trên các kết nối không ổn định và chậm, trong đó các trình soạn thảo khác có thể bị lỗi hoặc chậm và không sử dụng được. Hoặc trong trường hợp hệ thống bị hỏng, do đó, các phím mũi tên không được hiểu chính xác (ví dụ như cài đặt terminfo xấu.) Vì vậy, vi có thể được sử dụng để sửa các tệp cấu hình dẫn đến sự cố mà không bị ảnh hưởng bởi sự cố.

Và đây là cách học một tập hợp con hữu ích của vi: Thứ nhất: ngừng nghĩ về vi như một trình soạn thảo "GUI" tương tác, và xem nó như một ngôn ngữ lập trình để thao tác các tệp văn bản. Lúc đầu, "vi" là viết tắt của chế độ VIsual và vi có một đối tác không chính thức, đây là một nơi tốt để bắt đầu. Nhập ex tại dấu nhắc shell (Tôi sẽ sử dụng để thể hiện return):

$ ex¬
Entering Ex mode.  Type "visual" to go to Normal mode.
:

Bây giờ nhấn enter.

:¬
E749: empty buffer
:

Vì vậy, hãy đặt một cái gì đó trong đó. Nhập "a¬" và nhập một dòng văn bản, sau đó một khoảng thời gian trên một dòng:

:a¬
Hello World¬
.¬
:

Đó là lệnh chắp thêm. Dễ dàng, ngắn và ghi nhớ. Nhưng thật tuyệt khi thấy những gì trong bộ đệm:

:%p¬
Hello World
:

Đó là lệnh in, p, rõ ràng. % Là một tốc ký phạm vi dòng. Mỗi lệnh có thể được đi trước bởi một số dòng hoặc phạm vi mà lệnh nên áp dụng. % có nghĩa là "tất cả các dòng". $ có nghĩa là dòng cuối cùng và một khoảng thời gian có nghĩa là dòng hiện tại. Một số có nghĩa là dòng cụ thể. Một phạm vi được viết n, m và một số có thể được thêm hoặc trừ, vì vậy. + 1, $ - 1 có nghĩa là từ dòng tiếp theo đến dòng thứ hai. Một lệnh chỉ bao gồm một số dòng đi đến dòng đó. Đây là tập hợp con nhỏ còn lại của các lệnh tôi sử dụng:

:1i¬
this text is inserted before line 1.¬
.¬
:

:w /tmp/filename¬
"/tmp/filename" [New] 2L, 49C written
:

w ghi tất cả (hoặc phạm vi đã chọn) vào một tệp.

:1d¬

xóa dòng 1.

:.s/Hello/Hello,/¬
Hello, World
:.s/$/!/¬
Hello, World!

s thay thế một biểu thức chính quy. Thật tốt khi biết các biểu thức chính quy!

:q¬
E37: No write since last change (add ! to override)

q thoát. wq viết và thoát. q! thoát mà không cần viết, và trong một tĩnh mạch tương tự, w! buộc ghi vào một tập tin nếu có thể.

Bây giờ là một trong những mát mẻ:

:p
Hello, World!
:.!tr a-z A-Z
:p
HELLO, WORLD!

! như một lệnh lọc các dòng thành một lệnh shell.

Và cuối cùng:

:vi¬

vào chế độ VISUAL. Đừng để bị lừa. Nó trông giống như một trình soạn thảo, nhưng nó vẫn chỉ là một trình lập trình tương tác. Bạn chỉ cần nhìn vào bộ đệm mọi lúc, và một vài lệnh nữa. Trong chế độ trực quan a: hiển thị dấu nhắc: từ chế độ ex. Các phím mũi tên (nếu chúng hoạt động) di chuyển xung quanh và nếu không, thì hjkl làm! h trái, j xuống, k lên và l phải. 0 di chuyển đến ký tự đầu tiên và ^ (nghĩ regex ở đây!) Đến ký tự không phải không gian đầu tiên trên dòng. $ (regex lại!) di chuyển đến cuối dòng. Gõ: 999¬ đi đến dòng 999, một cách tự nhiên, giống như trong chế độ ex.

"i" vào chế độ chèn, giờ đây sẽ chèn vào các ký tự thay vì các dòng và kết thúc bằng cách nhấn thoát thay vì ".¬". "Tôi" chèn vào đầu, "a" sau ký tự bên dưới con trỏ và "A" sau khi kết thúc dòng hiện tại. Luôn nhấn thoát khi gõ xong văn bản. "x" xóa ký tự dưới con trỏ và "D" xóa từ con trỏ đến cuối dòng. "Y" yanks (bản sao) dòng hiện tại và "P" dán lại. ": pu" thực hiện tương tự, nhưng có thể được bắt đầu bằng số dòng. ": ya" là tương đương cũ của "Y" và một lần nữa, hữu ích để áp dụng cho phạm vi dòng. Tôi nghĩ rằng cũng có một lệnh đánh dấu, nhưng tôi sẽ thừa nhận tôi không nhớ nó. Tôi không bỏ lỡ nó.

Trên đây là những gì tôi sử dụng và tôi biết có lẽ tôi không phải là người dùng vi "rất hiệu quả". Mặt khác, tôi sử dụng tính linh hoạt của ex, ví dụ để chỉnh sửa tập tin cấu hình tập tin. Cần thay đổi tên máy chủ của bạn foo.bar.com thành www.foobar.com trong một số tệp conf?

for file in conf/*
do (echo "%s/foo.bar.com/www.foobar.com/" ; echo "wq") |ex $file ; done

Điều tôi đang cố gắng nói là, tôi nghĩ vấn đề với vi là mọi người nghĩ về nó như một biên tập viên khó tính. Tất cả chỉ cần thay đổi suy nghĩ của bạn một chút và xem nó như một ngôn ngữ lập trình tương tác rất đơn giản nhưng cũng rất mạnh mẽ thay thế. Mạnh mẽ đến mức ngay cả với một tập hợp con của các lệnh có sẵn, bạn có thể sử dụng nó rất hiệu quả - không chỉ là một trình soạn thảo mà còn là một công cụ có thể tạo tập lệnh chung được tích hợp tốt với phần còn lại của Unix. Tôi nghi ngờ nano sẽ làm tất cả những điều này - emacs ... có thể.


3
Xin lỗi nhưng ... điều này không trả lời câu hỏi. OP đã yêu cầu một giải pháp thay thế cho vim và câu trả lời sẽ cung cấp điều đó.
Andrea Lazzarotto

1
Tôi khen ngợi công việc bạn đưa vào câu trả lời này, nhưng nó không thực sự trả lời câu hỏi - một hướng dẫn về và cắm cho vim hoàn toàn không thuộc về nơi này, nhưng nó hoàn toàn thuộc về blog của bạn.
con mèo

Câu trả lời này chính xác là lý do tại sao rất nhiều người yêu cầu một giải pháp thay thế cho viemacs - chúng tôi càng nói rằng họ khó chịu khi sử dụng, càng nhiều người chuyển đổi càng khăng khăng rằng chúng tôi càng cố gắng sử dụng chúng.
Shukri Adams

0

Nếu bạn muốn Sublime dựa trên thiết bị đầu cuối như trình soạn thảo văn bản có hỗ trợ chuột, hãy truy cập Micro , Slap hoặc Suplemon .

Tuy nhiên, nếu bạn đang tìm kiếm một trình soạn thảo văn bản phương thức, không tìm đâu xa ngoài Kakoune .

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.