2012-04-03 38 views
8

Xin chào Tôi là người mới dùng Linux và tôi thực sự thích ý tưởng viết và thử nghiệm mã python trong một trình bao. Nhưng vấn đề của tôi là làm thế nào tôi có thể làm ngắt dòng trong IPython. Mỗi lần tôi sử dụng phím tắt (tôi nghĩ) "bình thường" + nhập mã sẽ được thực thi. Các phím chức năng bị tắt và bố trí bàn phím hoạt động tốt trên máy tính xách tay của tôi, điều gì có thể là vấn đề?Linux - Linebreak trong IPython

Trả lời

5

Không có vấn đề gì. Mã Python được thực thi theo từng dòng.

Nếu mã của bạn không hoạt động khi được thực hiện từng dòng, nó sẽ không hoạt động khi được tải từ tệp (giả sử trong cả hai trường hợp là môi trường "sạch").

+0

Cảm ơn trả lời @Marcin! Nếu tôi muốn viết một chức năng hoặc một cái gì đó tương tự trong Ipython tôi cần nhiều hơn một dòng để mô tả nó đúng cách (thụt đầu dòng) hoặc tôi là sai? Khi tôi gửi 'def myfunction:' tới trình biên dịch luôn xuất hiện lỗi. – tecmec

+2

@ danny Đó là một lỗi vì 'def myfunction:' không phải là python hợp lệ ở bất cứ đâu. – Marcin

+0

Ahh bạn nói đúng! 'def myfunction():', Sry I'm new to python too;) – tecmec

6

Nếu bạn muốn thực hiện ngắt dòng, bạn kết thúc dòng với ký tự thoát \, giống như bạn làm trong tệp Python. Shift+Enter không có bất kỳ ý nghĩa đặc biệt nào trong ipython và thực sự là hầu hết các địa điểm trong trình bao. Nó cũng không có ý nghĩa đặc biệt trong Python.

Nó có ý nghĩa đặc biệt trong một số trình soạn thảo văn bản và xử lý văn bản, đáng chú ý nhất là LyX và LibreOffice, và tất nhiên trên một số trang web (thông qua trình duyệt web).

16

Tôi chỉ đi qua một giải pháp, đăng bởi Kenneth Falck: IPython newlines with ^V^J

Trong khi chỉnh sửa nhiều dòng mã khối sử dụng Ctrl+V CTRL+J

+1

Cảm ơn! Điều này đã giết chết tôi khi cố gắng chỉnh sửa các khối trước trong IPython. – ShawnFumo

+2

FYI: trong một chương trình đầu cuối như iTerm2, bạn có thể gán điều này cho một phím nóng. Tôi đặt ctrl-enter thành "Send hex codes" của 0x16 0x0a. Cũng có thể sử dụng cmd-enter hoặc bất cứ điều gì khác là thoải mái nhất cho bạn. – ShawnFumo

+0

Sự cố này đã loại bỏ ipython trong một thời gian. Bây giờ tôi trở lại! Cảm ơn bạn! –