在vim中编辑柱状数据

在vim中编辑柱状数据
Data

Name                     Age
Madhavan                 29
saravana<Tab Press>      !

我如何在 vim 中以表格方式编辑这些数据?

当我从第 3 行第 1 列按 Tab 键时,光标必须移动到感叹号位置。

注意:感叹号只是我希望光标移动的标记位置,它不是真正的字符。

这可以使用 emacs 中的组织表模式来完成,但有时有点矫枉过正。

所以我正在寻找 vim/shell 中更简单的方法?

答案1

  1. 将光标移动到要在其之前插入文本的最上面的字符(如果您选择向下的行,如果选择向上的行,则移动到底部)
  2. 按 Ctrl+v 进入可视块模式(除非您将粘贴操作映射到它,在这种情况下您可能已经知道如何列插入)
  3. 使用箭头键选择列,然后
  4. 按 Shift+i(切换到插入模式)
  5. 输入要插入的文本(仅显示在第一行)
  6. 按 esc 两次。如果您想删除文本,请按照步骤 1 到 3 进行操作,只需选择要删除的所有文本,然后按 x 即可完成!

注意:如果您需要更具体的功能,您可以搜索vim插件,如果您想要更多解决方案,其他选择是将xx列导出到其他文件中(使用cut或awk)。

答案2

你可以这样做:

$vim +number_line file

并按Shift+后A。或者,您也可以执行此操作/word_to_find,然后按i进行编辑。

答案3

你想要穿过每个单元格。因此,在正常模式下,w或b命令将帮助您向前或向后移动每个单词。

要在插入模式下获得相同的设施,您可以使用map。

    :imap  <Tab> <Esc>wi

将其放入命令行中。

编辑时,可以按 Tab 键移动到下一个单元格。我所做的映射将从插入模式中退出,然后前进到下一个单词(w),然后更改为插入模式。

相关内容