开发者

How do I insert a specific character along all lines on a specific column in Vim?

开发者 https://www.devze.com 2023-03-08 02:28 出处:网络
Dates ======= Name| Date ------------------------------------------------- * Battle of the Plains of Abraham| September 13, 1759
 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

I want to be able to insert that bar character without having to manually go and insert it. While this is not syntactically correct, this is supposed to be markdown.


I'm only a beginner, but here's what I do:

  • C-v to enter Visual Block (Use C-q on windows)
  • Select column (motion keys hjkl)
  • I
  • Enter text
  • Esc


%s/$/                                        /
v/|/s/^\(........................................\)/\1|/
%s/  *$//

Some notes:

  • You will need a : in front of each line if you are in vi's normal visual mode
  • Alternatively, you can put those commands in a command file and type $ ex file < cmds but in that case add an x as the fourth line
  • This works by appending blanks to each line, then changing the right one to a | for lines that don't already have a |, and then deleting any trailing blanks
0

精彩评论

暂无评论...
验证码 换一张
取 消