2011-11-27 135 views
6

如何繪製垂直線而不是逐個打印?如何在VIM中繪製線條?

例如,我想在第10列中爲20行設置一條垂直線。就像我的第一行。 我該如何巧妙地做到這一點?

enter image description here

回答

12

首先,設置virtualedit=all,讓自己導航過去行的末尾:

:set virtualedit=all 

則...

10|<C-V>20jr| 

其中:

  • 10|:移動你到屏幕欄10
  • ctrl+V:進入嵌段視覺模式
  • 20j:移動你向下20行(調整適量)
  • r|:替換與酒吧
+1

非常感謝。它的工作原理非常詳細。 – CCC

+0

@iask:不客氣。 – Johnsyweb

1

這似乎是一個VIM插件做你正在尋找什麼:

http://www.vim.org/scripts/script.php?script_id=40

我還沒有嘗試過自己。

+0

爲什麼-4票呢? –

+5

因爲最初我發佈了一個assinine評論和人們得罪了... –

+0

+1體育道德和紀律。另外,該課程的腳本需要提及。 – sehe

2

下面是一個替代解決方案,以使設置virtualedit=all選擇20行與|在塔10:

  1. 開始在Normal模式,使一個例子線,例如10i<space><esc>r|
    • 10i空間將插入空間十次,然後按ESC隨後r|Y
    • 在正常使用|
  2. 複製整行替換的最後一個字符模式下,將複製的行粘貼20次20p
    • 這將粘貼複製的近期線以下20次,給你一共有21條相同的線

總之:

10i<space><esc>r|Y20p