Как вставить определенный символ вдоль всех строк в определенном столбце в Vim? - PullRequest
12 голосов
/ 23 мая 2011
 Dates
=======

 Name                                   | Date
-------------------------------------------------
* Battle of the Plains of Abraham       | September 13, 1759
* Proclamation Act                      | October   07, 1763
* Stamp Act                             | March     22, 1765
* Guy Carleton becomes Governor         | April     07, 1766
* Boston Tea Party                      | December  16, 1773
* Quebec Act                            |
* Declaration of Independance           | <====== # How do I insert this bar character
* Treaty of Paris                                 # along the whole column?
* Constitutional Act                
* French Revolution                 
* War of 1812

Я хочу иметь возможность вставлять этот символ панели без необходимости вручную идти и вставлять его.Хотя это не является синтаксически правильным, предполагается, что это уценка.

Ответы [ 2 ]

19 голосов
/ 23 мая 2011

Я только новичок, но вот что я делаю:

  • C-v для ввода Visual Block (используйте C-q в окнах)
  • Выбрать столбец (клавиши управления движением hjkl)
  • I
  • Ввод текста
  • Esc
4 голосов
/ 23 мая 2011
%s/$/                                        /
v/|/s/^\(........................................\)/\1|/
%s/  *$//

Некоторые заметки:

  • Вам понадобится : перед каждой строкой, если вы находитесь в обычном визуальном режиме vi
  • В качестве альтернативы, вы можете поместить эти команды в командный файл и набрать $ ex file < cmds, но в этом случае добавить x в качестве четвертой строки
  • Это работает, добавляя пробелы к каждой строке, затем заменяя правильную на | для строк, у которых еще нет знака |, а затем удаляются все завершающие пробелы
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...