Làm cách nào để đặt vim làm trình chỉnh sửa bên ngoài trong FarManager và truyền tên đường dẫn đầy đủ?


7

Tôi đang cố gắng định cấu hình VIM làm trình chỉnh sửa bên ngoài của mình trong quản lý tập tin xa . Tôi muốn có thể chọn nhiều mục trong một thư mục, một số là thư mục và có chúng đường dẫn đầy đủ truyền vào dòng lệnh vim.

Cập nhật: Để làm rõ chính xác những gì tôi muốn làm. Tôi muốn có thể chọn nhiều tệp trong một bảng như vậy:

Far Manager Screen Capture

và đã mở vim như thế này:

"C:\Program Files\Vim\vim73\vim.exe"  c:\src\TalkMaterials "c:\src\abba 1.txt" "c:\src\abba 3.txt"

Điều này sẽ mở tất cả các tập tin trong các bộ đệm khác nhau.


Chỉ cần chắc chắn: bạn đang cố gắng làm gì: mở một tệp hoặc một vài tệp được chọn? !@AFQ! là về một số tệp đã chọn mà tên được ghi vào tệp tạm thời X. Tên X được gửi đến Vim trong dòng lệnh. Tệp X chứa tên tệp đã chọn, được trích dẫn (!), Tôi vừa kiểm tra điều này. Mọi thứ có vẻ đúng. Vì vậy, những gì là sai trong trường hợp của bạn?
Roman Kuzmin

1
Ít nhất là đưa ra một ví dụ về một dòng lệnh chính xác (những gì bạn muốn nhận) và cho biết những gì bạn thực sự nhận được từ Far.
Roman Kuzmin

1
Có lẽ nó nên được gắn lại vào thẻ hiện có far-manager.
Roman Kuzmin

Một vài giải pháp sử dụng các tệp bó được đề xuất tại đây: forum.farmanager.com/viewtopic.php?f=36&t=5851
Roman Kuzmin

Câu trả lời:


2

Tôi đã tìm thấy giải pháp thực hiện chính xác những gì bạn đang yêu cầu. Nhưng nó yêu cầu trình cắm FarNet và mô-đun PowerShellFar của nó:

http://code.google.com.vn/p/farnet/

Họ cũng cần cài đặt .NET 2.0+ và Windows PowerShell 2.0. Đây đã là trường hợp trên Windows 7 nhưng các phiên bản Windows trước đó không may mắn như vậy. Bên cạnh đó, PowerShell 2.0 chỉ dành cho Windows XP SP 3 trở lên (thậm chí không phải SP 2).

Nếu bạn chưa sợ thì đây là mẹo. Trong lệnh biên tập bên ngoài, chúng tôi gọi PowerShellFar thông qua tiền tố dòng lệnh của nó "& gt;:"

>: & vim @(Get-FarPath -Selected) #

Đó là nó. Nó hoạt động, tôi đã thử nó (không phải với vim, mặc dù, tôi không có). Nó rất nhanh, nó không khởi động PowerShell mỗi lần; lõi được tải một lần khi Far bắt đầu.

Lưu ý: '#' cuối cùng trong lệnh là một quy ước PowerShellFar nhỏ: không thêm vào các lệnh lịch sử lệnh liên tục với '#' ở cuối. Lệnh này là để mở trình soạn thảo bên ngoài, nó được viết một lần và chúng tôi không muốn nó làm ô nhiễm lịch sử của các lệnh khác được gõ thủ công.

P.S. Tôi là tác giả của cả FarNet và PowerShellFar, chỉ trong trường hợp. Họ là nguồn mở, trưởng thành và mạnh mẽ. Tôi muốn giới thiệu chúng trong mọi trường hợp, theo như bạn sử dụng Far Manager và Windows gần đây có tất cả các điều kiện tiên quyết cho các công cụ này.


Điều đó thực sự hữu ích. Nó sẽ không hoạt động trên máy chủ windows 2008 của tôi vì không phải R2, nhưng nó hoạt động trên tất cả các máy trạm của tôi.
Justin Dearing

2

Gần nhất tôi có thể đến là vim! & amp; điều này tạo ra dòng lệnh sau

"C:\Program Files\Vim\vim73\vim.exe"  TalkMaterials "abba 1.txt" "abba 3.txt"

Điều đó dường như chỉ hoạt động tốt, nhưng dù sao tôi cũng muốn các đường dẫn đầy đủ được chuyển đến vim. Trước khi chấp nhận câu trả lời của riêng tôi, tôi muốn xem liệu có cách nào để vượt qua tất cả các đường dẫn đầy đủ đến vim không.


Có lẽ bạn nên chấp nhận câu trả lời của riêng bạn. Theo sự giúp đỡ của Far, không có tính năng "biểu tượng đặc biệt" nào như một danh sách các đường dẫn đầy đủ. Hãy thử đặt câu hỏi này tại diễn đàn Far, tôi có thể bỏ lỡ điều gì đó. Hỏi chính xác về một danh sách các đường dẫn đầy đủ của một số tệp được chọn.
Roman Kuzmin

Tôi đã thực hiện một yêu cầu tính năng cho điều này trong bọ ngựa lỗi.farmanager.com / view.php? id = 1585 và tôi cũng đã hỏi trên diễn đàn. forum.farmanager.com/
Justin Dearing
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.