2012-04-02 25 views
5

Có thể thêm một số dòng nhất định vào lựa chọn trực quan thông qua lệnh EX-mode không?Thêm các dòng để lựa chọn trực quan qua Ex-Mode

Tôi có văn bản trong các hình thức sau đây:

+----------+-----------+ 
| Some text| other text| 
+----------+-----------+ 
| More text|| 
| And even more || 
| - ...|| 
+----------+-----------+ 

Và tôi muốn các văn bản sẽ được hiển thị như thế này:

+---------------+------------+ 
| Some text  | other text | 
+---------------+------------+ 
| More text  |   | 
| And even more |   | 
| - ...   |   | 
+---------------+------------+ 

Sử dụng các plugin bảng khi tôi xóa các dòng với + qua công việc sau đây hoạt động:

g!/+/d 
// Visually select the remaining lines 
Tab /| 
// Manually insert the +----+----+ lines 

Tôi đã tự hỏi liệu có cách nào để giữ phân định ines và chọn trực quan các dòng không chứa + qua EX-Mode như :g!/+/ add-line-to-visual-selection.

+2

Có một plugin [multiselect] (http://www.vim.org/scripts/script.php?script_id=953), nhưng tôi không nghĩ rằng Vim hỗ trợ các lựa chọn không tiếp giáp, nếu không. (Tôi không thể nói liệu Tabular có chơi tốt với plugin này hay không) – Xophmeister

+0

Đó là những gì tôi nghĩ khi không có ': h Visual' và': h range' bật lên một cái gì đó hữu ích - tôi thực sự không thể nghĩ ra một trường hợp khác đã từng bỏ lỡ chức năng đó để tôi có thể sống bằng phương pháp cũ. – BergmannF

+0

Đây có thể là một câu hỏi ngu ngốc (SSH của tôi hiện không hoạt động), nhưng điều gì sẽ xảy ra nếu bạn chọn toàn bộ bảng và 'Tab \ |'? Nếu Tabular vặn các đường phân cách lên, có thể bạn có thể sử dụng một số kiểu xác nhận phản diện tiêu cực trong tham số, vì vậy nó bỏ qua các dòng đó. – Xophmeister

Trả lời

3

Bạn có thể sử dụng:

:Tab /|\|+/l1 
:<range>g/+/s/ /-/g 

Bạn có thể tìm sự giúp đỡ cho \| trong :help /\| trở lên trên toàn cầu :help pattern, nó là cách tiêu chuẩn để bày tỏ sự làm thay đổi Vim Regular Expressions. Vì vậy, /|\|+/ là mẫu có dấu phân cách khớp với | hoặc +. (Đọc toàn bộ số :help pattern có lợi tức đầu tư tuyệt vời, FYI).

Liên quan đến /l1 trong plugin Tabular, bạn có thể đọc trợ giúp của plugin sâu hơn, nó sẽ thêm dấu cách sau dấu phân tách và văn bản căn trái.

Các vấn đề liên quan