2012-09-15 21 views
6

Tôi đã sử dụng vim để chỉnh sửa mã một thời gian và bây giờ tôi muốn sử dụng nó hiệu quả để lập trình trong Standard ML. Trong emacs người ta có thể sử dụng chế độ sml cho phép một để mở Intramr SML (Moscow ML trong trường hợp của tôi) trong một bộ đệm và tải các tập tin thực tế.Mở và thực thi tệp trong trình thông dịch SML từ bên trong Vim

Có thể chạy trình thông dịch của Moscow ML và tải tệp thực tế từ trong vim không?

Trả lời

4

Điều tôi làm là, tôi có lệnh :make được đặt để chạy tệp ở Moscow ML. Điều này có thể được thực hiện bằng cách thêm dòng sau vào .vimrc của bạn:

" SML make code {{{ 
autocmd FileType sml setlocal makeprg=rlwrap\ mosml\ -P\ full\ '%' 
" }}} 

Sau đó, bạn chỉ cần gõ :make trong khi ở một đệm SML, và nó sẽ chạy mã thông qua Moscow ML cho bạn. (rlwrap cải thiện REPL một chút, bằng cách mở rộng nó bằng chức năng readline.)

+0

Cảm ơn, nó hoạt động mặc dù đầu ra trong dấu nhắc tương tác được in trước đầu vào (không có dấu nhắc '-' khi nhập một trong hai). Bạn có biết nếu nó có thể có mosml mở trong một cửa sổ phân chia/đệm (hoặc bất cứ điều gì nó được gọi là)? –

+0

Bạn có thể sử dụng Conque, nhưng tôi không quá ấn tượng với nó. Xem http://stackoverflow.com/questions/1236563/how-to-run-a-terminal-inside-of-vim –