Bật tính năng đánh dấu cú pháp Vim theo mặc định


121

Tôi biết cách bật và tắt tô sáng cú pháp trong vim bằng cách chạy điều này trong trình chỉnh sửa:

:syntax on/off

Nhưng tôi muốn đánh dấu cú pháp được bật theo mặc định, vì vậy tôi không phải bật nó mỗi khi chạy vim.

Làm thế nào để tôi làm điều này?


2
Có lẽ chuyển sang Vim Stack Exchange?
QuantumFool

Câu trả lời:


178

Chỉnh sửa $HOME/.vimrc(Unix / Linux / OSX) hoặc $HOME/_vimrc(Windows) của bạn để bao gồm dòng sau:

syntax on

BIÊN TẬP

Nếu đánh dấu cú pháp của bạn không hoạt động khi bạn khởi động Vim, có thể bạn không có $HOME/.vimrchoặc $HOME/_vimrc(được gọi chung là vimrctừ bây giờ). Trong trường hợp đó, bạn có hai lựa chọn:

  • Tạo khoảng trống vimrc.
  • Sao chép vimrc_example.vimnhư của bạn vimrc(được đề xuất, cảm ơn @oyenamit). Bạn có thể tìm thấy vimrc_example.vimtrong thư mục thời gian chạy.

Vị trí của thư mục thời gian chạy khác nhau giữa các hệ điều hành:

  • Trên hệ thống của tôi (Arch Linux và Mac, cảm ơn @totophe), nó ở trong /usr/share/vim/vim73.
  • Trên Windows, nó có trong \Program Files\Vim\vim73.

1
Tôi không thể tìm thấy .vimrc, tôi đang sử dụng máy mac chạy Lion. Tôi có thể tìm .viminfo
lilroo

7
Nếu không có, bạn có thể tạo nó. Chỉ cần gõ: e ~ / .vimrc vào vim, gõ vào dòng và lưu (: w).
Ilmo Euro

6
@lilroo Mặc dù điều này giải quyết được vấn đề của bạn, nhưng tôi khuyên bạn không nên tạo vimrc từ đầu. Thay vào đó, hãy lấy vimrc mẫu từ vị trí sau: /Application/MacVim.app/Contents/Resources/vim/runtime/vimrc_example.vim. Sao chép tệp này vào $ HOME của bạn dưới dạng .vimrc. Nó tự động chuyển đổi nhiều thứ cơ bản cho bạn (cú pháp, đánh dấu tìm kiếm, sao lưu, v.v.). Sau đó, bạn có thể điều chỉnh nó dựa trên nhu cầu của bạn.
oyenamit

3
Có sự khác biệt nào giữa syntax onsyntax enable?
Sonique

4
@Sonique syntax enablegiữ cài đặt màu của bạn, syntax onghi đè chúng ( :help :syn-on).
Ilmo Euro

8

Ngoài ra, để đánh dấu LOẠI cú pháp cụ thể (hoặc ngôn ngữ lập trình) trong tệp, bạn có thể sử dụng các lệnh sau, trong khi tệp đã được mở trong Vim:

:set filetype=php

HOẶC phím tắt:

:se ft=php

Các lệnh trên sẽ thay đổi tô sáng cú pháp của tệp hiện tại như thể tô sáng Mã PHP.


6

Bỏ chú thích "cú pháp trên" trong tệp vimrc.

Di chuyển đến thư mục,

cd /etc/vim/

vim vimrc

bây giờ tìm kiếm "cú pháp" và bỏ ghi chú nó. Lưu nó và mở lại tệp trong vim.


1
Cách tốt nhất cho tôi. Tks. Nếu bạn không có syntaxchỉ cần thêm syntax enable,. Sau đó source vimrc. Bạn có nó vĩnh viễn để sử dụng sau này
Ender phan

3

Đối với bất kỳ ai vào đây do sử dụng TurnKeyLinux vim-tinymà chưa bật mô-đun cú pháp, hãy thử bài viết này để cài đặt đầy đủvim

http://www.turnkeylinux.org/forum/support/20140108/solved-bash-command-not-found- after-replacing-package

tl; dr

# apt-get remove vim-tiny
# apt-get install vim
# hash vim
# vim

1
FWIW kể từ v14.0, bạn chỉ có thể cài đặt vim và tất cả đều hoạt động như bạn mong đợi (bất kể bạn có gỡ cài đặt vim-tiny hay không). Đó là một lỗi trong cách vim-tiny được cấu hình để chạy dưới dạng 'vim'. Bây giờ nó cập nhật các con đường nhị phân đúng cách ...
Jeremy Davis

1

Tôi cũng thấy rằng đây là một trong những bài học trong vimtutor.

Để tìm nó, bạn có thể nhập lệnh vimtutortrong Terminal (tôi đã sử dụng trên Mac) và cuộn xuống để xem có bài học nào được gọi là CREATE A STARTUP SCRIPT(đối với tôi là Bài 7.2), nơi nó mô tả cách thiết lập vimrctệp ban đầu hay không .


Tôi gặp rắc rối với điều này. Chạy hướng dẫn đã ổn mặc dù tôi không có bộ $ VIMRUNTIME nên tôi không biết vimrc_example.vim này được lưu trữ ở đâu.
Nebbles

0

Trong của tôi, $HOME/.vimrctôi tải một bảng màu (phân cực) và nhận thấy rằng tôi cần phải đặt syntax on sau khi tải plugin. Nếu trước khi tải plugin, nó không hoạt động.

" this turns syntax highlighting on by default

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'lifepillar/vim-solarized8'

syntax on
" this does not turn syntax highlighting on by default

syntax on

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'lifepillar/vim-solarized8'
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.