Trong ipython> = 0,11, lệnh% paste được yêu cầu để dán các lệnh thụt lề. Tuy nhiên, nếu tôi chạy một vỏ ipython trong một thiết bị đầu cuối từ xa, bộ đệm% dán đề cập đến là trên máy từ xa thay vì máy cục bộ. Có cách nào để khắc phục điều này?ipython:% dán qua kết nối ssh
Trả lời
Tôi nghĩ rằng đây chính xác là những gì %cpaste
là dành cho (Tôi luôn quên tất cả những thứ mà IPython thực hiện). %cpaste
nhập trạng thái cho phép bạn dán mã đã được định dạng hoặc thụt lề và nó sẽ bỏ dấu đầu dòng và lời nhắc, vì vậy bạn có thể sao chép/dán mã thụt lề từ tệp hoặc thậm chí từ phiên Python tương tác bao gồm >>>
hoặc In [1]
hàng đầu. .
có lấy '% cpaste' từ bộ đệm cục bộ hoặc từ xa không? – keflavich
địa phương (cho người dùng, không cho IPython). '% cpaste' nhập vào một chế độ ngăn chặn tất cả các công cụ tự động, vv, do đó việc dán mã thông thường sẽ hoạt động. Nó không kéo trực tiếp từ clipboard, như '% paste'. Vì vậy, nếu bạn làm '% cpaste''
Không phải là một giải pháp tuyệt vời, nhưng tôi nghĩ rằng điều này sẽ làm việc:
Sử dụng %autoindent
để tắt autoindenting, gõ if True:
và nhấn Enter. Sau đó dán mã thụt vào của bạn.
Tôi nghĩ rằng có thể viết phần mở rộng IPython để xử lý tốt hơn. Tôi sẽ cố gắng tìm kiếm nó. Tôi đã thực hiện an issue.
Nếu bạn sử dụng IPython rất nhiều, bạn có thể muốn cấu trúc kernel/client mới hoạt động - có thể tunnel các kết nối qua SSH, vì vậy bạn có thể sử dụng giao diện điều khiển Qt trên máy cục bộ, nhân trên máy chủ. Nhưng điều đó có thể mất một chút không quan trọng để có được tại chỗ.
Lý do dán thường xuyên bị rối tung lên là nó về cơ bản mô phỏng gõ từng ký tự thông qua thiết bị đầu cuối. Nó là không thể phát hiện cho dù đây là đánh máy hoặc dán thực, do đó, IPython sẽ tự động một dòng, sau đó thụt đầu dòng dán của bạn đến sau đó. Điều này sẽ chỉ là thụt lề thêm nếu dán của bạn là hai dòng, nhưng nó sẽ thực sự là không chính xác trong hầu hết các trường hợp. – minrk
Cảm ơn Thomas. Nó không hoàn toàn là một giải pháp, nhưng thừa nhận rằng đây là một lỗi (hoặc ít nhất có thể được nghĩ như vậy) là đủ. Bây giờ tôi sẽ gắn bó với cách giải quyết mà bạn cung cấp. – keflavich
- 1. Kết nối SSH Java
- 2. Kết nối với máy chủ MySQL qua SSH trong PHP
- 3. Kết nối SSH với Java
- 4. SSH Tunnel cho Python MySQLdb kết nối
- 5. Simple SSH kết nối với JSch
- 6. Kết nối SSH với Python 3.0
- 7. ssh qua vỏ emacs?
- 8. Sử dụng tệp PPK trong Mac Terminal để kết nối với kết nối từ xa qua SSH
- 9. Ghi nhật ký chi tiết cho kết nối svn ssh
- 10. Pexpect - im lặng đầu ra kết nối ssh
- 11. Có thể tmux ngăn kết nối ssh từ xa
- 12. Chuyển tệp qua ssh
- 13. Subclipse + SVNKit giữ yêu cầu thông tin đăng nhập khi kết nối thông qua svn + ssh
- 14. PHP kết nối qua đường hầm SSH tới LDAP trong mạng khác
- 15. Có thể đọc R từ một tệp thông qua kết nối ssh không?
- 16. MySQLDump tới máy cục bộ từ máy chủ từ xa được kết nối qua SSH
- 17. Amazon AWS EC2 Instance - Không thể kết nối với SSH
- 18. qua ssh
- 19. Kết nối SVN + SSH đưa ra lỗi 210002, kết nối mạng đóng bất ngờ
- 20. Tìm số cổng hiện đang kết nối SSH
- 21. Có thể kết nối SSH bằng JavaScript không?
- 22. cách giảm giá trị thời gian chờ kết nối ssh
- 23. Kết nối với amazon ec2 instance với ssh - timeout
- 24. Kết nối WiFi qua android
- 25. Truy cập LDAP qua đường hầm SSH
- 26. Truyền tệp qua SSH
- 27. máy chủ ssh kết nối với máy chủ cổng xxx 22: Kết nối đã hết thời gian trên linux-ubuntu
- 28. Tôi có thể liên kết tên người dùng ssh với cam kết với git qua ssh không?
- 29. Cách kết nối với Sybase qua PHP
- 30. Kết nối Apache Ant FTP qua TLS
Tôi vừa mới nhớ có phép thuật '% cpaste'. Điều đó mang lại cho bạn không gian để dán vào, và bạn có thể chỉ cần thêm '--' trên một dòng để dừng và chạy mã bạn đã dán. –
Vui lòng chuyển câu trả lời thành '% cpaste', đó là giải pháp tốt hơn. Cảm ơn –