Data
Name Age
Madhavan 29
saravana<Tab Press> !
我如何在 vim 中以表格方式编辑这些数据?
当我从第 3 行第 1 列按 Tab 键时,光标必须移动到感叹号位置。
注意:感叹号只是我希望光标移动的标记位置,它不是真正的字符。
这可以使用 emacs 中的组织表模式来完成,但有时有点矫枉过正。
所以我正在寻找 vim/shell 中更简单的方法?
答案1
- 将光标移动到要在其之前插入文本的最上面的字符(如果您选择向下的行,如果选择向上的行,则移动到底部)
- 按 Ctrl+v 进入可视块模式(除非您将粘贴操作映射到它,在这种情况下您可能已经知道如何列插入)
- 使用箭头键选择列,然后
- 按 Shift+i(切换到插入模式)
- 输入要插入的文本(仅显示在第一行)
- 按 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),然后更改为插入模式。