VIM 001

Nguồn:

VIM là gì

VIM là một text editor (trình soạn thảo văn bản) được tạo ra bởi Bram Moolenaar và phát hành phiên bản đầu tiên vào năm 1991. Dựa vào trình soạn thảo văn bản vi. Vim được thiết kế để sử dụng ở các chế độ dòng lệnh lẫn chế độ đồ họa (graphical user interface). Vim là phần mền miễn phí mã nguồn mở.

Mặc dù Vim được phát hành cho máy tính Amiga (một loại máy tính từ năm 1980!), Vim vẫn còn được phát triển cho nhiều nền tảng. Năm 2006, nó được chọn là editor phổ biến nhất do các độc giả của tờ Linux Journal.

Tại sao nên dùng VIM

Đây là một trong những video giới thiệu về VIM, bạn hãy xem và tìm câu trả lời cho mình 7 Habits For Effective Text Editing 2.0.

Nếu bạn xem hết video này (hơn 1 tiếng 20 phút), có thể bạn sẽ không cần đọc tiếp loạt bài này nữa ^-^. Nếu bạn không đủ kiên nhẫn để xem hết video này, có lẽ một trong những chuyên gia của Google đang khuyên các chuyên gia khác dùng VIM là một lý do khá thuyết phục rồi. Bạn hãy đọc loạt bài này (có lẽ đơn giản hơn xem video :D), và sau đó nên xem video này coi như là một phần tổng kết.

Giới thiệu vậy là đủ rồi. Bắt đầu nào >>>

Các chế độ trong VIM

Có 3 chế độ trong VIM

  • Chế độ chèn (Insert Mode): Mọi ký tự nhận từ bàn phím sẽ được thêm vào văn bản
  • Chế độ lệnh (Command Mode): Mọi ký tự nhận từ bàn phím sẽ được thực hiện như các lệnh
  • Chế độ Visual (Visual Mode): Cho phép chọn các ký tự, thường được xem như là một chế độ hỗ trợ cho chế độ lệnh

Các chế độ trong VIM

Hình trên cho thấy cách chuyển từ 3 chế độ trong VIM.

  • Để chuyển từ chế độ chèn sang chế độ lệnh, ấn phím Esc
  • Để chuyển từ chế độ lệnh sang chế độ chèn, ấn một trong các phím i, a, I, A
  • Để chuyển từ chế độ lệnh sang chế độ Visual, ấn một trong các phím v, V, <Ctrl + v>
  • Để chuyển từ chế độ Visual sang chế độ lệnh, ấn phím Esc

> Thực hành

  • Bước 1: Gõ VIM my_doc trong Terminal để vào VIM
  • Bước 2: Bạn đang ở chế độ lệnh, nhấn a để chuyển sang chế độ chèn
  • Bước 3: Gõ what + Enter + the + Enter + hell + Enter
  • Bước 4: Ấn Esc để trở về chế độ lệnh
  • Bước 5: Ấn :wq để lưu văn bản my_doc và thoát
  • Bước 6: Làm bất cứ thứ gì bạn thích với vim và … comment
Advertisements

4 thoughts on “VIM 001

  1. Theo như sư phụ search ở đây http://stackoverflow.com/questions/1159206/difference-between-vi-vim, thì mọi tính năng của bạn vi, bạn vim đều có cả. Ngoài ra bạn vim còn có một số chức năng nữa:
    – Vim has been ported to a much wider range of OS’s than vi. –> (hỗ trợ nhiều hệ điều hành hơn)
    – Vim includes support (syntax highlighting, code folding, etc) for several popular programming languages (C/C++, Python, Perl, shell, etc). –> (có phần syntax hightlight, code folding…) cho một số ngôn ngữ lập trình
    – Vim integrates with cscope. –> tích hợp với cscope (cái này không biết là cái gì)
    – Vim can be used to edit files using network protocols like SSH and HTTP. –> có thể sử dụng để chỉnh sửa các file sử dụng các giao thức mạng như SSH và HTTP
    – Vim includes multilevel undo/redo. –> hỗ trợ tính năng undo/redo nhiều lần
    – Vim allows the screen to be split for editing multiple files. –> cho phép chia màn hình để chỉnh sử nhiều file một lúc
    – Vim can edit files inside a compressed archive (gzip, zip, tar, etc). –> có thể chỉnh sửa các file trong các file nén (gzip, zip, tar,..)
    – Vim includes a built in diff for comparing files (vimdiff). –> có lệnh so sánh sự khác biết giữa 2 file
    – Vim includes support for plugins, and finer control over config and startup files. –> hỗ trợ các plugins và cho phép cấu hình tốt hơn qua các file config và startup
    – Vim can be scripted with vimscript, or with an external scripting language (e.g. python, perl, shell). –> có thể tạo các script

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s