Vim tiện hơn trên linux.
Và chỉ có bọn này chạy được trên command line
Tại sao anh em lại dùng vim / emacs?
You mean vim in linux, i am usually use it to edit config file especially config host file and edit on remote host. I think people use it for simple text editor, can use it fastly and just edit some line code which don’t need init huge editor, easy to edit even in terminal and you know mostly developer code on unix system and do everything in terminal is most interesting experience.
Xài Vim/Emacs thì có gì hơn so với xài GUI text editor?
nhẹ nhàng êm ái hơn, thích hợp quick edit
Anh em đã xài vim/emacs trong bao lâu?
vài năm, từ lúc chuyển qua xài mac os tới giờ
Khoảng sau bao lâu thì có thể học và sử dụng thành thạo cho công việc?
tuỳ bạn thành thạo ở mức nào, mình chỉ quick edit nên chỉ học và nhớ các chức năng cơ bản, ko đi sâu về tất cả các chức năng.
Làm sao có thể nhớ được các phím tắt nhanh nhất?
Làm nhiều nhớ nhiều, lúc đã xài thì cái gì cũng lôi vim ra xài, kể cả viết thư tình cho gái
Có thật là code trên Vim/Emacs sẽ nhanh hơn?
Ai xài gì quen nấy, riêng mình xài webstorms/phpstorms thì đã thuộc gần hết các phím tắt của nó nên xài sẽ nhanh hơn.
Có những tính năng gì GUI editor có mà Vim/Emacs không có?
Đầy, mình so vài cái với phpstorms nhé:
- Mở file nhanh bằng cách search tên file (fuzzy search, không cần phải gõ chính xác, tự động list các file có chứa keyword)
- Search và mở nhanh 1 hàm nào đó trong code bằng fuzzy search.
Có thể chia sẻ file config của anh em để mình tham khảo được không?
Mình chỉ xài Vim/Emacs trên server chứ ko xài thường xuyên nên ko config gì nhiều : )
Toàn dùng vi để sửa config trên linux, còn lại sublime text cũng ổn, cài thêm module sftp để transfer source từ win lên linx server.
Những tính năng này thì emacs mình cũng thấy có sẵn.
Có cái multi cursor là chưa thấy, ko biết có support không.
- Cực nhẹ
- Mình không xài chuột nên là mọi thao tác dùng bàn phím thì tiện hơn
- Free(Cái này không đúng lắm)
- dùng unix-like OS thì toàn dùng terminal là chính nên xài vim thì tiện hơn. Gõ lệnh
vim
là vim chạy ngon trên terminal không cần phải tự tìm lấy phần mềm rồi khởi động
- 3 tháng(Gợi ý dùng bởi profile của @Dark.Hades)
Có vài ngày
Dán ở đèn bàn. Cheatsheat thì phải học thuộc rồi tự kiểm tra
Nhanh vì nó nhẹ và dễ tương thích trên các máy cấu hình thấp và đỡ phải dùng chuột. Mình không thích dùng chuột vì có phần nó làm cho 1 số thao tác nó lâu la và cũng vì bài viết này: https://blog.codinghorror.com/going-commando-put-down-the-mouse/
Config được theme đẹp hơn rồi có 1 số extension tải nhanh hơn. Cái này thực sự không dám trả lời cho lắm nhưng có góp phần thôi
Mình thì nhiều thứ(Search từng cái trên github là ra nhé!):
- Vim-Plug
- Syntastic
- Darcula
- amix/vimrc
- Nerd Tree
Nói chung chỉ có thế này thôi. Mình sống đơn giản lắm!
Dĩ nhiên nếu xài Windows thì ưu tiên GUI editor rồi, cụ thể hơn là Visual Studio! Còn trên các OS khác vì dùng lệnh nhiều hơn nên họ thích xài Vim!
Vì OS không có GUI
- Vim/Emacs tập trung vào touch type, cho phép bạn không cần phải dùng đến chuột và có thể gõ code ngang với tốc độ suy nghĩ, gọi là tay nhanh >= não.
- Mình mới học hồi đầu năm thôi và tự hỏi sao đó giờ không chịu học sớm.
- 1 đến 2 tháng là đủ để quên các gui editor khác.
- Luyện tập.
- Thật.
- Gui editor tốn ram hơn, màu mè hơn và ngu hơn (vâng, ngu cũng là 1 tính năng).
- https://github.com/huyvohcmc/dotfiles
Tự config Vim cũng là cách học hiệu quả nhất cho những ai mới bắt đầu.
@mad_programmer chắc là em chưa đụng đến 1 dự án vài chục nghìn tới vài trăm nghìn dòng code đúng ko? Và đặc biệt là làm game nữa! Thành ra chưa thấy hết sức mạnh của GUI editor và kéo thả!
Khi bạn có dự án lớn sẽ có được trải nghiệm như mình, khoe tí
Dự án lớn vài trăm nghìn dòng code thì em đố anh tìm được cái editor nào nhanh hơn Vim đấy
Còn làm game muốn kéo thả thì thôi đừng xài Vim.
@mad_programmer anh muốn nói mỗi 1 product dc sinh ra để phục vụ các nhu cầu khác nhau! Nếu Vim ưu việt thế tại sao nó ko dc xài trong làm game, và ngược lại tại sao VS rất hữu dụng? VS nặng vì cái debugger của nó, nhưng lại rất hữu ích trong các dự án lớn!
Dĩ nhiên làm game là phải kéo thả! Làm game ko kéo thả đố em xong dc game lớn đấy!
PS : Tại anh thấy em chê GUI edtior dữ quá nên vào có chút ý kiến
Gui editor tốn ram hơn, màu mè hơn và ngu hơn
@hitman17528 Thì em có phủ nhận chuyện mỗi editor đều có thế mạnh riêng của nó đâu? Post này hỏi mọi người tại sao lại chọn Vim/Emacs mà, chứ đâu có hỏi tại sao lại chọn Vim/Emacs mà không chọn VS để làm game?
Câu đó hoàn toàn đúng, anh có thể xài Vim và sau đó tự so sánh.
@mad_programmer anh ko cần xài Vim cũng có thể kết luận là em nói chưa chuẩn rồi! Anh công nhận Vim mạnh và hữu dụng nhưng cũng ko thích GUI editor bị dìm quá đáng như vậy! Thêm nữa, tốc độ compile ko phải yếu tố quyết định trong 1 dự án lớn, mà nó đến từ sự hỗ trợ dev nhiều hơn! Trong mảng này thì MS làm rất tốt!
Thấy có câu chưa ổn thì người ta vào góp ý cho anh còn gì.
Windows dùng GUI editor là có nguyên nhân: đa số người dùng là dân phổ thông, không chuyên về kĩ thuật, và họ muốn giải quyết vấn đề nhanh hơn, bớt công sức, điều này cũng tương đồng vs MacOS
Còn Linux thì có vẻ dân dev, engineer, sys admin sử dụng nhiều, thành thạo command line, nên không cần GUI, đỡ tốn công sức phát triển GUI cho community
Vs lại, sức mạnh hardware ngày càng tăng thì việc GUI ngốn RAM, hay chiếm nhiều resource cũng không phải là vấn đề lớn nữa
Nên nhớ: technology for everyone, bạn phải phát triển để giúp ích cho người dùng, chứ không phải chơi đố với họ
Mình ban đầu mò VIM vì có 1 idols của mình thích VIM. Mò xong không bỏ được vì configure dotfile xong nó xịn quá <(") .Tuy nhiên không có việc VIM hơn hẳn GUI text editor vì nếu hơn thì cả thế giới tạo thêm GUI text editor để làm gì (")>. Cho nên các câu hỏi so sánh thì tùy mục đích bạn dùng nó cho việc gì. Mấy bình luận trước mình cũng đủ xịn để bạn kham thảo <(") . BTW, đối với mình nhiều khi ngồi mà có cái để gõ là mừng rồi chứ phân biệt gì xài editor gì (")> , bạn tưởng tượng dốt thuật ngu syntax và cài quài cái environment không chịu xong thì còn tâm trạng đâu mà phân biệt editor <("). vi/vim gedit notepad các kiểu chơi tất (")>
Cám ơn các bác đã chia sẻ ý kiến.
Sau 2 tháng thì mình đã học xài spacemacs và thấy nó rất ổn.
- Dùng Vim/Emacs buộc mình phải xài nhiều phím tắt. Ban đầu gõ chậm, vừa gõ vừa ráng nhớ tốc đọ code còn 1/5. Nhưng khi đã quen rồi thì sướng lắm, xài nhanh cực.
- Dùng Vim/Emacs hơi khó phần config, bản thân mình cũng phải tốn nhiều ngày để config cho nó chạy ổn. Có lẽ đây là 1 trong những khó khăn nhất với anh em mới học. Nhưng khi đã quen rồi thì nó cũng bình thuờng, thậm chí với anh em nào thích vọc thì còn thấy thích.
- Dùng Vim/Emacs bắt buộc mình phải học, phải nhớ. Nên tốc độ xử lý của não cũng nhanh hơn nhiều.
- Dùng GUI có nhiều cái tiện nhưng riêng đối với làm web thì mình nghĩ là không cần phải GUI.
- Dùng GUI hỗ trợ nhiều tính năng nhưng nhiều khi lại làm mình luời.
Mình xài đuợc rồi nhưng Vim/Emacs là cả một chân trời, mỗi ngày lại học thêm đuợc vài thứ mới.