vim - 我怎样才能让vim并排格式化矩阵

标签 vim formatting

我使用 vim 来记录我的很多日常工作。我通常会用矩阵得到很多结果。当我在一天结束时粘贴这些内容时,我有(有时)0ne 或 2 列矩阵的页面

我的问题是如何让 vim 以编程方式格式化 这个:

R) DT = data.frame(x=rnorm(6),y=rnorm(6))
R) DT
           x       y
1 -0.0007499  0.7661
2  1.5559552 -0.6664
3  0.2082094 -0.1598
4 -0.1684766 -0.0536
5  3.1014233 -0.7439
6  0.1985104  2.0415
R) DT2 = data.frame(x=rnorm(7),y=rnorm(7))
R) DT2
          x       y
1 -0.005116 -0.4388
2  2.317381  0.6597
3  0.359883  0.4770
4 -1.426220  0.4911
5  0.468820 -0.3260
6  0.626147 -0.6254
7 -1.086660  2.1973

到此:并排

R) DT = data.frame(x=rnorm(6),y=rnorm(6)) R) DT2 = data.frame(x=rnorm(7),y=rnorm(7))
R) DT                                     R) DT2
           x       y                                x       y
1 -0.0007499  0.7661                      1 -0.005116 -0.4388
2  1.5559552 -0.6664                      2  2.317381  0.6597
3  0.2082094 -0.1598                      3  0.359883  0.4770
4 -0.1684766 -0.0536                      4 -1.426220  0.4911
5  3.1014233 -0.7439                      5  0.468820 -0.3260
6  0.1985104  2.0415                      6  0.626147 -0.6254
                                          7 -1.086660  2.1973

编辑: 谢谢大家,肯特解决方案有效,奇怪的是在set ve=all之前我的C-Q不允许选择像

这样的 block
############
###############
#########
#########
#########

我无法到达第二行的最后一列(在 win XP 上使用 gvim)。

现在效果很好 我还将使用 Ingo Karkat 插件”

最佳答案

尝试以下步骤:

:set ve=all

将光标移至行首R) DT2 = data.frame(x=rnorm(7),y=rnorm(7))

C-V ,然后使用运动魔法选择第二个 block

d

将光标移动到第一行,即要粘贴第二个 block 的位置。类型p

如果您的文本始终采用该格式,您可以尝试以下映射:

:nnoremap <leader>mt :let &ve='all'<cr>gg/^R)<CR>n<c-v>G$dgg$3lp  

 

然后你可以在正常模式下输入 <leader>mt进行转换。

注意

  • 我没有 Windows 上的 vim 经验...因此您可能需要更改 Windows 逐 block 选择的映射。 <C-Q> ?不确定。

  • 我假设文件的第一行是 R)...

  • 这会将第二个 block 粘贴到位置:第一行末尾后 3 个空格,如果要调整,请更改映射中的数字 3

enter image description here

关于vim - 我怎样才能让vim并排格式化矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14601309/

相关文章:

Vim:使用制表符缩进,使用空格与 C 源文件对齐

vim - 如何使用 .vimrc 在模式之间切换?

php - 百分比显示问题

c - 为什么 printf() 格式不适用于全 0 的十进制数?

python - 无法编码/解码 pprint 输出

vim - 有直接让dein.vim安装插件的shell命令吗?

ruby - 如何在 vim 中使用正确的 ruby ?如何在 VIM 中修改 $PATH?

php - 无法让 XDebug 在 Vim 中建立连接。获取 "no attribue ' 停止'"错误

python - 在列表上迭代格式字符串

python - 打开 .csv 文件编辑一个字段,写回 .csv 文件